A set of in-process plugin DLLs for a game client. Every variant is built from a single Visual Studio C++ project that compiles one DLL at a time, so the variants are mutually exclusive builds of the same project and only one is loaded at once. Once injected, a plugin resolves a base pointer, scans the host code for byte patterns, and hooks the located code to change the game's behaviour at runtime.
Written: ~2021-2023
Language: C++ (MSVC) and Assembly (MASM)
Each subfolder holds one variant's dllmain.cpp plus its matching main.asm. Every variant ships with the target process name and all byte patterns cleared, those have to be filled back in before building.
| Variant | What it does |
|---|---|
| main-menu | The main menu with all of the options included. |
| speedhack | A standalone speedhack built on the same template as the main menu. |
| private-server | A speed and fly hack build for an older client. |
| auto-combat | The same template as the main menu with speed and fly hack, plus extra manipulation of in game functions to move the player through auto combat. |
Only the variant sources are included. The build also needs the following, vendored under deps/ in the original project.
- Plugin loader SDK (
pluginsdk.h, SDK 3.1) , defines theVersionandPluginInfostructs and theGPluginInfocontract between the DLL and the host loader. - Microsoft Detours (4.0.1) , the hook install and commit (
DetourTransactionBegin,DetourAttach,DetourTransactionCommit). Built from source underdeps/Detours. - xorstr (Justas Masiulis, Apache 2.0) , compile time string encryption via
xorstr_(...). The AVX path is disabled withJM_XORSTR_DISABLE_AVX_INTRINSICS. - PE module helper (
pe/module.h) ,pe::get_module(), segment and section walking,as_bytes(), andrva_to<T>(), used to grab the code section for scanning. - pattern searcher (
searchers.h) , thepattern_searcherAoB scanner used withstd::search. - SimpleIni (brofield) ,
CSimpleIniA, parses each variant'soptions.ini. Used by every variant except auto-combat. - Microsoft GSL (
gsl/span) , a non owning span view, pulled in transitively by the PE module and pattern searcher headers. - Native NT API (
ntdll.lib, phnt style headers) ,NtCurrentPeb(),NtCurrentThread(), and PEB access used for anti debug and base address logic. - Windows SDK ,
comdef.hand the usual platform headers.
These are sources copied as is from the original Visual Studio project, cleaned up for publication. The target process names, module names, byte patterns, pointer chains, and any key material have been cleared or replaced with placeholders and commented as such. They are specific to one application build and have to be supplied again for the project to do anything.
Most of these variants started as separate experiments that were later folded into the menu. They live alongside this project in the parent folder.
- auto-assembler-scripts , the Cheat Engine Auto Assembler (
.CEA) prototypes the assembly here was ported from, including the speed, fly, and quest scripts in both x86 and x64 form. - hardware-license-keygen-cpp , generates the machine bound keys that the main-menu key check validates.
- process-affinity-changer-cpp , the CPU affinity and priority logic that main-menu applies on startup.
- vigenere-cipher-cpp , the cipher behind the encrypted data files the main-menu automation thread reads.