Glossar
MZ-Header (MS-DOS-Header)
Der 64-Byte-Header am Anfang jeder PE-Datei, der mit den Buchstaben MZ beginnt und dessen Feld e_lfanew auf den PE-Header zeigt.
Jede Windows-Executable beginnt mit einem 64 Byte großen MS-DOS-Header, dessen erste zwei Bytes MZ (0x4D 0x5A) lauten. Die meisten seiner Felder waren nur für MS-DOS relevant; heute zählt vor allem e_lfanew an Offset 0x3C, der Datei-Offset der Signatur PE\0\0.
Zwischen Header und PE-Signatur liegt der DOS-Stub – das Programm, das „This program cannot be run in DOS mode.“ ausgibt – und bei Dateien, die mit Microsoft-Tools gelinkt wurden, der Rich Header. Eine MZ-Datei ohne gültige PE-Signatur ist ein DOS-Programm oder eine beschädigte Datei. Tools wie der PE Parser erkennen Executables an dieser Magic Number statt an der Dateiendung, sodass auch umbenannte Payloads gefunden werden.