This is a tool written in Rust for injecting DLLs into running Windows processes. It utilizes a classic DLL injection technique and includes robust error handling and detailed logging of its operation.
With a DLL in hand and a target process selected, you can use this tool to inject the DLL into the process. The technique used follows this general structure:
-
Allocate memory into the target process's address space using
VirtualAllocEx. -
Write the DLL path into the process's address space with
WriteProcessMemory. -
Create a remote thread in the target process using
CreateRemoteThreadand within this thread, runLoadLibraryAto load your DLL.
This tool allows you to specify either the target process name or the target process ID as well as the path to the DLL and the path to the log file.
Examples
injector.exe -n "notepad" -d "my_dll.dll"
injector.exe -p 2334 -d "this_dll.dll" -l "C:\\Users\\Public\\injector.log"An example of the extensive logging the injector gives
A clip of Process Explorer showing the moment the DLL gets injected
Before you begin, ensure you have met the following requirements.
Prerequisites
-
Rust programming language: Download and isntall from the official site.
-
Cargo package manager: This comes pre-installed when you install Rust.
Build From Source
- Clone the repository
git clone https://github.com/Quin-Darcy/injector.git- Build the project
cd injector
cargo build --release-
Add to PATH
On Windows, you can add the full path to the executable in your system's PATH environment variable. Assuming you've cloned the repository into
C:\Projects\injector-
Type
Win+rto open the Run window. -
Enter
systempropertiesadvanced. -
In the System Properties window, click on "Environment Variables ...".
-
Under the "System variables" section, find the "Path" variable, and click on "Edit."
-
Click "New" and add the new path:
C:\Projects\injector\target\release -
Click "OK" to save.
-
Don't know what to inject? Might I recommend this great tool which uses Tera for templating and generates a custom DLL designed to hook any Windows API of your choice! The tool gives you a robust .rs file which you only need to fill in the generic hook function included in the template. Everything else is done for you! It also gives you a complete Cargo.toml and everything is nicely tucked in its own directory.
Now, open a new Command Prompt and you should be able to use injector as a command.

