PRs welcome — bug fixes, new cheats for existing games, or support for a new game's Mono/IL2CPP/Unreal layout.
- Fork, branch off
master. - Read
CODEBASE_MAP.mdfirst. It's written for someone picking this up cold — the layer map, the fourCheatTargetkinds, the nine patch modes, and the non-negotiable safety rules (never displace a RIP-relative instruction, never guess on an ambiguous signature, always restore on quit) — and why each of those rules exists. Read it before touchingnative/srcorpatchEngine.tsespecially; several of those rules were learned by crashing a live game. - Match the surrounding code's comment density and idiom — this codebase explains why, not just what, and PRs are expected to keep that up.
- Run the full test suite before opening the PR:
The native test harness is real but limited — a static MSVC binary, not a Mono JIT target — so passing there is necessary but not sufficient for anything touching signatures, injection, or code-cave layout. Say in the PR if you validated a change in-game and against which game/build.
npx vitest run npx tsc --noEmit npm run build
- Open the PR against
masterwith a clear "what and why." Small, focused PRs review faster than one that bundles an unrelated refactor with a feature.
Adding a game profile? See README's "Contributing a profile to this repo" — get it verified in-game first, keep the file schema-2 shaped, and note the game version/build a module-anchored patch was captured against.
Found a bug but not fixing it yourself? Use the bug report template — include the game, the cheat (if applicable), and what you expected vs. what happened.
By participating in this project you agree to abide by its Code of Conduct.