📚Quellen
Alle Strukturen, Offsets und Konstanten in VisualWord stammen aus diesen Spezifikationen. Die Beispieldateien wurden zusätzlich mit file,unzip -t, pandoc und olefile gegengeprüft.
🔖Binärformat .doc
FIB (wIdent 0xA5EC, nFib, fWhichTblStm, ccpText, fcClx), CLX/PlcPcd, FcCompressed, FKPs (CHPX/PAPX), Streams WordDocument/1Table/Data
Header-Felder und Offsets, Sektornummern (FREESECT, ENDOFCHAIN, FATSECT, DIFSECT), FAT/DIFAT/MiniFAT, 128-Byte-Verzeichniseinträge, Rot-Schwarz-Baum und Namensvergleich
Aufbau von \x05SummaryInformation (FMTID, PIDSI_TITLE, Codepage)
VBA-Projekte in Macros/ und vbaProject.bin
Verschlüsselte OOXML-Dateien als CFB (EncryptionInfo, EncryptedPackage)
🔖Office Open XML .docx
WordprocessingML (w:document, w:p, w:r, w:t, w:rPr, w:pPr, w:sectPr), Open Packaging Conventions (Content Types, Relationships), Maßeinheiten
Strict- und Transitional-Konformität, Strict-Namensräume (purl.oclc.org)
compatibilityMode-Werte in w:compatSetting
.docm/.dotm, vbaProject-Beziehung und Content Types
Local File Header, Central Directory, End of Central Directory, CRC-32, DOS-Zeitstempel
🔖Andere Formate, Werkzeuge und Sicherheit
.odt: mimetype-Eintrag, ZIP-Paket
--headless, --convert-to, --outdir
docx-Reader und -Writer, Ausgabeformate
listdir(), get_metadata(), openstream()
olevba, oleid; oledump.py von Didier Stevens: https://blog.didierstevens.com/programs/oledump-py/
Mark-of-the-Web, Zone.Identifier, Blockade von VBA-Makros (2022)
Externe Beziehungen in .docx als Angriffsweg