PEHeader Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Represents the Portable Executable (PE) file header.
public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
- Vererbung
-
PEHeader
Beispiele
In diesem Beispiel wird gezeigt, wie Informationen aus dem PE-Header gelesen werden:
// Open the Portable Executable (PE) file
using var fs = new FileStream(@"Example.dll", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using var peReader = new PEReader(fs);
// Display PE header information
if (peReader.PEHeaders.PEHeader is PEHeader header)
{
Console.WriteLine($"Image size, bytes: {header.SizeOfImage}");
Console.WriteLine($"Image base: 0x{header.ImageBase:X}");
Console.WriteLine($"File alignment: 0x{header.FileAlignment:X}");
Console.WriteLine($"Section alignment: 0x{header.SectionAlignment:X}");
Console.WriteLine($"Subsystem: {header.Subsystem}");
Console.WriteLine($"Dll characteristics: {header.DllCharacteristics}");
Console.WriteLine($"Linker version: {header.MajorLinkerVersion}.{header.MinorLinkerVersion}");
Console.WriteLine($"OS version: {header.MajorOperatingSystemVersion}.{header.MinorOperatingSystemVersion}");
}
Hinweise
Das PE-Dateiformat wird durch die PE-Spezifikation definiert. Diese Klasse wird von der PEHeader Eigenschaft verwendet.
Eigenschaften
| Name | Beschreibung |
|---|---|
| AddressOfEntryPoint |
Ruft die Adresse des Einstiegspunkts relativ zur Bildbasis ab, wenn die PE-Datei in den Arbeitsspeicher geladen wird. |
| BaseOfCode |
Ruft die Adresse des Anfang-of-Code-Abschnitts relativ zur Bildbasis ab, wenn das Bild in den Arbeitsspeicher geladen wird. |
| BaseOfData |
Ruft die Adresse des Anfang-of-Data-Abschnitts relativ zur Bildbasis ab, wenn das Bild in den Arbeitsspeicher geladen wird. |
| BaseRelocationTableDirectory |
Ruft den Eintrag "Base Relocations Table" ab. |
| BoundImportTableDirectory |
Ruft den Gebundenen Importtabelleneintrag ab. |
| CertificateTableDirectory |
Ruft den Zertifikattabelleneintrag ab, der auf eine Tabelle mit Attributzertifikaten verweist. |
| CheckSum |
Ruft die Prüfsumme der Bilddatei ab. |
| CopyrightTableDirectory |
Ruft den Copyright Table-Eintrag ab. |
| CorHeaderTableDirectory |
Ruft den CLI-Kopfzeilentabelleneintrag ab. |
| DebugTableDirectory |
Ruft den Debugtabelleneintrag ab. |
| DelayImportTableDirectory |
Ruft den Delay-Load ImportTabelleneintrag ab. |
| DllCharacteristics |
Ruft die Merkmale einer Dynamic Link Library ab. |
| ExceptionTableDirectory |
Ruft den Eintrag "Exception Table" ab. |
| ExportTableDirectory |
Ruft den Eintrag "Tabelle exportieren" ab. |
| FileAlignment |
Ruft den Ausrichtungsfaktor (in Bytes) ab, der zum Ausrichten der Rohdaten von Abschnitten in der Bilddatei verwendet wird. |
| GlobalPointerTableDirectory |
Ruft den Global Pointer Table-Eintrag ab. |
| ImageBase |
Ruft die bevorzugte Adresse des ersten Byte des Bilds ab, wenn es in den Arbeitsspeicher geladen wird. |
| ImportAddressTableDirectory |
Ruft den Importadresstabelleneintrag ab. |
| ImportTableDirectory |
Ruft den ImportTabelleneintrag ab. |
| LoadConfigTableDirectory |
Ruft den Eintrag "Load Configuration Table" ab. |
| Magic |
Ruft einen Wert ab, der das Format der Bilddatei angibt. |
| MajorImageVersion |
Ruft die Hauptversionsnummer des Bilds ab. |
| MajorLinkerVersion |
Ruft die Hauptversionsnummer des Linkers ab. |
| MajorOperatingSystemVersion |
Ruft die Hauptversionsnummer des erforderlichen Betriebssystems ab. |
| MajorSubsystemVersion |
Ruft die Hauptversionsnummer des Subsystems ab. |
| MinorImageVersion |
Ruft die Nebenversionsnummer des Bilds ab. |
| MinorLinkerVersion |
Ruft die Nebenversionsnummer des Linkers ab. |
| MinorOperatingSystemVersion |
Ruft die Nebenversionsnummer des erforderlichen Betriebssystems ab. |
| MinorSubsystemVersion |
Ruft die Nebenversionsnummer des Subsystems ab. |
| NumberOfRvaAndSizes |
Ruft die Anzahl der Datenverzeichniseinträge im Rest des PEHeader. Jeder beschreibt einen Speicherort und eine Größe. |
| ResourceTableDirectory |
Ruft den Ressourcentabelleneintrag ab. |
| SectionAlignment |
Ruft die Ausrichtung (in Bytes) von Abschnitten ab, wenn sie in den Arbeitsspeicher geladen werden. |
| SizeOfCode |
Ruft die Größe des Codeabschnitts (Text) oder die Summe aller Codeabschnitte ab, wenn mehrere Abschnitte vorhanden sind. |
| SizeOfHeaders |
Ruft die kombinierte Größe eines MS DOS-Stubs, PE-Headers und Abschnittsheaders auf ein Vielfaches von FileAlignment auf. |
| SizeOfHeapCommit |
Ruft die Größe des lokalen Heapbereichs ab, der commit ausgeführt werden soll. |
| SizeOfHeapReserve |
Ruft die Größe des lokalen Heapbereichs ab, der reserviert werden soll. Nur SizeOfHeapCommit zugesichert; der Rest wird jeweils eine Seite zur Verfügung gestellt, bis die Reservegröße erreicht ist. |
| SizeOfImage |
Ruft die Größe (in Byte) des Bilds ab, einschließlich aller Header, während das Bild im Arbeitsspeicher geladen wird. |
| SizeOfInitializedData |
Ruft die Größe des initialisierten Datenabschnitts oder die Summe aller solchen Abschnitte ab, wenn mehrere Datenabschnitte vorhanden sind. |
| SizeOfStackCommit |
Ruft die Größe des Stapels ab, der commit ausgeführt werden soll. |
| SizeOfStackReserve |
Ruft die Größe des Stapels ab, der reserviert werden soll. Nur SizeOfStackCommit zugesichert; der Rest wird jeweils eine Seite zur Verfügung gestellt, bis die Reservegröße erreicht ist. |
| SizeOfUninitializedData |
Ruft die Größe des nicht initialisierten Datenabschnitts (BSS) oder die Summe aller solchen Abschnitte ab, wenn mehrere BSS-Abschnitte vorhanden sind. |
| Subsystem |
Ruft den Namen des Subsystems ab, das zum Ausführen dieses Images erforderlich ist. |
| ThreadLocalStorageTableDirectory |
Ruft den Thread-Local Speichertabelleneintrag ab. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |