| Zeile 1: | Zeile 1: | ||
| − | == | + | == Aufbau == |
=== MS-DOS Header === | === MS-DOS Header === | ||
Dieser Header ist ein Kompatibilitätsheader, der unter MS-DOS ausgeführt wird und meist eine Fehlermeldung anzeigt, die besagt, dass das Programm Windows benötigt.<br> | Dieser Header ist ein Kompatibilitätsheader, der unter MS-DOS ausgeführt wird und meist eine Fehlermeldung anzeigt, die besagt, dass das Programm Windows benötigt.<br> | ||
| Zeile 16: | Zeile 16: | ||
| 0x00 || 2 Bytes || Hier wird beschrieben, für welche Plattform diese aufführbare Datei geeignet ist | | 0x00 || 2 Bytes || Hier wird beschrieben, für welche Plattform diese aufführbare Datei geeignet ist | ||
|- | |- | ||
| − | | 0x02 || 2 Bytes || Die Anzahl der | + | | 0x02 || 2 Bytes || Die Anzahl der Sektoren |
|- | |- | ||
| 0x04 || 4 Bytes || Die ersten 32bits von der Sekundenanzahl von 1.Januar 1970 00:00 bis zur Erstellung der Datei | | 0x04 || 4 Bytes || Die ersten 32bits von der Sekundenanzahl von 1.Januar 1970 00:00 bis zur Erstellung der Datei | ||
| Zeile 150: | Zeile 150: | ||
* Die Adresse der Tabelle relativ zum ersten Sektor der ausführbaren Datei zum Zeitpunkt des Laden der Tabelle | * Die Adresse der Tabelle relativ zum ersten Sektor der ausführbaren Datei zum Zeitpunkt des Laden der Tabelle | ||
* Ihre Größe in Bytes | * Ihre Größe in Bytes | ||
| − | + | === Sektorentabelle === | |
| + | Die Sektorentabelle kommt immer nach dem optimalen Header. Die Headergröße wird im COFF-Header festgelegt. | ||
| + | Ebenfalls wird die Größe der Tabelle im COFF-Header festgelegt. | ||
| + | Jeder Sektor besteht aus folgenden Abschnitten: | ||
| + | {| {{Prettytable}} | ||
| + | ! Offset || Größe || Beschreibung | ||
| + | |- | ||
| + | | 0 || 8 || Ist ein 8-Byte-String auf UTF-8 Basis. Wenn genau 8-Bytes verwendet wird, dann ist kein Nullbyte nötig. | ||
| + | Bei Objektdateien darf dieser länger sein, bei ausführbaren Dateien ist dies verboten. | ||
| + | |- | ||
| + | | 8 || 4 || Die entgültige Größe eines Sektors, wenn es geladen wird. Bei Objektdateien ist dieser Abschnitt voller Nullen. | ||
| + | |- | ||
| + | | 12 || 4 || Für ausführbare Dateien die Adresse des ersten Bytes der Sektion relativ zum Image Basis(?). | ||
| + | Bei Objektdateien ist die Adresse des ersten angelegten Bytes, bevor die Verlagerung abgeschlossen ist. | ||
| + | |} | ||
| + | Wird noch erweitert- | ||
== Links == | == Links == | ||