01Ausgangslage
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.
02Unter der Haube
Sieben Perspektiven auf zwei Binärdateien
Byte-Diff
Content-defined Chunking, Jaccard-Betrachtung und Histogramm halten gemeinsame Bereiche auch bei verschobenen Offsets sichtbar.
CHUNKS / JACCARDFuzzy Hashes
MinHash-Skizzen und ein CTPH-ähnlicher Digest ergänzen den exakten Bytevergleich um robuste Näherungssignale.
MINHASH / CTPHPE und ELF
Defensiv begrenzte Parser lesen Header- und Sektionsinformationen, ohne einen vollständigen Disassembler vorzutäuschen.
PE / ELFEntropie
Lokale Dichteunterschiede werden blockweise sichtbar. Hohe Entropie bleibt ein Hinweis, kein Beweis.
0–8 BIT / BYTEMuster
Gemeinsame und dateispezifische Bytefolgen werden mit Häufigkeit und erstem Offset gegenübergestellt.
SEQUENCES / OFFSETSStrings
Begrenzte ASCII- und UTF-16LE-Folgen erscheinen mit Encoding, erstem Offset und Häufigkeit.
ASCII / UTF-16LE.NET-Metadaten
Assembly, Zielframework, Referenzen, Typen, Methoden und P/Invoke werden direkt aus PE-Metadaten gelesen; die Assembly wird nicht geladen.
METADATA ONLY03Konkreter Workflow
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.
bindiff old.exe patched.exe --html comparison.html --json comparison.jsonVom Input zum Befund
Read only
Zwei autorisierte Dateien bleiben lokal und unverändert.
Analyze
Sieben getrennte Sichten erzeugen Messwerte und Belege.
Compare
Chunks, Strings, Sektionen und Deklarationen bleiben einzeln prüfbar.
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
05RC-Fakten
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.
