Every update is a new binary
nobody read.
Two builds compared, package to binary to function. Every tab side by side, only what changed.
Notes say what was meant.
Binaries say what changed.
An update replaces one compiled program with another. The release note describes the intent. The binary carries the result.
openbinary compares the two versions, package to binary to function, and shows every difference on both sides. A vendor update is approved on what changed, not on what the note promised.
Six tabs. Both sides, only what changed.
airportd, two Apple builds. Every number below is from that diff.
- 3 crypto behaviours
- 8 rows changed
- a site with no auth on the path
- 26 findings moved
- one version bump
- 4 functions
- 5 functions
- 4 bodies changed
- 32 sections resized
- both Apple-signed
- arm64 → x86_64, arm64
Three depths. Package, binary, function. Each one zoom closer.
A changed member opens its binary. A changed function opens its body. The review sits on the diff.
Built for. The people who sign off an update.
- 01
How do two versions get in?
Upload both, pick two from the corpus, or install the GitHub App and each release asset is diffed when it is published. Each version is unpacked and read on its own, then members, binaries and functions are matched.
- 02
How is this different from BinDiff or Diaphora?
BinDiff, Diaphora and Ghidra Version Tracking diff function bodies for one analyst. openbinary adds the behaviour and package depths above that, and a team inbox around the result.
- 03
Does it diff firmware images and packages?
Yes. Two images or archives are unpacked and compared member by member, with components added, removed or bumped. A changed member opens its binary diff.
- 04
Can my team review an update in it?
Yes. Every diff lands in the team inbox with state, priority, assignee, labels, notes and an activity log.
- 05
Can my agent run the diff?
Yes. The diff is one of the agent tools. One command installs them into Claude Code, Codex, Cursor, Gemini CLI, VS Code and OpenCode.
- 06
What if one side cannot be read?
A member that cannot be read on one side is marked unsupported or encrypted there, with the reason. Anything not read from the two binaries themselves is labelled enrichment, not fact.
- 07
Which plan has it?
Binary diff is in Pro, $100 a user a month. Package diff is in Advanced, $200 a user a month.
Drop a binary.
Mach-O, ELF, PE, DEX, WASM, firmware, container and archive images. Up to 2 GB. The report is public unless you sign in.