MyInjector is a dll injection tool, to force a program to load your dll module.
The UI should be quite self-explainary. You can select your injection target process by "drag and drop" a finder to the target's windows, just like the following
Then you select the injection method and click 'confirm'
We break the injection procedure into serveral "parts", and each part has a few selection of methods. For example, to access your target process, you can choose:
- Legitimate windows API, such as OpenProcess() and WriteProcessMemory()
- Duplicating a existing handle to your target
- Using a kernel module's assistant
Once you have the accesss to your target, you can gain a chance of code execution under your target's context, by one of the following means:
- Using API CreateRemoteThread()
- Using API QueueUserAPC()
- Using a internal Windows machenism, Process Instrument Callback
And when your code get a chance of execution, your code's entry point could be one of the followings:
- LoadLibrary()
- LDRLoadDLL()
- A piece of shellcode to load your dll manaully, without the OS's assistance
You can combine these injection "parts" to build your own injection methods.
Currrently, a few injection options listed in the software's UI are still under constrcution. However, they should be implemeted in the near future.
To use kernel mode injection methods, you should place KernelCorridor.sys under this tool's directory. KernelCorridor.sys can be found at here(https://github.com/CubicStone31/KernelCorridor).
I make this project just for fun, for learning .Net GUI development and for practicing many known dll inject technology.