PEHeader Osztály

Definíció

A Hordozható végrehajtható (PE) fájlfejlécet jelöli.

public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
Öröklődés
PEHeader

Példák

Ez a példa bemutatja, hogyan olvashatja be az információkat a PE fejlécből:

// 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}");
}

Megjegyzések

A PE fájlfejléc formátumát a PE-specifikáció határozza meg. Ezt az osztályt használja a PEHeader tulajdonság.

Tulajdonságok

Name Description
AddressOfEntryPoint

Lekéri a belépési pont címét a képbázishoz képest, amikor a PE-fájl betöltődik a memóriába.

BaseOfCode

Lekéri a kód elejének szakasz címét a képbázishoz képest, amikor a rendszerkép betöltődik a memóriába.

BaseOfData

Lekéri az adatok elejének szakasz címét a képbázishoz képest, amikor a rendszerkép betöltődik a memóriába.

BaseRelocationTableDirectory

Lekéri az Alapáthelyezések táblabejegyzést.

BoundImportTableDirectory

Lekéri a Kötött importálási tábla bejegyzést.

CertificateTableDirectory

Lekéri a Tanúsítványtábla bejegyzést, amely attribútumtanúsítványok táblájára mutat.

CheckSum

Lekéri a képfájl ellenőrzőösszegét.

CopyrightTableDirectory

Lekéri a Copyright Table bejegyzést.

CorHeaderTableDirectory

Lekéri a CLI-fejléctábla bejegyzését.

DebugTableDirectory

Lekéri a Hibakeresési tábla bejegyzést.

DelayImportTableDirectory

Lekéri a Delay-Load Tábla importálása bejegyzést.

DllCharacteristics

Lekéri a dinamikus kapcsolatkódtár jellemzőit.

ExceptionTableDirectory

Lekéri a Kivételtábla bejegyzést.

ExportTableDirectory

Lekéri a Tábla exportálása bejegyzést.

FileAlignment

Lekéri a képfájlban lévő szakaszok nyers adatainak igazításához használt igazítási tényezőt (bájtban).

GlobalPointerTableDirectory

Lekéri a Globális mutatótábla bejegyzést.

ImageBase

A rendszerkép első bájtjának elsődleges címét adja meg a memóriába való betöltésekor.

ImportAddressTableDirectory

Lekéri a Címtábla importálása bejegyzést.

ImportTableDirectory

Lekéri a Tábla importálása bejegyzést.

LoadConfigTableDirectory

Lekéri a Load Configuration Table bejegyzést.

Magic

Lekéri a képfájl formátumát azonosító értéket.

MajorImageVersion

Lekéri a rendszerkép főverziószámát.

MajorLinkerVersion

Lekéri a linker főverziószámát.

MajorOperatingSystemVersion

Lekéri a szükséges operációs rendszer főverziószámát.

MajorSubsystemVersion

Lekéri az alrendszer főverziószámát.

MinorImageVersion

Lekéri a kép alverziószámát.

MinorLinkerVersion

Lekéri a linker alverziószámát.

MinorOperatingSystemVersion

Lekéri a szükséges operációs rendszer alverziószámát.

MinorSubsystemVersion

Lekéri az alrendszer alverziószámát.

NumberOfRvaAndSizes

Lekéri az adatkönyvtár-bejegyzések számát a PEHeadertöbbi részből. Mindegyik egy helyet és méretet ír le.

ResourceTableDirectory

Lekéri az Erőforrástábla bejegyzést.

SectionAlignment

Lekéri a szakaszok igazítását (bájtban), amikor betölti őket a memóriába.

SizeOfCode

Lekéri a kódszakasz (szöveg) méretét vagy az összes kódszakasz összegét, ha több szakasz is van.

SizeOfHeaders

Lekéri az MS DOS-csonkok, PE-fejlécek és szakaszfejlécek összesített méretét a FileAlignment többszörösére kerekítve.

SizeOfHeapCommit

Lekéri a véglegesítendő helyi halomterület méretét.

SizeOfHeapReserve

Lekéri a lefoglalni kívánt helyi halomterület méretét. Csak SizeOfHeapCommit véglegesítve van; a többi lap egyszerre egy oldalon érhető el, amíg el nem éri a foglalás méretét.

SizeOfImage

Lekéri a kép méretét (bájtban), beleértve az összes fejlécet is, mivel a rendszerkép betöltődik a memóriába.

SizeOfInitializedData

Lekéri az inicializált adatszakasz méretét vagy az összes ilyen szakasz összegét, ha több adatszakasz van.

SizeOfStackCommit

Lekéri a véglegesíteni kívánt verem méretét.

SizeOfStackReserve

Lekéri a lefoglalni kívánt verem méretét. Csak SizeOfStackCommit véglegesítve van; a többi lap egyszerre egy oldalon érhető el, amíg el nem éri a foglalás méretét.

SizeOfUninitializedData

Lekéri a nem inicializált adatszakasz (BSS) méretét vagy az összes ilyen szakasz összegét, ha több BSS-szakasz is van.

Subsystem

Lekéri a rendszerkép futtatásához szükséges alrendszer nevét.

ThreadLocalStorageTableDirectory

Lekéri a Thread-Local Storage Table bejegyzést.

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes: