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"
PDF 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

Ja. Lade die Datei und vergleiche die ersten Bytes mit der obigen Tabelle "häufige Dateisignaturen". Beginnt eine Datei mit der Endung `.txt` tatsächlich mit FF D8 FF, handelt es sich unabhängig von der Endung sehr wahrscheinlich um ein JPEG-Bild.

Würde eine Datei von mehreren Hundert Megabyte oder Gigabyte auf einmal komplett als Hex-Dump gerendert, könnte der Browser-Tab wegen der enormen Menge an DOM-Elementen einfrieren oder abstürzen. Die Beschränkung auf die ersten 64KB hält gängige Anwendungsfälle wie das Prüfen von Datei-Headern sicher und reaktionsschnell.

Wurde die angezeigte Datei auf die ersten 64KB gekürzt, enthält der Download auch nur diese 64KB (alles darüber hinaus bleibt unberücksichtigt). Bei Dateien bis 64KB wird abgesehen von den bearbeiteten Bytes alles exakt wie im Original heruntergeladen.

Nein. Laden, Anzeigen, Bearbeiten und Herunterladen der Datei laufen vollständig als JavaScript im Browser ab – der Dateiinhalt wird zu keinem Zeitpunkt irgendwohin übertragen.
ツールくん

Ü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.

→ Alle Wissenstexte ansehen