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