PEHeader Třída

Definice

Představuje hlavičku souboru přenosných spustitelných souborů (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. Tato třída je používána PEHeader vlastností.

Vlastnosti

Name Description
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 počátečního oddílu kódu vzhledem k základu image při načtení image do paměti.

BaseOfData

Získá adresu počátečního datového oddílu vzhledem k základu image při načtení image do paměti.

BaseRelocationTableDirectory

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

BoundImportTableDirectory

Získá vázanou položku importu tabulky.

CertificateTableDirectory

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

CheckSum

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

CopyrightTableDirectory

Získá položku Tabulka autorských práv.

CorHeaderTableDirectory

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

DebugTableDirectory

Získá položku Ladicí tabulka.

DelayImportTableDirectory

Získá položku Delay-Load Importovat tabulku.

DllCharacteristics

Získá vlastnosti dynamické knihovny odkazů.

ExceptionTableDirectory

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

ExportTableDirectory

Získá položku Exportovat tabulku.

FileAlignment

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

GlobalPointerTableDirectory

Získá položku Globální tabulka ukazatelů.

ImageBase

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

ImportAddressTableDirectory

Získá položku Importovat tabulku 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 datového adresáře ve zbývající části PEHeadersouboru . Každý popisuje umístění a velikost.

ResourceTableDirectory

Získá položku Tabulka zdrojů.

SectionAlignment

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

SizeOfCode

Získá velikost oddílu kódu (text) 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, záhlaví PE a záhlaví oddílů zaokrouhlené nahoru na násobek FileAlignment.

SizeOfHeapCommit

Získá velikost místního prostoru haldy k potvrzení.

SizeOfHeapReserve

Získá velikost místního prostoru haldy rezervovat. Potvrzeno je pouze SizeOfHeapCommit ; zbytek je k dispozici po jedné stránce, dokud nedosáhnete velikosti rezervy.

SizeOfImage

Získá velikost obrázku (v bajtech), včetně všech hlaviček, protože image je načtena do paměti.

SizeOfInitializedData

Získá velikost inicializovaného datového oddílu nebo součet všech těchto 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. Potvrzeno je pouze SizeOfStackCommit ; zbytek je k dispozici po jedné stránce, dokud nedosáhnete velikosti rezervy.

SizeOfUninitializedData

Získá velikost neinicializovaného oddílu dat (BSS) nebo součet všech takových oddílů, pokud existuje více oddílů BSS.

Subsystem

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

ThreadLocalStorageTableDirectory

Získá položku Thread-Local Tabulka úložiště.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

Získá Type aktuální instance.

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

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

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

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

(Zděděno od Object)

Platí pro