This was originally a normal dll injector using the Windows API but it was not working on Microsoft Store applications (UWP) so I made this injector. This works on both UWP applications and normal applications.
Please make sure your DLL is on a hard drive with an NTFS file system. You will not be able to see the Security
tab otherwise. Look at the DLL Setup Permissions section to see how to set up the security permissions of your DLL.
You can get the pre-compiled "Release" here
-
List all processes: Run the following command to list all process IDs (PIDs).
dll_injector.exe list
This will return a list of all PIDs currently running on your system.
-
Get PID of a running executable: If you know the name of an executable and it's currently running, you can get its PID by running:
dll_injector.exe pid <file.exe>
Replace
<file.exe>
with the name of the running executable. This will return 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. Use the following command:
dll_injector.exe inject <pid> <payload.dll>
Replace
<pid>
with the PID of the target process and<payload.dll>
with the path to the DLL you want to inject.Example:
dll_injector.exe inject 1234 C:/path/to/your/payload.dll
-
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_uwp
-
Navigate to the project folder: Change the current directory to the project's root folder by running:
cd dll_injector_uwp-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.
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.
For now you have to do this manually until I set this to be done automatically
- Right-click the
.dll
file you want to inject. - Click the
Security
tab. - Click
Edit
next toTo change permissions, click Edit:
- Click
Add
and typeAll
in the box calledEnter the objects names to select (examples):
- Click OK
- Make sure it has
Read & execute
andRead
enabled
You can read more here