| Zeile 1: | Zeile 1: | ||
{{Stub}} | {{Stub}} | ||
== Aufbau == | == Aufbau == | ||
| − | === | + | === EXE Header === |
| − | Dieser Header ist | + | Dieser Header ist der Basisheader jeder Datei im EXE-Format (auch DLL und andere abgeleitete Dateien), worauf sich das PE/COFF-Format aufbaut. Da aber PE/COFF-Dateien all ihre Informationen im PE- bzw. COFF-Header ablegen, könnte man theoretisch den EXE-Header weglassen. Leider ist dem aber nicht so, weil dieser die Offsetadresse zu unserem PE/COFF-Header enthält. |
| − | + | ||
| − | + | Die folgende Tabelle zeigt, was noch vom EXE-Header benötigt wird: | |
| − | + | {| {{Prettytable}} | |
| + | !Offset||Größe||Beschreibung | ||
| + | |- | ||
| + | |0x00||2 Bytes||EXE-Datei Signatur ("MZ") | ||
| + | |- | ||
| + | |0x02||6 Bytes||<i>Unbedeutend</i> | ||
| + | |- | ||
| + | |0x08||2 Bytes||Größe des EXE-Header in 16-Byte-Paragraphen (Wert: 0x0004) | ||
| + | |- | ||
| + | |0x0A||50 Bytes||<i>Unbedeutend</i> | ||
| + | |- | ||
| + | |0x3C||2 Bytes||Offset des PE/COFF-Header | ||
| + | |- | ||
| + | |0x3E||4 Bytes||<i>Unbedeutend</i> | ||
| + | |} | ||
| + | |||
=== PE Kennzeichnung === | === PE Kennzeichnung === | ||
An der Stelle 0x3c kommt das Kennzeichnen des PE-Formates. Dieser ist 4-Byte groß und sieht so aus: "PE\0\0". | An der Stelle 0x3c kommt das Kennzeichnen des PE-Formates. Dieser ist 4-Byte groß und sieht so aus: "PE\0\0". | ||