Skip to content

irp24/PerfectLoader

Repository files navigation

PerfectLoader

A Windows DLL and shellcode injection tool with a Direct3D 11 GUI, built entirely in C.
All NT syscall wrappers are resolved dynamically at runtime from ntdll.dll — no static imports of Zw/Nt APIs.

Platform Language GUI Arch License


Features

Injection

  • Manual Map (reflective PE)
  • SetWindowsHookEx
  • Shellcode

Execution

  • NtCreateThreadEx
  • QueueUserAPC
  • Thread Hijack

Allocation

  • ZwAllocateVirtualMemory
  • NtMapViewOfSection
  • RWX Cave Hunt

PLRing3 Config Struct

The GUI wires everything automatically. To use the engine headlessly, populate the global PLRing3 struct and call inject():

PLRing3.hTargetProcess  = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
PLRing3.method          = PL_METHOD_MANUAL_MAP;
PLRing3.execMethod      = PL_EXEC_NT_CREATE_THREAD_EX;
PLRing3.allocMethod     = PL_ALLOC_ZW_ALLOCATE;
PLRing3.iatMode         = PL_IAT_LOADLIBRARY;
strncpy(PLRing3.libraryPath, "C:\\path\\to\\payload.dll", MAX_PATH - 1);

inject();



The logging sink defaults to printf. Redirect it to your own function before calling inject():

pl_log = my_log_function;

Building

Open PerfectLoader.sln and build in Release or Debug configuration.

[!NOTE] The project links against ntdll.lib for type resolution only. All actual Zw/Nt function addresses are resolved at runtime via GetProcAddress through ResolveZwApi().


Usage

  1. Run PerfectLoader.exe as Administrator
  2. Enter or browse for the DLL path (not required for shellcode mode)
  3. Select the Target Process from the dropdown or type the process name
  4. Choose an Injection Method, Execution Method, and Allocation Method
  5. SetWindowsHookEx only — enter the name of the exported hook procedure in your DLL
  6. Shellcode only — paste your payload in \xNN, 0xNN, or bare hex format
  7. Click INJECT

⚠️ Disclaimer

This project is intended for educational and research purposes only (e.g., malware analysis, security research in controlled environments). Do not use against systems you do not own or have explicit permission to test.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors