v0.2.1 — AOB injection fix + 32-bit/WoW64/Wine support
Cheat Engine for Linux v0.2.1
A correctness release headlined by a fix that makes AOB injection scripts actually work, plus 32-bit / WoW64 / Wine support and cheat-table inline editing.
Headline fix: AOB injection scripts
aobscanmodule(INJECT, game, <pattern>) + INJECT: jmp newmem silently failed to patch its target. The auto-assembler's label pre-pass did not include the aobscan family, so a phantom label(INJECT) shadowed the scanned address with a zero-address forward label. The hook and stolen bytes went into the code cave instead of over the target instruction, while execute() still reported success.
The result name of aobscan / aobscanmodule / aobscanregion / aobscanall now resolves to the scanned address when used as an injection label. Verified end-to-end on 64-bit no-PIE, 64-bit PIE (ASLR), and 32-bit targets, guarded by a regression test.
Since v0.2.0
- 32-bit code injection (WoW64) and Wine / Proton module enumeration with correct bitness, so
aobscanmodule(name, game.exe, ...)resolves against the right module. - Cheat-table inline editing: edit an entry's address with the full expression syntax (hex, symbol, module+offset,
[pointer]+off), and edit auto-assembler scripts in place (saved back to the same entry). - ptrace self-conflict fix, pre-filled injection templates from the memory browser, syntax-highlighted AA scripts, and a live scan progress bar.
Repository
This project is now a single self-contained repository: Lua 5.3 is vendored and built from source, so it compiles offline with no upstream Cheat Engine checkout. Full per-version history is in CHANGELOG.md.
Single-player and reverse-engineering focus; this release does not target multiplayer anti-cheat. The CheatEngine-x86_64.AppImage asset below is built by CI.