.doc und .docx – was steckt in einer Word-Datei?
Zwei völlig verschiedene Welten: Die alte .doc ist ein binäres Mini-Dateisystem mit Sektoren und Verkettungstabellen, die moderne .docx ein ZIP-Archiv voller XML-Dateien. Beides wird hier aus echten Bytes aufgebaut, markiert und Schritt für Schritt gelesen.
🔢Die ersten Bytes verraten alles
file, was wirklich in einer Datei steckt.🧱 .doc (Word 97–2003)
binärCompound File Binary Format (CFB, auch OLE2 oder „Structured Storage“): ein FAT-Dateisystem in der Datei. Die Signatur liest sich spielerisch als „DOCFILE“ (D0 CF 11 E0). Dieselbe Hülle nutzen .xls, .ppt, .msg und vbaProject.bin.
🗂️ .docx (ab Word 2007)
ZIP + XMLEin gewöhnliches ZIP-Archiv nach den Open Packaging Conventions (ECMA-376 Teil 2). Umbenennen in .zip und entpacken genügt, um die XML-Dateien (WordprocessingML) zu sehen.
🏗️Zwei Architekturen im Überblick
beispiel.doc ┌──────────────────────────────┐ │ Header 512 B, Signatur, DIFAT│ ├──────────────────────────────┤ │ Sektor 0 FAT │ ← wer folgt auf wen? │ Sektor 1 Verzeichnis ──┐ │ │ Sektor 2… WordDocument │ │ ← FIB + Text │ … 1Table │ │ ← Piece Table, Formate │ … MiniFAT │ │ │ … Mini-Stream ◄─┘ │ ← kleine Streams └──────────────────────────────┘
Alles sind Zahlen und Offsets. Ohne Spezifikation ([MS-CFB], [MS-DOC]) ist der Inhalt kaum lesbar.
beispiel.docx (ZIP)
├── [Content_Types].xml ← MIME-Typen
├── _rels/.rels ← Einstieg
├── docProps/core.xml ← Titel, Autor
├── docProps/app.xml
└── word/
├── document.xml ← der Text
├── styles.xml ← Formatvorlagen
├── settings.xml
├── _rels/document.xml.rels
└── media/image1.pngLesbares XML, verknüpft über Relationships (r:id). Standardisiert als ECMA-376 und ISO/IEC 29500.
🧭Kapitel
.doc – Binärformat
CFB-Header im Hex-Editor, Sektorkarte, FAT-Ketten zum Durchsteppen, Verzeichnis-Baum, FIB und Piece Table: vom ersten Byte bis zum Text in 18 Schritten.
.docx – ZIP + XML
Paket-Explorer mit allen Parts, Relationships und Content Types. Absatz-Editor erzeugt live das w:p-XML – und eine echte .docx zum Herunterladen.
Vergleich & Sicherheit
.doc, .docx, .docm, .dotx, .rtf, .odt nebeneinander; Strict vs. Transitional; Kompatibilitätsmodus; Makros und Mark-of-the-Web.
Werkzeuge
unzip, xxd, pandoc, LibreOffice headless, olefile und oledump mit Beispielausgaben – plus eigene Datei direkt im Browser untersuchen.
🕰️Zeitleiste
- 1997Word 97 führt das .doc-Format mit nFib 0x00C1 ein – bis Word 2003 Standard.
- 2006ECMA-376 (1. Ausgabe): Office Open XML wird als ECMA-Standard verabschiedet.
- 2007Word 2007 speichert standardmäßig .docx; .docm für Dokumente mit Makros.
- 2008ISO/IEC 29500 (Strict + Transitional). Microsoft legt [MS-DOC] und [MS-CFB] offen.
- 2013Word 2013 kann „Strict Open XML“ speichern; Kompatibilitätsmodus 15.
- 2022Office blockiert VBA-Makros in Dateien aus dem Internet (Mark-of-the-Web) standardmäßig.