Udostępnij za pośrednictwem


PEHeader Klasa

Definicja

Reprezentuje nagłówek pliku przenośnego pliku wykonywalnego (PE).

public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
Dziedziczenie
PEHeader

Przykłady

W tym przykładzie pokazano, jak odczytywać informacje z nagłówka PE:

// 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}");
}

Uwagi

Format nagłówka pliku PE jest definiowany przez specyfikację PE. Ta klasa jest używana przez PEHeader właściwość .

Właściwości

AddressOfEntryPoint

Pobiera adres punktu wejścia względem bazy obrazu, gdy plik PE jest ładowany do pamięci.

BaseOfCode

Pobiera adres sekcji początek kodu względem bazy obrazów, gdy obraz jest ładowany do pamięci.

BaseOfData

Pobiera adres sekcji początek danych względem bazy obrazów po załadowaniu obrazu do pamięci.

BaseRelocationTableDirectory

Pobiera wpis Tabeli relokacji podstawowych.

BoundImportTableDirectory

Pobiera wpis Powiązana tabela importu.

CertificateTableDirectory

Pobiera wpis Tabela certyfikatów, który wskazuje tabelę certyfikatów atrybutów.

CheckSum

Pobiera sumę kontrolną pliku obrazu.

CopyrightTableDirectory

Pobiera wpis Tabela praw autorskich.

CorHeaderTableDirectory

Pobiera wpis tabeli nagłówka interfejsu wiersza polecenia.

DebugTableDirectory

Pobiera wpis debugowania tabeli.

DelayImportTableDirectory

Pobiera wpis Delay-Load Importuj tabelę.

DllCharacteristics

Pobiera cechy biblioteki linków dynamicznych.

ExceptionTableDirectory

Pobiera wpis Tabela wyjątków.

ExportTableDirectory

Pobiera wpis Eksportuj tabelę.

FileAlignment

Pobiera współczynnik wyrównania (w bajtach), który jest używany do wyrównania nieprzetworzonych danych sekcji w pliku obrazu.

GlobalPointerTableDirectory

Pobiera wpis tabela wskaźnika globalnego.

ImageBase

Pobiera preferowany adres pierwszego bajtu obrazu po załadowaniu go do pamięci.

ImportAddressTableDirectory

Pobiera wpis Import Address Table (Importuj tabelę adresów).

ImportTableDirectory

Pobiera wpis Import Table (Importuj tabelę).

LoadConfigTableDirectory

Pobiera wpis Load Configuration Table (Tabela konfiguracji obciążenia).

Magic

Pobiera wartość identyfikującą format pliku obrazu.

MajorImageVersion

Pobiera numer wersji głównej obrazu.

MajorLinkerVersion

Pobiera numer wersji głównej konsolidatora.

MajorOperatingSystemVersion

Pobiera numer wersji głównej wymaganego systemu operacyjnego.

MajorSubsystemVersion

Pobiera numer wersji głównej podsystemu.

MinorImageVersion

Pobiera numer wersji pomocniczej obrazu.

MinorLinkerVersion

Pobiera numer wersji pomocniczej konsolidatora.

MinorOperatingSystemVersion

Pobiera numer wersji pomocniczej wymaganego systemu operacyjnego.

MinorSubsystemVersion

Pobiera pomocniczy numer wersji podsystemu.

NumberOfRvaAndSizes

Pobiera liczbę wpisów katalogu danych w pozostałej części pliku PEHeader. Każdy z nich opisuje lokalizację i rozmiar.

ResourceTableDirectory

Pobiera wpis Tabela zasobów.

SectionAlignment

Pobiera wyrównanie (w bajtach) sekcji podczas ich ładowania do pamięci.

SizeOfCode

Pobiera rozmiar sekcji kodu (tekst) lub sumę wszystkich sekcji kodu, jeśli istnieje wiele sekcji.

SizeOfHeaders

Pobiera łączny rozmiar wycinków MS DOS, nagłówków PE i nagłówków sekcji zaokrąglonych do wielu elementów FileAlignment.

SizeOfHeapCommit

Pobiera rozmiar lokalnego obszaru sterty do zatwierdzenia.

SizeOfHeapReserve

Pobiera rozmiar lokalnego miejsca sterty do zarezerwowania. Zatwierdzane jest tylko SizeOfHeapCommit to, że reszta jest udostępniana jednej stronie w danym momencie do momentu osiągnięcia rozmiaru rezerwy.

SizeOfImage

Pobiera rozmiar (w bajtach) obrazu, w tym wszystkie nagłówki, ponieważ obraz jest ładowany w pamięci.

SizeOfInitializedData

Pobiera rozmiar zainicjowanej sekcji danych lub sumę wszystkich takich sekcji, jeśli istnieje wiele sekcji danych.

SizeOfStackCommit

Pobiera rozmiar stosu do zatwierdzenia.

SizeOfStackReserve

Pobiera rozmiar stosu do zarezerwowania. Zatwierdzane jest tylko SizeOfStackCommit to, że reszta jest udostępniana jednej stronie w danym momencie do momentu osiągnięcia rozmiaru rezerwy.

SizeOfUninitializedData

Pobiera rozmiar niezainicjowanej sekcji danych (BSS) lub sumę wszystkich takich sekcji, jeśli istnieje wiele sekcji usługi BSS.

Subsystem

Pobiera nazwę podsystemu wymaganego do uruchomienia tego obrazu.

ThreadLocalStorageTableDirectory

Pobiera wpis Thread-Local Storage Table.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy