Features • Installation • Usage • Technical Overview • Changelog • Troubleshooting • Contributing
- ✅ Manual PID search by process name (case-insensitive)
- 🔧 Dynamic path input for any DLL
- 💡 Unicode support (
LoadLibraryW) - 📦 Clean and portable C++ codebase (MSVC-ready)
- 📜 MIT License — free to use and modify
- 🧠 Good for learning injection & WinAPI basics
- Clone the repository or download latest release
- Open project in Visual Studio (or other C++ IDE)
- Build as:
x64if target process is 64-bitx86if target process is 32-bit
- Make sure your DLL is compiled in the correct architecture to match the target
> Injector.exe🧾 The injector will prompt you to:
- Enter target process name (e.g.
notepad.exe) - Enter full DLL path (absolute, e.g.
C:\MyStuff\hook.dll) - If process and path are valid — injection will occur via
CreateRemoteThread.
Upon success:
✅ “DLL Injected successfully!”
This injector uses the classic and well-documented LoadLibrary injection technique, implemented through:
CreateToolhelp32Snapshot()→ to iterate through system processesVirtualAllocEx()→ to allocate memory in target processWriteProcessMemory()→ to copy DLL path to remote memoryCreateRemoteThread()→ to launchLoadLibraryWin target process context
Architecture-aware:
- The injector must match the bitness (x86/x64) of the target process.
- Will fail silently or crash otherwise.
- Uses
LoadLibraryWfor full compatibility with Unicode paths. - If needed, you can easily switch to
LoadLibraryA.
v1.0.0 — Initial stable release
- Added dynamic process lookup by name
- Switched to Unicode-based injection (
LoadLibraryW) - Improved input prompts and user experience
- Clean exit and error handling
- Modular and readable source
-
❌ "Injection failed" or no output?
- Ensure your DLL exists and is compiled for correct architecture
- Run injector as Administrator
- Check antivirus or Windows Defender blocking
CreateRemoteThread
-
❌ Target process not found?
- Use full name including extension (e.g.
chrome.exe) - Process might be running with elevated privileges — run injector as admin
- Use full name including extension (e.g.
Contributions, suggestions and forks are welcome.
If you have an idea to extend this injector (e.g., auto-elevate, manual map, reflective loader, etc.) — open a pull request or issue.
This tool is provided for educational purposes only.
By using this code, you take full responsibility for how it is used.
The developer is not responsible for any misuse, legal consequences or damages.
