What the tool is for

BinDiff supports variant triage, build comparisons and the question of which static properties two files share. Both inputs stay on the analyst machine and are processed read-only. The tool changes nothing, uploads nothing and creates no binary.

The interface offers an overview without hiding the individual values. Similarity can be traced down to chunks, strings, sections and metadata declarations. The report supplies leads for the next investigation rather than a finished verdict.

Seven perspectives on two binary files

01

Byte diff

Content-defined chunking, a Jaccard view and a histogram keep shared regions visible even when offsets move.

CHUNKS / JACCARD
02

Fuzzy hashes

MinHash sketches and a CTPH-like digest add robust similarity signals to exact byte comparison.

MINHASH / CTPH
03

PE and ELF

Defensively bounded parsers read headers and section information without pretending to be a full disassembler.

PE / ELF
04

Entropy

Block-level density changes become visible. High entropy remains a lead, never proof.

0–8 BITS / BYTE
05

Patterns

Shared and file-specific byte sequences are listed with frequency and first offset.

SEQUENCES / OFFSETS
06

Strings

Bounded ASCII and UTF-16LE strings include encoding, first offset and occurrence count.

ASCII / UTF-16LE
07

.NET metadata

Assembly identity, target framework, references, types, methods and P/Invoke are read directly from PE metadata without loading the assembly.

METADATA ONLY

A typical use case

A team compares two versions of an internal tool. Similar byte and entropy profiles suggest proximity; the metadata view then reveals a new reference and two additional P/Invoke declarations. That creates a concrete review path without making a claim about intent or origin.

CLI / LOCAL
bindiff old.exe patched.exe --html comparison.html --json comparison.json

From input to evidence

01

Read only

Two authorized files remain local and unchanged.

02

Analyze

Seven separate views produce measurements and evidence.

03

Compare

Chunks, strings, sections and declarations remain independently reviewable.

04

Export

Text, JSON and standalone HTML preserve the result.

Design boundaries

What BinDiff deliberately does not claim

  • Not a malware scanner and not proof of common origin
  • Similarity says nothing about whether a file is safe
  • Printable strings can be absent, compressed or generated dynamically
  • Declared .NET methods do not have to be reachable
  • PE and ELF analysis remains a bounded static view

BinDiff · RC facts

Release candidate
2.0.0-rc.1
Interfaces
CLI and Windows WPF
Exports
Text, JSON, standalone HTML
Analyses
Byte diff, fuzzy hash, format, entropy, patterns, strings, .NET metadata
Quality assurance
52 automated tests in the RC state
Data path
local, read-only, no network access
BinDiff is meant to make an investigation narrower and more verifiable—not replace it with a score.

Public source on GitHubOpen release candidate