MemJect
Simple dll injector designed to load dll from memory. Supports PE header and entry point erasure. Written in C99.
Features
- load dll from byte array in memory, without storing dll file on disk
- decrypt encrypted dll buffer
- erase DLLEntryPoint
- erase PE header
Getting started
Prerequisites
C99 compiler for Windows is required in order to compile MemJect. Microsoft Visual Studio is required to load solution for easy compilation (MemJect.sln).
Cloning
The very first step in order to compile MemJect is to clone this repo from GitHub to your local computer. Git is required to step futher, if not installed download it here. Open git bash / git cmd / cmd and enter following command:
git clone https://github.com/danielkrupinski/MemJect.git
MemJect
folder should have been succesfully created, containing all the source files.
Compiling from source
When you have equiped a copy of source code, next step is opening MemJect.sln in Microsoft Visual Studio. If you don't have Visual Studio, compile MemJect.cpp using your compilator.
Find below line in MemJect.cpp and replace csgo.exe with your destination process name:
#define PROCESS_NAME "csgo.exe"
Find below line in MemJect.cpp and supply your dll in form of byte array there.
You can use my python script to convert dll to array of bytes or almost any hex-editor with export to C
function.
static const uint8_t binary[] = {
0x4d, 0x5a, 0x80, 0x00, 0x01, ...
Then change build configuration to Release | x86
and simply press Build solution.
If everything went right you should receive MemJect.exe
binary file.