Sdílet prostřednictvím


PEHeader Třída

Definice

Představuje hlavičku souboru Portable Executable (PE).

public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
Dědičnost
PEHeader

Příklady

Tento příklad ukazuje, jak číst informace z hlavičky 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}");
}

Poznámky

Formát hlavičky souboru PE je definován specifikací PE. Tuto třídu používá PEHeader vlastnost .

Vlastnosti

AddressOfEntryPoint

Získá adresu vstupního bodu vzhledem k základu image při načtení souboru PE do paměti.

BaseOfCode

Získá adresu začátku kódu oddílu vzhledem k základu image při načtení obrázku do paměti.

BaseOfData

Získá adresu začátek-of-data oddíl vzhledem k bitové kopie základ při načtení image do paměti.

BaseRelocationTableDirectory

Získá položku základní přemístění tabulky.

BoundImportTableDirectory

Získá položku Vázané import tabulky.

CertificateTableDirectory

Získá položku Certificate Table, která odkazuje na tabulku certifikátů atributů.

CheckSum

Získá kontrolní součet souboru obrázku.

CopyrightTableDirectory

Získá položku Copyright Table.

CorHeaderTableDirectory

Získá položku tabulka záhlaví rozhraní příkazového řádku.

DebugTableDirectory

Získá položku Ladicí tabulka.

DelayImportTableDirectory

Získá položku Delay-Load Import Table.

DllCharacteristics

Získá charakteristiky dynamické odkaz knihovny.

ExceptionTableDirectory

Získá položku Tabulka výjimek.

ExportTableDirectory

Získá položku Exportovat tabulku.

FileAlignment

Získá zarovnávací faktor (v bajtech), který se používá k zarovnání nezpracovaných dat oddílů v souboru obrázku.

GlobalPointerTableDirectory

Získá položku Globální ukazatel tabulky.

ImageBase

Získá upřednostňovanou adresu prvního bajtu image při načtení do paměti.

ImportAddressTableDirectory

Získá položku Tabulka importu adres.

ImportTableDirectory

Získá položku Importovat tabulku.

LoadConfigTableDirectory

Získá položku Načíst konfigurační tabulku.

Magic

Získá hodnotu, která identifikuje formát souboru obrázku.

MajorImageVersion

Získá číslo hlavní verze image.

MajorLinkerVersion

Získá číslo hlavní verze linkeru.

MajorOperatingSystemVersion

Získá číslo hlavní verze požadovaného operačního systému.

MajorSubsystemVersion

Získá číslo hlavní verze subsystému.

MinorImageVersion

Získá číslo podverze image.

MinorLinkerVersion

Získá číslo podverze linkeru.

MinorOperatingSystemVersion

Získá číslo podverze požadovaného operačního systému.

MinorSubsystemVersion

Získá číslo podverze subsystému.

NumberOfRvaAndSizes

Získá počet položek adresáře dat ve zbývající části objektu PEHeader. Každý z nich popisuje umístění a velikost.

ResourceTableDirectory

Získá položku Tabulka zdrojů.

SectionAlignment

Získá zarovnání (v bajtech) oddílů při jejich načtení do paměti.

SizeOfCode

Získá velikost kódu (text) oddílu nebo součet všech oddílů kódu, pokud existuje více oddílů.

SizeOfHeaders

Získá kombinovanou velikost zástupných procedur MS DOS hlavičky PE a záhlaví oddílu zaokrouhlené nahoru na násobek FileAlignment.

SizeOfHeapCommit

Získá velikost místa místní haldy k potvrzení.

SizeOfHeapReserve

Získá velikost místa místní haldy k rezervaci. Pouze SizeOfHeapCommit je potvrzena; zbytek je k dispozici po jedné stránce, dokud nebude dosaženo velikosti rezervy.

SizeOfImage

Získá velikost (v bajtech) obrázku, včetně všech záhlaví, jak je obrázek načten v paměti.

SizeOfInitializedData

Získá velikost inicializovaného datového oddílu nebo součet všech takových oddílů, pokud existuje více datových oddílů.

SizeOfStackCommit

Získá velikost zásobníku k potvrzení.

SizeOfStackReserve

Získá velikost zásobníku k rezervaci. Pouze SizeOfStackCommit je potvrzena; zbytek je k dispozici po jedné stránce, dokud nebude dosaženo velikosti rezervy.

SizeOfUninitializedData

Získá velikost neinicializovaného datového oddílu (BSS) nebo součet všech těchto oddílů, pokud existuje více oddílů BSS.

Subsystem

Získá název subsystému, který je potřebný ke spuštění této image.

ThreadLocalStorageTableDirectory

Získá položku Thread-Local Storage Table.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro