PEHeader Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
| Nazwa | Opis |
|---|---|
| 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
| Nazwa | Opis |
|---|---|
| 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) |