Microsoft Portable Executable and Common Object File Format — Änderungen 4305 → 4306

Zeile 2: Zeile 2:
 
== Aufbau ==
 
== Aufbau ==
 
=== EXE Header ===
 
=== EXE Header ===
−
Dieser Header ist der Basisheader jeder Datei im EXE-Format (auch DLL und andere abgeleitete Dateien), worauf sich der PE-Header aufbaut. Da aber die Informationen für solche Dateien nicht mehr im EXE.Header abgelegt werden, könnte man theoretisch den EXE-Header weglassen. Leider ist dem aber nicht so, weil dieser die Offsetadresse zu unserem PE-Header enthält.
+
Dieser Header ist der Basisheader jeder Datei im EXE-Format (auch DLL und andere abgeleitete Dateien), worauf sich der PE/COFF-Header aufbaut. Da aber die Informationen für solche Dateien nicht mehr im EXE.Header abgelegt werden, 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:
 
Die folgende Tabelle zeigt, was noch vom EXE-Header benötigt wird:
Zeile 16: Zeile 16:
 
|0x0A||50 Bytes||<i>Unbedeutend</i>
 
|0x0A||50 Bytes||<i>Unbedeutend</i>
 
|-
 
|-
−
|0x3C||2 Bytes||Offset des PE-Header
+
|0x3C||2 Bytes||Offset des PE/COFF-Header
 
|-
 
|-
 
|0x3E||4 Bytes||<i>Unbedeutend</i>
 
|0x3E||4 Bytes||<i>Unbedeutend</i>
 
|}
 
|}
 +
 +
=== MS-DOS-Stub ===
 +
Dieser dient nur noch dazu, um unter DOS nur die Meldung auszugeben, dass dieses Programm Windows benötigt.
  
 
=== PE Kennzeichnung ===
 
=== PE Kennzeichnung ===
Zeile 25: Zeile 28:
 
(Zwei Nullbytes am Ende)
 
(Zwei Nullbytes am Ende)
 
Das ist wiederum ein Kennzeichen von Windows und sollte verändert (nicht weggelassen) werden.
 
Das ist wiederum ein Kennzeichen von Windows und sollte verändert (nicht weggelassen) werden.
 +
 
=== COFF Dateiheader ===
 
=== COFF Dateiheader ===
 
Hier ist der Common Object File Format Header:
 
Hier ist der Common Object File Format Header: