Binärer Hex-Editor | Dateien hexadezimal anzeigen und bearbeiten
Datei per Drag & Drop ablegen und den Inhalt byteweise als Hex-Dump anzeigen. Über die Magic Bytes lässt sich der wahre Dateityp erkennen, einzelne Bytes lassen sich bearbeiten und das Ergebnis herunterladen. Die Datei wird niemals auf einen Server hochgeladen.
Häufige Dateisignaturen (Magic Numbers)
| Format | Erste Bytes (hex) | Offset | Hinweis |
|---|---|---|---|
| PNG | 89 50 4E 47 0D 0A 1A 0A | 0 | Bilddatei. Stimmen alle 8 Bytes überein, ist PNG so gut wie sicher bestätigt |
| JPEG | FF D8 FF | 0 | Bilddatei. Das 4. Byte variiert je nach Variante (JFIF, Exif usw.) |
| GIF | 47 49 46 38 39 61 / 47 49 46 38 37 61 | 0 | Die ASCII-Zeichenfolge "GIF89a" oder "GIF87a" |
| 25 50 44 46 2D | 0 | Die ASCII-Zeichenfolge "%PDF-", gefolgt von der Versionsnummer | |
| ZIP / docx / xlsx / jar | 50 4B 03 04 | 0 | ZIP-Format. Office Open XML und viele Archivformate basieren intern auf ZIP |
| Windows-Programmdatei (EXE/DLL) | 4D 5A | 0 | Die ASCII-Zeichenfolge "MZ", ein historischer MS-DOS-Header, der im PE-Format noch enthalten ist |
| ELF-Programmdatei | 7F 45 4C 46 | 0 | Ausführbare Dateien und gemeinsam genutzte Bibliotheken unter Linux und ähnlichen Systemen |
Tipps zur Nutzung des Hex-Editors
- Um bei einer Datei mit geänderter Endung den wahren Typ zu erkennen, vergleiche die ersten Bytes (Magic Bytes) mit der obigen Tabelle. Die Dateiendung ist nur eine Selbstauskunft, die Magic Bytes stammen dagegen aus dem Format selbst und lassen sich viel schwerer fälschen.
- Im manuellen Hex-Modus können aus anderen Tools kopierte Byte-Folgen (mit Leerzeichen oder Zeilenumbrüchen getrennt) direkt eingefügt und geladen werden.
- Wird beim Bearbeiten aus Versehen die falsche Zelle angeklickt, bricht die Esc-Taste die Bearbeitung dieser Zelle ab, ohne das Byte zu verändern.
- Beim Debuggen eines Binärprotokolls hilft es, in diesem Tool die erwarteten Bytes den tatsächlich gesendeten oder empfangenen gegenüberzustellen, um die genaue Abweichung zu finden.
Häufig gestellte Fragen
FF D8 FF, handelt es sich unabhängig von der Endung sehr wahrscheinlich um ein JPEG-Bild.
Übrigens – warum sich die wahre Identität einer Datei aus ihren Bytes und nicht aus der Endung ergibt
Eine Dateiendung ist lediglich ein Hinweis für das Betriebssystem, mit welcher Anwendung eine Datei geöffnet werden soll – ein Label, das unabhängig vom tatsächlichen Inhalt der Datei existiert. Wird `foto.jpg` in `notiz.txt` umbenannt, wird daraus kein Text, und entfernt man die Endung einer echten Bilddatei, bleiben die Bilddaten darunter trotzdem erhalten. Gerade weil dieses Label im Grunde eine reine Selbstauskunft ist, nutzt Schadsoftware seit Langem genau diesen Umstand, um ausführbare Dateien als harmlose Bilder oder Dokumente zu tarnen.
Um dem entgegenzuwirken, betten die meisten Dateiformate in ihren ersten Bytes einen eindeutigen Bezeichner ein – Magic Bytes oder Magic Number genannt. Eine PNG-Datei etwa beginnt laut Spezifikation immer mit der exakten 8-Byte-Folge `89 50 4E 47 0D 0A 1A 0A`. Das bedeutet: Ein Betriebssystem oder eine Anwendung kann sich über das tatsächliche Format einer Datei erst nach Prüfung ihres realen Inhalts sicher sein, nicht anhand ihres Namens. Sowohl der Unix-Befehl `file` als auch die MIME-Type-Erkennung von Browsern stützen sich vorrangig auf den Abgleich dieser Magic Bytes statt auf die Dateiendung.
Manche Magic-Byte-Folgen bergen zudem einen historischen Kniff. Die 8 Bytes von PNG enthalten bewusst eine Zeilenumbruch-Sequenz (0D 0A), damit Übertragungen im Textmodus – die Zeilenumbrüche mitunter verändern – als beschädigt erkannt werden können. Statt eines rein beliebigen Bezeichners dient sie also zugleich als eingebaute Prüfung auf Übertragungsfehler – ein kleines Detail, das zeigt, wie viel Überlegung im Design binärer Formate steckt.