ytk2128/dll-merger

A simple tool for merging DLLs into executables with PEB-invisible mapping.

C++

287

11 commits

updated Jan 9, 2025

See the code

README

🔗 DLL Merger

A simple tool that embeds DLLs into Windows 32-bit PE executables, along with a loader that manually maps the DLLs into memory instead of using LoadLibrary, making the loaded DLLs invisible in the PEB (Process Environment Block).

Principle of merging

executable before merging executable after merging

How to build

  1. git clone https://github.com/ytk2128/dll-merger.git --recurse-submodules
  2. Open src/merger.sln
  3. Build the solution

Demonstration

  1. Run merger.exe procexp.exe MyDLL.dll
  2. Execute the created procexp.exe_out.exe
  3. Note that MyDLL.dll is invisibly loaded in the procexp.exe_out.exe

Contributors

ytk2128

11 commits

Languages

C++

100.0%

ytk2128/dll-merger

A simple tool for merging DLLs into executables with PEB-invisible mapping.

C++

287

11 commits

updated Jan 9, 2025

See the code

README

🔗 DLL Merger

A simple tool that embeds DLLs into Windows 32-bit PE executables, along with a loader that manually maps the DLLs into memory instead of using LoadLibrary, making the loaded DLLs invisible in the PEB (Process Environment Block).

Principle of merging

executable before merging executable after merging

How to build

  1. git clone https://github.com/ytk2128/dll-merger.git --recurse-submodules
  2. Open src/merger.sln
  3. Build the solution

Demonstration

  1. Run merger.exe procexp.exe MyDLL.dll
  2. Execute the created procexp.exe_out.exe
  3. Note that MyDLL.dll is invisibly loaded in the procexp.exe_out.exe

Contributors

ytk2128

11 commits

Languages

C++

100.0%