# Was ist eine magische Zahl?

> Eine magische Zahl ist eine kurze, feste Byte-Folge am Anfang einer Datei, die ihr wahres Format identifiziert. Endungen sind Etiketten; magische Zahlen sind der Vertrag. Diese Seite dokumentiert 14 gängige Signaturen und die vier Ergebnisse, die unser Dateityp-Prüfer liefert.

Source: <https://bousemutton.com/what-is-a-magic-number>

### Key facts

- **Was ist es?** Eine magische Zahl ist eine feste Byte-Folge (normalerweise 2 bis 8 Bytes) am Anfang einer Datei, die das Format identifiziert.
- **Wo befindet sie sich?** Fast immer an Byte-Position 0. ISO-9660-Disk-Abbilder sind die bekannte Ausnahme: ihre `CD001`-Signatur sitzt an Position 32769 (Sektor 16).
- **Endung oder Bytes?** Die Bytes gewinnen. Wenn man `bericht.exe` in `bericht.pdf` umbenennt, ändert das nur das Etikett, nicht den Inhalt. Die magischen Bytes lauten weiterhin `4D 5A`.
- **Was du zurückbekommst** Unser Dateityp-Prüfer meldet eines von vier Ergebnissen: ÜBEREINSTIMMUNG, KEINE ÜBEREINSTIMMUNG, MEHRDEUTIG oder UNBEKANNT. Jedes ist eine eindeutige Antwort zur Format-Identität, nicht zur Sicherheit.
- **Datenschutz** Der kostenlose Einzeldatei-Ablauf läuft komplett in deinem Browser. Die Bytes verlassen dein Gerät nie.
- **Sicherheits-Geltungsbereich** Eine Magische-Byte-Prüfung identifiziert das Format, nicht Schadsoftware. Nutze sie als erstes Signal, nicht als Virenscanner.

### Magische-Byte-Signatur-Referenz

| Format | Magic bytes (hex) | ASCII | Extensions | MIME type | Offset |
|--------|-------------------|-------|------------|-----------|--------|
| PDF | `25 50 44 46` | `%PDF` | .pdf | application/pdf | byte 0 |
| PNG | `89 50 4E 47 0D 0A 1A 0A` | `.PNG....` | .png | image/png | byte 0 |
| JPEG | `FF D8 FF` | `...` | .jpg, .jpeg | image/jpeg | byte 0 |
| GIF | `47 49 46 38 39 61` | `GIF89a` | .gif | image/gif | byte 0 |
| BMP | `42 4D` | `BM` | .bmp | image/bmp | byte 0 |
| ZIP | `50 4B 03 04` | `PK..` | .zip | application/zip | byte 0 |
| RAR (v5) | `52 61 72 21 1A 07 01 00` | `Rar!....` | .rar | application/vnd.rar | byte 0 |
| 7-Zip | `37 7A BC AF 27 1C` | `7z....` | .7z | application/x-7z-compressed | byte 0 |
| DOCX (Office Open XML) | `50 4B 03 04` | `PK..` | .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document | byte 0 |
| XLSX (Office Open XML) | `50 4B 03 04` | `PK..` | .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | byte 0 |
| APK (Android package) | `50 4B 03 04` | `PK..` | .apk | application/vnd.android.package-archive | byte 0 |
| MP4 (ISO BMFF) | `00 00 00 20 66 74 79 70` | `....ftyp` | .mp4, .m4v | video/mp4 | byte 0 |
| Windows PE / EXE | `4D 5A` | `MZ` | .exe, .dll, .sys | application/vnd.microsoft.portable-executable | byte 0 |
| ISO 9660 | `43 44 30 30 31` | `CD001` | .iso | application/x-iso9660-image | byte 32769 (sector 16) |

- **PDF** Die vier Bytes ergeben `%PDF`. Die PDF-Version folgt direkt, z. B. `%PDF-1.7`.
- **PNG** Acht Bytes einschließlich der PNG-Zeilenende-Markierungen (`0D 0A 1A 0A`), sodass Übertragungsfehler erkennbar sind.
- **JPEG** Start-of-Image-Markierung. Das vierte Byte unterscheidet JFIF (`E0`) von EXIF (`E1`).
- **GIF** GIF89a ist die moderne Variante. GIF87a (`47 49 46 38 37 61`) ist die alte Schreibweise und ebenfalls gültig.
- **BMP** Zwei Bytes. Leicht zu fälschen; kombiniere mit dem Dateigrößen-Header an Position 2 zur Unterscheidung.
- **ZIP** Lokaler Datei-Header. Leere Archive nutzen stattdessen `50 4B 05 06` (End-of-Central-Directory).
- **RAR (v5)** RAR-5-Signatur. Ältere RAR-1.5- bis 4.x-Dateien nutzen eine 7-Byte-Signatur, die mit `00` endet.
- **7-Zip** Sechs Bytes mit `7z`, gefolgt von drei magischen Bytes.
- **DOCX (Office Open XML)** DOCX ist ein ZIP-Container. Die Signatur allein kann ein Word-Dokument nicht von einem generischen ZIP unterscheiden. Schau in die innere `[Content_Types].xml`.
- **XLSX (Office Open XML)** Gleiche Einschränkung wie bei DOCX. Prüfe das OOXML-Manifest, um die Tabellen-Variante zu bestätigen.
- **APK (Android package)** APK ist ein ZIP-Container mit einem Android-Manifest darin. Die ZIP-Signatur allein ist kein ausreichender Beweis.
- **MP4 (ISO BMFF)** Die `ftyp`-Box an Position 4 trägt die Marken-Kennung. Häufige Marken: `isom`, `mp42`, `iso5`.
- **Windows PE / EXE** Zwei Bytes (Mark Zbikowski). Die PE-Header-Position wird aus Byte 0x3C gelesen; die eigentliche `PE\0\0`-Magie sitzt dort.
- **ISO 9660** ISO 9660 platziert den Datenträger-Deskriptor an Sektor 16, daher liegt die Signatur an Byte 32769 (16 * 2048 + 1).

