PEHeader Klasse

Definition

Stellt den PE-Dateiheader (Portable Executable) dar.

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-Dateiheaderformat wird durch die PE-Spezifikation definiert. Diese Klasse wird von der PEHeader -Eigenschaft verwendet.

Eigenschaften

AddressOfEntryPoint

Ruft beim Laden der PE-Datei in den Arbeitsspeicher die Adresse des Einstiegspunkts relativ zur Imagebasis ab.

BaseOfCode

Ruft beim Laden des Images in den Arbeitsspeicher die Adresse des Codeanfangsabschnitts relativ zur Imagebasis ab.

BaseOfData

Ruft beim Laden des Images in den Arbeitsspeicher die Adresse des Datenanfangsabschnitts relativ zur Imagebasis ab.

BaseRelocationTableDirectory

Ruft den Eintrag Base Relocations Table ab.

BoundImportTableDirectory

Ruft den Eintrag Bound Import Table ab.

CertificateTableDirectory

Ruft den Eintrag der Zertifikatstabelle ab, der auf eine Tabelle mit Attributzertifikaten zeigt.

CheckSum

Ruft die Prüfsumme des Imagedatei ab.

CopyrightTableDirectory

Ruft den Eintrag Copyright Table ab.

CorHeaderTableDirectory

Ruft den CLI-Headertabelleneintrag ab.

DebugTableDirectory

Ruft den Eintrag Debug Table ab.

DelayImportTableDirectory

Ruft den Eintrag Delay-Load Tabelle importieren ab.

DllCharacteristics

Ruft die Merkmale einer Bibliothek mit dynamischem Link ab.

ExceptionTableDirectory

Ruft den Eintrag Ausnahmetabelle ab.

ExportTableDirectory

Ruft den Eintrag Tabelle exportieren ab.

FileAlignment

Ruft den Ausrichtungsfaktor (in Byte) ab, der verwendet wird, um die Rohdaten von Abschnitten in der Imagedatei auszurichten.

GlobalPointerTableDirectory

Ruft den Eintrag Globale Zeigertabelle ab.

ImageBase

Ruft beim Laden in den Arbeitsspeicher die bevorzugte Adresse des ersten Imagebytes ab.

ImportAddressTableDirectory

Ruft den Eintrag "Import Address Table" ab.

ImportTableDirectory

Ruft den Eintrag Tabelle importieren ab.

LoadConfigTableDirectory

Ruft den Eintrag Load Configuration Table ab.

Magic

Ruft einen Wert ab, der das Format der Imagedatei angibt.

MajorImageVersion

Ruft die Hauptversionsnummer des Images ab.

MajorLinkerVersion

Ruft die Hauptversionsnummer des Linker ab.

MajorOperatingSystemVersion

Ruft die Hauptversionsnummer des erforderlichen Betriebssystems ab.

MajorSubsystemVersion

Ruft die Hauptversionsnummer des Subsystems ab.

MinorImageVersion

Ruft die Nebenversionsnummer des Images ab.

MinorLinkerVersion

Ruft die Nebenversionsnummer des Linker 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 von PEHeader ab. Jeder beschreibt einen Speicherort und eine Größe.

ResourceTableDirectory

Ruft den Eintrag Resource Table ab.

SectionAlignment

Ruft beim Laden in den Arbeitsspeicher die Ausrichtung (in Byte) von Abschnitten ab.

SizeOfCode

Ruft die Größe des Codeabschnitts (Textes) oder die Summe aller Codeabschnitte ab, wenn mehrere Abschnitte vorhanden sind.

SizeOfHeaders

Ruft die kombinierte Größe von MS DOS-Stub, PE-Header und Abschnittsheadern aufgerundet auf ein Vielfaches von FileAlignment ab.

SizeOfHeapCommit

Ruft die Größe des Speicherplatzes für den lokalen Heap ab, für den ein Commit ausgeführt werden soll.

SizeOfHeapReserve

Ruft die Größe des Speicherplatzes für den lokalen Heap ab, der reserviert werden soll. Nur für SizeOfHeapCommit wird ein Commit ausgeführt. Der Rest wird auf jeweils einer Seite verfügbar gemacht, bis die Reservierungsgröße erreicht ist.

SizeOfImage

Ruft beim Laden des Images in den Arbeitsspeicher die Größe (in Byte) des Images mit allen Headern ab.

SizeOfInitializedData

Ruft die Größe des Abschnitts mit den initialisierten Daten oder die Summe aller derartiger Abschnitte ab, wenn mehrere Datenabschnitte vorhanden sind.

SizeOfStackCommit

Ruft die Größe des Stapels ab, für den ein Commit ausgeführt werden soll.

SizeOfStackReserve

Ruft die Größe des Stapels ab, der reserviert werden soll. Nur für SizeOfStackCommit wird ein Commit ausgeführt. Der Rest wird auf jeweils einer Seite verfügbar gemacht, bis die Reservierungsgröße erreicht ist.

SizeOfUninitializedData

Ruft die Größe des Abschnitts mit den nicht initialisierten Daten (BSS) oder die Summe aller derartiger 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 Eintrag Thread-Local Storage Table ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: