A simple DLL injector coded in Rust. This tool is designed for regular Windows applications. If you need to inject a DLL into a UWP process, consider using my dll_injector_uwp.
This tool can be used to list all process IDs (PIDs), retrieve the PID of a running executable, and to inject a DLL into a process. Here's how to use each feature:
-
List all processes: To list all PIDs, run the following command:
dll_injector.exe list
This command will output a list of all PIDs currently running on your system.
-
Get PID of a running executable: If you know the name of a running executable, you can retrieve its PID by using:
dll_injector.exe pid <file.exe>
Replace
<file.exe>
with the name of the running executable. This command will output the PID of the specified executable.Example:
dll_injector.exe pid notepad.exe
-
Inject a DLL into a process: To inject a DLL into a process, you need the PID of the target process and the path to the DLL you want to inject. Here's the command to use:
dll_injector.exe <pid> <payload.dll>
Replace
<pid>
with the PID of the target process and<payload.dll>
with the path to the DLL you wish to inject.Example:
dll_injector.exe 1234 C:/path/to/your/payload.dll
This is a command-line application, so all inputs (arguments) should be passed in the command line. Run the command-line as administrator if you have any issues.
-
Clone the repository: Run the following command in the terminal to download the source code to your local machine.
git clone https://github.com/kimjongbing/dll_injector
-
Navigate to the project folder: Change the current directory to the project's root folder by running:
cd dll_injector-main
-
Compile the project: Build the project in release mode by running the following command in the root directory of the project.
cargo build --release
-
Navigate to the build output: Change directory to where the built executable is located by running:
cd ./target/release
-
Run the executable: Start the application by running
dll_injector.exe
. Upon execution, the console will display usage instructions. You can then provide the necessary arguments based on what you want to do.