Skip to content

beta108.9b

Pre-release
Pre-release

Choose a tag to compare

@tomvita tomvita released this 15 Aug 06:32

(This note covers all changes since 108.8.15)

AOB Reliability Update

This release revises Breeze's Array of Bytes workflow to make generated signatures more resilient across game updates and to improve compatibility with existing .aob files.

Highlights

  • Reworked AOB generation using practices inspired by Cheat Engine's signature workflow.
  • Replaced the fixed forward-only pattern with an adaptive signature using instructions before and after the hook.
  • Added variable signature lengths and selection of the shortest unique pattern.
  • Added uniqueness checks so ambiguous patterns are not silently resolved to an unrelated address.
  • Expanded ARM64 masking for relocatable branches, PC-relative instructions, immediate arithmetic, loads, stores, and load/store pairs.
  • Added support for locating a hook when its original instruction has already been replaced by an active ASM branch.
  • Corrected scanning of both main NSO code and dynamically loaded module code.
  • Improved module-relative AOB handling by deriving the updated module base from the located hook.
  • Replaced the single-instruction stale-offset check with complete masked-pattern validation.
  • Preserves a usable longest candidate when no unique signature can be found.
  • Records the number of occurrences and the original target's index.
  • Converts every occurrence into a separate write line instead of silently using the first match.
  • Added aob.log diagnostics for generation, validation, scanning, and conversion failures.
  • Reuses unchanged ambiguous files without repeating the expensive uniqueness scan.
  • Reuses unique files when the surrounding pattern still matches but the hook word is already patched.
  • Make AOB now creates version-3 files for all eligible ASM cheats.
  • Load AOB now batch-processes every .aob in the game directory; AOB 2 cheat remains the individual-file option.

AOB File Format

New files use AOB format version 3 and include:

  • format_version
  • pattern_words
  • A variable-length pattern
  • A corresponding per-word mask
  • hook_position, allowing the hook to appear inside the signature instead of always at its beginning
  • occurrences, recording how many matches were found during generation
  • target_index, identifying the original hook within the ordered occurrence list

Existing AOB files remain readable. Missing target indices default to the first occurrence. Using Make AOB recreates an older definition in the version-3 adaptive format when necessary.

Workflow

  1. Open an eligible ASM cheat on the original game build.
  2. After creating the ASM cheat, use Make AOB in the Extended Cheat Menu. Add ASM does not create .aob files automatically.
  3. After a game update, use AOB 2 cheat to select one saved file or Load AOB to process every saved file.
  4. Breeze creates one cheat per processed file and one write line per matching occurrence.
  5. Verify every recovered line before applying or rebuilding an ASM cheat.

Notes

  • An AOB can still fail when an update substantially recompiles or removes the surrounding function.
  • Ambiguous signatures are retained with their occurrence count and target index; they require extra review.
  • A conversion can fail if no match exists or if its occurrences exceed one cheat's opcode capacity.
  • Legacy signatures may remain less resilient than newly generated version-3 signatures.
  • Every recovered match should be reviewed before the resulting cheat is enabled.