dependabot[bot] 5c342be553 Bump ruff from 0.15.16 to 0.15.19
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.15.16 to 0.15.19.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.15.16...0.15.19)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.15.19
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-25 15:14:08 +00:00
2026-05-14 17:25:58 +02:00
2026-05-14 17:25:58 +02:00
2026-05-14 17:25:58 +02:00
2026-05-14 17:25:58 +02:00
2026-05-14 17:26:24 +02:00
2026-06-25 15:14:08 +00:00

macho-diff

A command-line tool for visualizing instruction-level differences between Mach-O binaries. It uses LIEF to parse the Mach-O structure and capstone to disassemble and compare functions byte-by-byte and instruction-by-instruction.

Features

  • Architecture Support: Supports ARM64, ARM, X86_64, and X86.
  • Function Checksums: Quickly identifies modified functions via SHA-256 byte hashing.
  • Instruction-Level Diff: Identifies the exact mnemonic and operand differences between the original and patched binaries directly in the CLI.
  • Batch Patches: Automatically generates batch hexadecimal patches which ensure unique byte patterns for safe find-and-replace patching across binaries. The batch notes output is fully compatible with Amimod.

Installation

Assuming you are using uv (or standard pip):

git clone https://NohamR/macho-diff && cd macho-diff

uv sync

Usage

Run the tool by passing the source and patched Mach-O binaries:

uv run macho-diff <source_binary> <patched_binary>
uv run macho-diff <source_binary> <patched_binary> -b
Description
A CLI tool for visually diffing Mach-O binaries and generating instruction-level batch patches.
Readme MIT 151 KiB
Languages
Python 100%