An injector that fetches version.json from a webserver, downloads a dll and injects it into the game.
To setup the build environment, run the following commands in your preferred terminal.
git clone https://github.com/Yimura/Injector.git --recurse
cd Injector
premake5 vs2019
Get premake5 from here.
Then afterwards open Injector.sln and start coding.
This injector has 2 ways of functioning:
- Remote mode (webserver required)
- Local mode (inject without webserver)
If you only wish to use the local features just ignore this step and skip to Injector settings.
Requirements:
- Webserver
In the root of your webserver create a file called version.json
, this file will tell our Injector what to do and if it should download a dll.
{
"file": "menu.dll", // path to the dll file on the webserver starting from the root / is prefixed in the binary
"version": "0.1.3", // human readable version number
"version_machine": 13 // version number that the injector will compare against
}
If you run the injector for the first time and no settings.json
is present in the folder from which you executed the Injector it will create an example file.
{
"application_mode": 0,
"injection_direction": 0,
"local": {
"file": "./some_dll.dll"
},
"target_application": "wordpad.exe",
"web_server": {
"dll_provider": "http://example.com",
"file": "latest.dll",
"version": -1
}
}
Name | Description | Value |
---|---|---|
application_mode |
If the injector runs locally or with a remote server. | WEB_SERVER=0 & LOCAL=1 |
target_application |
The process name of the application to inject into. | string |
local.file |
The local path to a DLL. | string |
web_server.dll_provider |
Web Server origin. | string |
web_server.file |
The file name to save the DLL to locally. | string |
web_server.version |
Machine version integer to compare with the remote version. | int |
injection_direction is currently not implemented, but still exists for future API.
That's it.