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