explaingit

28zaaky/shdwldr

Analysis updated 2026-05-18

25CAudience · developerComplexity · 5/5Setup · hard

TLDR

A tool that loads code packages into memory on Windows without using the normal system loader, designed to avoid detection by security monitoring tools. Built for 64-bit Windows only.

Mindmap

mindmap
  root((repo))
    What it does
      Loads DLL from memory
      Skips Windows loader
      Avoids detection
    Stealth techniques
      Hash-based API lookup
      Direct system calls
      Bypasses security monitors
    Tech stack
      C language
      MinGW-w64 toolchain
      x64 architecture only
    Use cases
      Security testing
      Offensive security
      Red team exercises
    Limitations
      x64 only
      No module list entry
      Debug info to remove

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Load custom security tools into memory while avoiding detection by antivirus and monitoring software.

USE CASE 2

Test how well endpoint detection systems catch non-standard code loading techniques.

USE CASE 3

Build red team tooling that needs to run code on Windows without leaving traces in the module list.

USE CASE 4

Research Windows internals like structured exception handling and thread-local storage callbacks.

What is it built with?

CMinGW-w64Windows x64

How does it compare?

28zaaky/shdwldrcodemagic-ci-cd/codemagic-patchdivision-36/z-jail
Stars252525
LanguageCCC
Setup difficultyhardhardmoderate
Complexity5/54/53/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires a Linux environment with MinGW-w64 cross-compilation toolchain and understanding of Windows internals for proper usage.

In plain English

ShadowLdr is a reflective DLL loader for 64-bit Windows. A DLL is a package of code that programs load at runtime. Normally, Windows handles this loading step automatically through its built-in loader. ShadowLdr skips that built-in loader and maps a DLL directly from memory instead. This matters for security tools and offensive security work, where avoiding the normal loading process helps evade detection. The project is written in C and built for the x64 architecture only. The loader uses several techniques to stay stealthy. It resolves Windows API functions using hash-based lookups instead of storing readable function names, which avoids leaving plaintext strings in the binary. It uses direct system calls through a combination of approaches called Hell's Gate, Halos Gate, and Tartarus Gate, including logic to recover from hooked system call stubs. It sets memory permissions per section, runs thread-local storage callbacks and slot allocation before the DLL's main entry point, and registers exception handling tables for x64 structured exception handling. It also includes bypasses for AMSI and ETW, two Windows security monitoring features, and erases the DLL header after loading. Building the project requires a cross-compilation toolchain targeting Windows from a Linux environment. The README provides compiler commands using the MinGW-w64 toolchain. A specific file alignment flag is required so that the DLL can run from a raw memory buffer using RIP-relative addressing. The usage example shows allocating executable memory, copying a raw DLL into it, and calling an exported reflective loader function to map and initialize it. The README notes some limitations. It works only on x64 and does not add an entry to the loaded module list, which is intentional for stealth. Module stomping is disabled because certain Windows behavior on version 10 and later would trigger the DLL entry point prematurely. A debug export contains runtime telemetry like system service numbers and allocation methods, and should be removed for production use. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Help me set up a MinGW-w64 cross-compilation environment on Linux to build a Windows x64 project that requires specific file alignment flags for RIP-relative addressing.
Prompt 2
Write a C function that allocates executable memory, copies a raw DLL buffer into it, and calls an exported reflective loader function to map and initialize it on Windows x64.
Prompt 3
Explain how Hell's Gate, Halos Gate, and Tartarus Gate techniques work together for making direct system calls, including how to recover from hooked system call stubs.
Prompt 4
Show me how to resolve Windows API functions using hash-based lookups instead of storing plaintext function names in a C binary.
Prompt 5
Help me implement bypasses for AMSI and ETW in a C project targeting Windows x64, and explain what each bypass does.

Frequently asked questions

What is shdwldr?

A tool that loads code packages into memory on Windows without using the normal system loader, designed to avoid detection by security monitoring tools. Built for 64-bit Windows only.

What language is shdwldr written in?

Mainly C. The stack also includes C, MinGW-w64, Windows x64.

How hard is shdwldr to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is shdwldr for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.