DLL Injector
A free, open-source tool to inject a DLL into a running process, hook and modify WinAPI calls at runtime, check exported functions and unload DLLs - built for developers, QA, reverse engineers and security researchers doing authorized testing.
A direct tool for DLL injection and WinAPI hooking
DLL Injector brings the essential process-instrumentation workflow into one desktop interface for Windows: choose a process, load a DLL, configure a hook for a supported WinAPI function, check results and clean up - without forcing every task through custom scripts or scattered low-level utilities.
It assumes technical intent and is made for developers, QA engineers, reverse engineers, security researchers working in isolated labs, students of Windows internals and power users who need a practical tool for legitimate DLL testing on owned or authorized systems.
What it does
Inject a DLL into a running process
Select a running process, choose a DLL file and inject it straight from the desktop interface. Processes are listed by name and PID, so picking the right target is faster and less error-prone than working with raw process IDs.
See running processes in a visual grid
Active processes appear in a clear grid with names and PIDs, plus a per-process menu for the available actions. Reload the list when process state changes - no separate PID lookup tool required.
Hook supported WinAPI functions
Configure hooks for selected API functions to test how a process behaves when file, registry, memory, process or library-loading calls are intercepted in a controlled environment.
Modify call parameters at runtime
For supported hooks, edit parameters such as paths, buffers, handles and access flags, and choose whether a call is passed through or blocked. Redirect a file path, block a delete, change a buffer or alter registry data while the process runs.
Check whether a function is present
The Utils menu can check a target process for a specific exported function. Confirm a function is available before attempting deeper testing, instead of finding out only after a failed hook.
Unload DLLs from target processes
List the modules loaded in a selected process and attempt to unload a chosen DLL. Useful during iterative development when a DLL needs to be removed, rebuilt and re-tested without restarting the whole workflow.
A desktop workflow, not one-off scripts
Repetitive tasks - select a process, choose a DLL, inject, configure a hook, check results and clean up - live in one interface instead of scattered command-line utilities and throwaway scripts.
Open source and inspectable
The project is open source, so developers and researchers can read the implementation, verify what the application does and decide whether it fits their own test environment before running it.
How a session works
The same flow every time: pick a process, choose an action, configure it, run it and clean up. The screenshots above show the process grid, the hook configuration dialog and the unhook step.
Launch and load the process list
Open the app and let it populate the list of running processes. Use the reload option whenever process state changes.
Select the target process
Choose a process from the visual grid. Each entry shows the process name and PID, so the target is easy to identify.
Choose and configure the action
Pick Inject DLL, Utils, Unload Dll or Hook. Select a DLL file, enter a function name, choose a supported hook, or edit its parameters and block/pass behavior.
Run, then clean up
Apply the injection or hook and observe the process. When you are done, unhook functions and unload the DLL so the target is left in a clean state.
Supported WinAPI hooks
DLL Injector can hook 17 API functions across six categories. For supported hooks you can inspect and edit parameters such as match_path and lpFileName, and choose whether a call is passed through or blocked.
File operations
-
CreateFileW -
ReadFile -
WriteFile -
DeleteFileW -
MoveFileW -
CopyFileW -
CreateDirectoryW -
RemoveDirectoryW
Observe or change file reads, writes, copies, moves and deletes, plus directory creation and removal - for example redirect a path or block a delete.
Registry operations
-
RegSetValueExW -
RegCreateKeyExW
Watch registry keys being created and values being written, and test how an application reacts when that data is changed.
Process operations
-
OpenProcess -
CreateProcessW -
CreateRemoteThread
See processes being opened, launched, and injected into through remote-thread creation.
Memory
-
VirtualAllocEx
Detect memory being allocated inside other processes during runtime.
Library loading
-
GetProcAddress -
LoadLibraryW
See which libraries a process loads and which exported functions it resolves.
Process termination
-
ExitProcess
Intercept a process exit request to study or control how termination is handled.
Hook notes
- Hooks are configured after a DLL is injected into the target process.
- Editable parameters let you redirect paths, change buffers, alter registry data or block selected operations.
- Each hook can pass a call through unchanged or block it, depending on what you are testing.
- Always unhook functions and unload modules before detaching - some hooks require a process restart if not removed cleanly.
Download and install
dll-injector.zip
WINDOWS · v1.0The full desktop app: visual process grid, DLL injection, 17 WinAPI hooks, runtime parameter editing, exported-function checks and DLL unloading. Built with Flutter and C++ for 64-bit Windows 10 and 11.
Download dll-injector.zipAntivirus or SmartScreen may flag injection tooling - this is expected for this class of software.
Before you start
Download the archive
Get dll-injector.zip from the card above. It is the genuine release file published on GitHub - nothing is repackaged.
Extract the files
Unzip the archive into a folder you control and keep the extracted files together. Allow it through SmartScreen or antivirus only if you trust the source.
Run the application
Launch the executable. Run it as administrator when you need to target processes running at a higher integrity level.
Authorized, responsible use
DLL Injector should only be used on systems and processes where you have permission. Run it in a dedicated test environment, unhook and unload before detaching, and never use it to tamper with software you don't own or to bypass protections, licensing, anti-cheat or security tools.
Authorized targets only
Inject into and hook only processes you own or are explicitly authorized to test. Injection and API hooking can destabilize software and trigger security controls when used carelessly.
Open source and inspectable
Because the project is open source, you can review exactly what the application does before running it - an advantage over closed, single-purpose injectors.
Use isolated lab environments
For untrusted code or malware analysis, work inside a virtual machine or disposable lab system with controlled networking. Avoid production and personal machines.