v7.1.0 — In-process hook installation + dead code cleanup
The fix
Hook installation rewritten: hooks are now installed in-process via injected shellcode (CreateRemoteThread + VirtualProtect + memory write from a game thread), not via external WriteProcessMemory. The game's integrity scanner catches external writes to .text — it does not catch writes made by the game's own threads. This is the same mechanism the SQL cheats (which never crash) have always used.
What was cleaned up
- 516 lines of dead code removed from
RuntimeHookEngine(old CRC bypass, integrity patches, value encryption, thread-suspension timer — none of it was being called since v6.6.0). - Non-functional Data-Only section removed (profile values are encrypted at rest — external writes can't set them).
RuntimeHookEngine: 1,365 → 991 lines (27% smaller, no dead code).
How to test
- Download, extract, run as Administrator.
- Start Forza Horizon 6, load fully into the world.
- Attach, enable a cheat (e.g., Drift Score Multiplier).
- Does the game crash? If NOT → the in-process installation evaded the scanner.
- Does the cheat take effect?
What works / what doesn't
- SQL cheats (Free Cars, Autoshow, Add All Cars, etc.) — always worked, still work.
- Profile hooks (Credits, Wheelspins, Skill Points, Drift, etc.) — this version tests whether in-process hook installation survives the scanner. If it does, these should work without crashing.
- Data-Only section — removed (profile values are encrypted at rest; external writes can't set them).
This is a pre-release. Please report: crash or no crash, which cheats worked, game version + platform.