### Glossary

- **Magische Zahl**: Eine feste Byte-Folge am Anfang einer Datei, mit der das Format identifiziert wird. Andere Bezeichnungen: magische Bytes, Dateisignatur.
- **Dateisignatur**: Ein anderer Name für eine magische Zahl. Häufig in Forensik-Werkzeugen und im Wikipedia-Artikel zum Thema verwendet.
- **Dateiendung**: Der hintere Teil eines Dateinamens nach dem letzten Punkt, z. B. `.pdf`. Ein Etikett, kein Vertrag; leicht zu ändern.
- **MIME-Typ**: Eine zweiteilige Kennung (z. B. `application/pdf`), die ein Dateiformat beschreibt. Definiert durch RFC 6838 und bei der IANA registriert.
- **Containerformat**: Ein Dateiformat, das andere Formate in einer einzigen Hülle einpackt. ZIP, MP4 und Matroska sind Container; ihre magische Zahl identifiziert die Hülle, nicht den Inhalt.
- **Polyglot-Datei**: Eine einzelne Datei, die gleichzeitig als mehr als ein Format gültig ist, z. B. eine PDF, die auch ein gültiges ZIP ist. Löst ein MEHRDEUTIG-Ergebnis aus.
- **Doppelte Dateiendung**: Ein Dateiname mit zwei Endungen, z. B. `rechnung.pdf.exe`, um Menschen zu täuschen, dass die Datei das sicherere der beiden Formate ist.
- **Byte-Position**: Die Stelle in der Datei, an der ein Wert steht. Magische Zahlen sind in der Regel an Position 0; ISO 9660 ist die seltene Ausnahme mit Position 32769.
- **PE / COFF**: Portable Executable / Common Object File Format. Das Container-Format für ausführbare Windows-Dateien, identifiziert durch die magischen Bytes `MZ`.
- **ftyp-Box**: Die erste Box in einer ISO-Basis-Medien-Datei (MP4, MOV, HEIC). Das Marken-Feld ist die zweitwichtigste Signatur, die MP4-Varianten unterscheidet.

### Frequently asked questions

#### Kann das Umbenennen einer Datei ihren Typ ändern?

Nein. Die Bytes in der Datei ändern sich nicht, wenn du sie umbenennst. Ein `.pdf`-Dateiname macht aus einer ausführbaren Datei kein PDF. Die Magische-Byte-Prüfung meldet die Bytes so, wie sie tatsächlich sind.

#### Warum beginnt eine DOCX-Datei mit `PK`?

DOCX ist ein ZIP-Archiv mit XML- und Mediendateien. ZIP-Archive beginnen mit `50 4B 03 04`, was in ASCII `PK` ergibt (die Initialen von Phil Katz, dem Entwickler von PKZIP). Die DOCX-spezifische Markierung liegt im Archiv, nicht in den ersten Bytes.

#### Wie viele Bytes musst du eigentlich lesen?

Für die meisten Formate reichen 4 bis 8 Bytes. Unser Prüfer liest bis zu 4096 Bytes vom Anfang der Datei, weil einige Formate (wie ISO 9660 mit seiner Sektor-16-Position) die Signatur tiefer verstecken.

#### Haben alle Dateien eine magische Zahl?

Nein. Reine Textdateien, Quellcode und CSV-Dateien haben keine feste Signatur. Sie werden durch Inhalts-Klassifikatoren (Heuristiken oder, in unserem Fall, ein kleines KI-Modell) erkannt, statt durch Magische-Byte-Suche.

#### Was bedeutet ein MEHRDEUTIG-Ergebnis?

Mehrere bekannte Formate passen zum gleichen Anfang. Jedes Office-Dokument (DOCX, XLSX, PPTX) ist ein ZIP-Archiv, also können die magischen Bytes allein sie nicht unterscheiden. Der Prüfer meldet MEHRDEUTIG und empfiehlt, den Inhalt zu prüfen.

#### Ist eine Magische-Byte-Prüfung dasselbe wie ein Virenscan?

Nein. Eine Magische-Byte-Prüfung identifiziert das Format, nicht die Sicherheit. Eine korrekt aufgebaute PDF kann immer noch schädliches JavaScript enthalten. Für Schadsoftware-Befunde brauchst du einen Virenscanner oder ein Endpoint-Security-Produkt. Siehe die Geltungsbereichs-Seite für die Grenzen.

> Format-Identität ist nicht Sicherheit. Nutze die Magische-Byte-Prüfung als erstes Signal und lass dann einen echten Virenscanner laufen, wenn die Datei aus einer Quelle stammt, der du nicht voll vertraust.
