PEHeader Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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) |