Windows-DLL-Injector
Windows-DLL-Injector copied to clipboard
đ A Windows dynamic-link library injection tool written in C++20. It can inject a dynamic-link library into a running process by its window title or create a new process with an injection.
Windows Dynamic-Link Library Injector
Languages
Introduction
Dll-Injector is a Windows dynamic-link library injection tool written in C++20. It can inject a .dll
file into a running process by searching its window title or create a new process with an injection.
Getting Started
Warning
The project does not contain building configuration files, the source code can be built manually with Visual Studio 2022.
Prerequisites
The project need to configure on/for Windows 32-bit.
Usage
Dll-Injector [-f <proc-path> | <win-title>] <dll-path>
Inject a Dynamic-Link Library Into a Running Process
To inject a .dll
file into a running process, you need to specify the window title of the target process and the path of the .dll
file. If dll-path
is a relative path, it must be relative to the Dll-Injector.exe
.
Dll-Injector <win-title> <dll-path>
For example, inject the dllmain_msg.dll
(assume it is in the same directory as Dll-Injector) into Windows Calculator:
Dll-Injector Calculator dllmain_msg.dll
Create a New Process With an Injection
To create a new process with an injection, you must enable the -f
option firstly and then specify the paths of the target process and the .dll
file. If dll-path
is a relative path, it must be relative to the process file.
Dll-Injector -f <proc-path> <dll-path>
Documents
Code comments follow Doxygen specification.
Class Diagram
classDiagram
class Injector {
<<interface>>
+Inject()
}
class RunningInjector {
-string win_title
-string dll_path
}
Injector <|.. RunningInjector
class StartupInjector {
-string proc_path
-string dll_path
+Running() bool
+Terminate()
}
Injector <|.. StartupInjector
License
Distributed under the MIT License. See LICENSE
for more information.