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.
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) |