Dark Load Library : Load Library For Offensive Operations

Dark Load Library is a tool to Load Library for offensive operations.

Usage

DARKMODULE DarkModule = DarkLoadLibrary(
LOAD_LOCAL_FILE, // control flags
L”TestDLL.dll”, // local dll path, if loading from disk
NULL, // DLL Buffer to load from if loading from memory
0, // dll size if loading from memory
NULL // dll name if loaded from memory
);

Control Flags

  • LOAD_LOCAL_FILE – Load a DLL from the file system.
  • LOAD_MEMORY – Load a DLL from a buffer.
  • NO_LINK – Don’t link this module to the PEB, just execute it.

DLL Path

This can be any path that CreateFile will open.

DLL Buffer

This argument is only needed when LOAD_MEMORY is set. In that case this argument should be the buffer containing the DLL.

DLL Size

This argument is only needed when LOAD_MEMORY is set. In that case this argument should be the size of the buffer containing the DLL.

DLL Name

This argument is only needed when LOAD_MEMORY is set. In that case this argument should be the name which the DLL should be set in the PEB under.

Considerations

The windows loader is very complex and can handle all the edge case’s and intricacies of loading DLLs. There are going to be edge case’s which I have not had the time to discover, reverse engineer and implement. So there’s going to be DLLs that this loader simply will not work with.

That being said I plan on making this loader as complete as possible, so please open issue’s for DLLs that are not correctly loaded.

R K

Recent Posts

Kali Linux Commands Cheat Sheet: Complete Quick Reference

This cheat sheet covers the essential Kali Linux commands every pentester and ethical hacker uses…

2 weeks ago

What I Wish I Knew Before Learning Malware Analysis and Reverse Engineering

When I first started learning malware analysis and reverse engineering, I thought the hardest part…

2 weeks ago

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

4 weeks ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

4 weeks ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

4 weeks ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

4 weeks ago