Wofür das Werkzeug gedacht ist

BinDiff hilft bei Variantentriage, Build-Vergleichen und der Frage, welche statischen Eigenschaften zwei Dateien teilen. Beide Eingaben bleiben auf dem eigenen Rechner und werden read-only verarbeitet. Das Werkzeug verändert nichts, lädt nichts hoch und erzeugt keine neue Binärdatei.

Die Oberfläche zeigt einen Gesamteindruck, versteckt die Einzelwerte aber nicht dahinter. Wer eine Ähnlichkeit nachvollziehen will, kann bis zu Chunks, Strings, Sektionen oder Metadatendeklarationen gehen. Der Bericht liefert Ansatzpunkte für die nächste Untersuchung statt eines fertigen Urteils.

Sieben Perspektiven auf zwei Binärdateien

01

Byte-Diff

Content-defined Chunking, Jaccard-Betrachtung und Histogramm halten gemeinsame Bereiche auch bei verschobenen Offsets sichtbar.

CHUNKS / JACCARD
02

Fuzzy Hashes

MinHash-Skizzen und ein CTPH-ähnlicher Digest ergänzen den exakten Bytevergleich um robuste Näherungssignale.

MINHASH / CTPH
03

PE und ELF

Defensiv begrenzte Parser lesen Header- und Sektionsinformationen, ohne einen vollständigen Disassembler vorzutäuschen.

PE / ELF
04

Entropie

Lokale Dichteunterschiede werden blockweise sichtbar. Hohe Entropie bleibt ein Hinweis, kein Beweis.

0–8 BIT / BYTE
05

Muster

Gemeinsame und dateispezifische Bytefolgen werden mit Häufigkeit und erstem Offset gegenübergestellt.

SEQUENCES / OFFSETS
06

Strings

Begrenzte ASCII- und UTF-16LE-Folgen erscheinen mit Encoding, erstem Offset und Häufigkeit.

ASCII / UTF-16LE
07

.NET-Metadaten

Assembly, Zielframework, Referenzen, Typen, Methoden und P/Invoke werden direkt aus PE-Metadaten gelesen; die Assembly wird nicht geladen.

METADATA ONLY

Ein typischer Einsatz

Ein Team vergleicht zwei Versionen eines internen Tools. Byte- und Entropieverlauf sprechen zunächst für Nähe; die Metadatenansicht zeigt anschließend eine neue Referenz und zwei zusätzliche P/Invoke-Deklarationen. Damit gibt es einen konkreten Prüfpfad – aber noch keine Behauptung über Absicht oder Herkunft.

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

Vom Input zum Befund

01

Read only

Zwei autorisierte Dateien bleiben lokal und unverändert.

02

Analyze

Sieben getrennte Sichten erzeugen Messwerte und Belege.

03

Compare

Chunks, Strings, Sektionen und Deklarationen bleiben einzeln prüfbar.

04

Export

Text, JSON und eigenständiges HTML halten das Ergebnis fest.

Bewusste Grenzen

Was BinDiff bewusst nicht behauptet

  • Kein Malware-Scanner und kein Beweis gemeinsamer Herkunft
  • Ähnlichkeit sagt nichts darüber aus, ob eine Datei sicher ist
  • Printable Strings können fehlen, komprimiert oder dynamisch erzeugt sein
  • Deklarierte .NET-Methoden müssen nicht erreichbar sein
  • PE- und ELF-Auswertung bleibt eine begrenzte statische Sicht

BinDiff · RC-Fakten

Release Candidate
2.0.0-rc.1
Oberflächen
CLI und Windows-WPF
Exporte
Text, JSON, eigenständiges HTML
Analysen
Byte-Diff, Fuzzy Hash, Format, Entropie, Muster, Strings, .NET-Metadaten
Qualitätssicherung
52 automatisierte Tests im RC-Stand
Datenpfad
lokal, read-only, ohne Netzwerkzugriff
BinDiff soll eine Untersuchung enger und überprüfbarer machen – nicht sie durch einen Score ersetzen.

Öffentlicher Quellcode auf GitHubRelease Candidate öffnen