github bbfox0703/AOBMaker-Release v20261108
AOBMaker v20261108

one hour ago

AOBMaker v20261108

AOBMaker: an AutoAssembler script generator for Cheat Engine (Avalonia UI + CE plugin).

About this release

A bug-fix release, build 160. Most fixes are in the code cave: how the instructions that the jump overwrites are copied, and how the Auto Script blocks (Multiplier, Clamp, Conditional Gate) save and restore registers and flags. When a copy cannot be made safely, AOBMaker now refuses the script w/ one reason line, instead of writing a script that does the wrong thing. No new features.

  • The CE plugin did not change. If you already use the plugin of v20261001, you do not need to copy it again.
  • Generate these again: Mode A / B scripts, x86 scripts, and scripts w/ Multiplier, Clamp or Conditional Gate.

Fixed

  • Mode A / B, copied instructions: CE's reassemble() rebuilt some instructions wrong w/o an error (it dropped a lock or rep prefix, or changed the operand size of shl [m],cl, dec [m], crc32). Instructions that do not depend on their address are now copied byte for byte w/ readmem. The forms CE cannot rebuild are refused.
  • A copied branch that jumps into the overwritten bytes: the code cave jumped into the middle of the patch and the game crashed. The script is now refused.
  • Copied branches and memory operands: je short X could jump to the wrong place; module names w/ spaces, dots or hyphens could make CE reject the script, or name another module. Fixed.
  • x86, an address inside a module ([ecx+game.exe+2000], push game.exe+110E3A8): the AOB now wildcards it, and the copy follows the module when it moves. When an Auto Script writes that address into the code cave, the AOB keeps it, so the script only switches on where the address is still right.
  • Multiplier: packed SIMD Friend/Foe and Directional cover more patterns; 8-bit registers are handled; XMM registers are saved w/o an alignment requirement (a crash on some x86 stacks); a prologue register save such as mov [rsp+08],rbx is refused, w/ the reason in the script.
  • Clamp, Threshold clamp, Field clamp: the game's flags are kept when the bounds leave the value unchanged; inverted float bounds are refused; a field w/ a different width than the instruction is refused.
  • Conditional Gate and Offset symbols: the gate is decided once, also when the instruction or another block writes the field; Offset symbols no longer change the flags.
  • AA code migration: the generator's own copies and data blocks are recognized, so a migrated script no longer runs an overwritten instruction twice.

Known issues

  • Multiplier "Neg check" on a mov [m],reg injection point: the check keeps the wrong direction, so damage may not be multiplied. Workaround: turn off Neg check there.
  • Multiplier on an 8-bit or 16-bit value: a negative change is read as a large positive one, so the result is wrong. Workaround: inject where the game writes the full 32-bit value.
  • Clamp w/ a Derived bound, when the hooked instruction overwrites its own base register (mov eax,[rax+664]): the bound is read from the wrong address. Workaround: use a Constant bound there.
  • Mode E / F, x86, a module address w/ a register: CE prints a constant that falls inside a module as module+X too, and nobody can tell it from an address. The copy keeps CE's text, and a comment line above it says so. Check that line after a game update.

ℹ️ The code review continues. More low-priority issues may still exist; fixes continue in the next releases.

⚠ If anything regresses for you, fall back to v20261001.

Setup

  • Unzip anywhere. No installer, no runtime to install.
  • Run AOBMaker.UI.exe. Unprotected games usually work w/o admin. If attach or memory reads fail, run it as administrator.
  • (optional) Copy AOBMaker_CEPlugin.dll into your Cheat Engine folder, then enable it in CE: Settings → Plugins.
  • See User-Guide.md in the archive for details.

The exe is unsigned. Windows SmartScreen or antivirus may warn on first run. Double check the download w/ the included .sha256.

Don't miss a new AOBMaker-Release release

NewReleases is sending notifications on new releases.