Efficient Forged Atomic Parallel

MergeQaiPro-Handbuch Byte für Byte vergleichen
Inhaltsverzeichnis

Byte für Byte vergleichen

Manche Dateien sind weder Text noch Bild — oder sehen als Text gleich aus und sind es doch nicht. Die Ansicht Binär zeigt beide Dateien als Hex-Ansicht: Byte für Byte, mit Adresse, Hexadezimalwerten und der lesbaren Entsprechung daneben. Sie zeigt damit auch Unterschiede, die kein Text- oder Bildvergleich sieht.

Unter der Ansicht stehen die Kennzahlen: beide Dateigrößen und die Zahl der abweichenden Bytes, dazu „erste Abweichung @ 0x0004A2“ — die Stelle, ab der die Dateien auseinanderlaufen. Sind sie gleich, meldet MergeQaiPro „Dateien sind identisch“.

Screenshot 20: Binärvergleich als Hex-Ansicht mit hervorgehobenen abweichenden Bytes, der Landkarte am rechten Rand und der Fußzeile „… abweichende Bytes · erste Abweichung @ …“
Abb. 20 — Binärvergleich als Hex-Ansicht mit hervorgehobenen abweichenden Bytes, der Landkarte am rechten Rand und der Fußzeile „… abweichende Bytes · erste Abweichung @ …“
ℹ️ Ohne Größengrenze
Die Ansicht holt beim Blättern immer nur die Zeilen, die gerade zu sehen sind — eine Datei muss also nicht in den Speicher passen, um sie anzusehen. Auch Abbilder von mehreren Gigabyte lassen sich vollständig durchsehen; der Vergleich läuft dabei im Hintergrund und zeigt seinen Fortschritt an.

10.1 Zu den Unterschieden springen

Zwei Dateien können in Zehntausenden Bytes abweichen — von Hand dorthin zu blättern ist aussichtslos. Die Pfeile und in der Werkzeugleiste springen deshalb von einem Abweichungsbereich zum nächsten; der Zähler dazwischen zeigt, der wievielte von wie vielen gerade erreicht ist. Ein Bereich ist dabei nicht ein einzelnes Byte, sondern eine zusammenhängende Strecke abweichender Bytes — genau das, was man als „eine Änderung“ ansieht.

Am rechten Rand liegt die Landkarte: ein schmaler Streifen, der die ganze Datei abbildet und jede Abweichung als Marke zeigt. Sie beantwortet auf einen Blick, was keine Zahl sagt — ob die Unterschiede über die Datei verstreut liegen, sich vorn ballen oder erst ab einer bestimmten Stelle beginnen. Der helle Rahmen darin zeigt den gerade sichtbaren Ausschnitt; ein Klick oder Zug in die Landkarte springt dorthin.

💡 Was das Muster verrät
Zwei Fotos, die bis zum Ende des Kopfteils gleich sind und danach vollständig abweichen, sind zweimal getrennt kodiert worden — nicht nachträglich verändert. Eine Datei dagegen, in der nur ein paar Marken verstreut liegen, wurde gezielt an wenigen Stellen angefasst.

10.2 Gezielt hinspringen und suchen

Wer eine bestimmte Stelle im Blick hat, gibt sie im linken Feld ein und drückt die Eingabetaste. Erwartet wird ein Offset: hexadezimal als 1A2F oder 0x1A2F, dezimal mit vorangestelltem #, also #6703. Die Anzeige rollt zu dieser Stelle und markiert das Byte.

Das rechte Feld sucht nach einem Inhalt. Ist der Schalter Hex gedrückt, gilt die Eingabe als Byte-Folge — FF D8, FFD8 und 0xFF,0xD8 meinen dasselbe. Ohne den Schalter wird der eingegebene Text gesucht, etwa JFIF oder PK. Jede weitere Eingabetaste springt zum nächsten Fund; hinter dem letzten beginnt die Suche wieder von vorn.

10.3 Bytes markieren und kopieren

Ein Klick in die Hex- oder Textspalte markiert ein Byte, Umschalt+Klick erweitert bis dorthin, Ziehen mit gedrückter Maustaste ebenso. Die Fußzeile nennt den markierten Bereich und seine Länge. Beide Seiten zeigen dieselbe Markierung — es ist ja derselbe Ausschnitt der Datei.

Der Knopf legt das Markierte in die Zwischenablage — in drei Formaten:

FormatErgebnisWofür
Als Hex41 42 00 FFÜbergabe an einen Hex-Editor, Notiz im Fehlerbericht
Als TextAB..lesbare Anteile herausziehen — nicht Druckbares wird zum Punkt
Als C-Feldunsigned char daten[4] = { … };direkt in Quelltext einsetzen, etwa als Testdatensatz

10.4 Eine Datei übernehmen — und warum nur ganz

Die beiden Knöpfe und ersetzen die eine Datei vollständig durch die andere. MergeQaiPro fragt vorher nach und nennt beide Namen; danach wird neu verglichen, und die Ansicht meldet „Dateien sind identisch“.

Einzelne Bytes lassen sich bewusst nicht übertragen. Im Textvergleich ist das gefahrlos, weil Zeilen für sich stehen: Eine übernommene Zeile lässt den Rest der Datei gültig. Bei Binärdateien gilt das fast nie — und eine Übernahme, die die Zieldatei in den meisten Fällen unbrauchbar macht, wäre schlechter als gar keine.

Was im Weg stehtFolge
Längenfelder und Verweistabellen (ZIP, PDF, EXE)zeigen auf feste Stellen — eingefügte Bytes verschieben alles dahinter
Prüfsummen (PNG, viele Container)passen nach der Änderung nicht mehr, die Datei wird abgelehnt
Komprimierte Ströme (JPEG, PNG, ZIP)tragen ihre Bedeutung bitweise — ein Byte mittendrin zerstört alles Folgende
Verschiedene Dateilängen„überschreiben“ oder „einfügen“ hätte zwei ganz verschiedene Ergebnisse
⚠️ Die Übernahme lässt sich nicht rückgängig machen
Die Zieldatei wird ersetzt, nicht in den Papierkorb gelegt. Wo es auf den alten Stand ankommt, gehört vorher eine Sicherung angelegt.
An unhandled error has occurred. Reload 🗙