TrueDiffing

binary · text · function & string diff

Diff two files and see exactly what changed - function by function, instruction by instruction.

Free 7-day trial · Windows 10 / 11 · 64-bit

See it in action

Every changed function, down to the instruction

Two builds compared: the function list on the left marks what was added, removed and modified, and the right-hand pane shows the selected function as an instruction-level diff - opcode bytes and disassembly, primary against secondary.

TrueDiffing comparing two builds - the function list marks modified, added and removed functions, and the right pane shows an instruction-level diff with opcode bytes and disassembly
Added / removed / modified Opcode bytes Disassembly Instruction-level diff String diff

Control flow

The same function, old against new

Switch a modified function from code to graph and the basic blocks and branches are drawn primary and secondary side by side, each block coloured unchanged, modified, new or gone - so a rewritten branch is obvious at a glance.

TrueDiffing flow graph view - the primary and secondary versions of a modified function drawn side by side as basic blocks and branches, colour-coded unchanged, modified, new and gone
Basic blocks & branches Primary vs secondary Colour-coded changes Zoom & pan Inline SVG in the report

Why TrueDiffing

Everything you need to see what changed

From a function-level binary diff across two architectures and two container formats to a plain line-by-line text diff - with a self-contained report at the end of it.

Function-by-function binary diff

Compares two compiled binaries and lists every added, removed and modified function, each with its opcode bytes and its disassembly.

Instruction-level diff

A modified function is broken down instruction by instruction, so you see the exact lines that were added and removed inside it - not just that it changed.

Flow graph view

The same function drawn as its basic blocks and branches. For a modified function the old and new graphs sit side by side, each block coloured unchanged, modified, new or gone.

PE and ELF containers

Reads Windows PE/MZ and Linux ELF binaries, so the same tool covers both sides of a cross-platform target.

Intel and ARM

Disassembles x86 and x64 alongside ARM and ARM64, Thumb included, through the Capstone engine.

Line-by-line text diff

Point it at two text files and get added, removed and modified lines with old and new line numbers - blank-line-move aware, and whitespace-insensitive by option.

Self-contained HTML report

Export either view to a single HTML file that carries the whole diff with it - flow graphs included as inline SVG - so a result travels as one attachment.

Search and filter

Search functions by name and filter the list down to the classes you care about - modified, new, removed or unchanged - to cut thousands of functions to the handful that matter.

Strings, side by side

A dedicated strings view diffs the two files' string tables next to the function list, so a new URL, path or message shows up as plainly as a new function.

Auto-detects the mode

Drop in two files and TrueDiffing picks binary or text on its own - or pin the mode yourself when you want the other reading.