PEHeader Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt de PE-bestandsheader (Portable Executable).
public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
- Overname
-
PEHeader
Voorbeelden
In dit voorbeeld ziet u hoe u informatie uit de PE-header leest:
// 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}");
}
Opmerkingen
De PE-bestandsindeling voor bestandskopteksten wordt gedefinieerd door de PE-specificatie. Deze klasse wordt gebruikt door de PEHeader eigenschap.
Eigenschappen
| Name | Description |
|---|---|
| AddressOfEntryPoint |
Hiermee haalt u het adres van het toegangspunt op ten opzichte van de basis van de installatiekopieën wanneer het PE-bestand in het geheugen wordt geladen. |
| BaseOfCode |
Hiermee haalt u het adres op van het begin van de codesectie ten opzichte van de basis van de installatiekopieën wanneer de afbeelding in het geheugen wordt geladen. |
| BaseOfData |
Hiermee haalt u het adres op van het begin van de gegevenssectie ten opzichte van de basis van de installatiekopieën wanneer de afbeelding in het geheugen wordt geladen. |
| BaseRelocationTableDirectory |
Hiermee haalt u de tabelvermelding Basisverplaatsingen op. |
| BoundImportTableDirectory |
Hiermee haalt u de invoer van de gebonden importtabel op. |
| CertificateTableDirectory |
Hiermee haalt u de vermelding Certificaattabel op, die verwijst naar een tabel met kenmerkcertificaten. |
| CheckSum |
Hiermee haalt u de controlesom van het afbeeldingsbestand op. |
| CopyrightTableDirectory |
Hiermee haalt u de vermelding Copyright Table op. |
| CorHeaderTableDirectory |
Hiermee haalt u de cli-headertabelvermelding op. |
| DebugTableDirectory |
Hiermee haalt u de vermelding Tabel voor foutopsporing op. |
| DelayImportTableDirectory |
Hiermee haalt u de Delay-Load importtabelvermelding op. |
| DllCharacteristics |
Hiermee haalt u de kenmerken van een dynamische koppelingsbibliotheek op. |
| ExceptionTableDirectory |
Hiermee wordt de vermelding Uitzonderingstabel opgehaald. |
| ExportTableDirectory |
Hiermee haalt u de vermelding Tabel exporteren op. |
| FileAlignment |
Hiermee haalt u de uitlijningsfactor (in bytes) op die wordt gebruikt om de onbewerkte gegevens van secties in het afbeeldingsbestand uit te lijnen. |
| GlobalPointerTableDirectory |
Hiermee haalt u de vermelding Global Pointer Table op. |
| ImageBase |
Hiermee haalt u het voorkeursadres van de eerste byte van de installatiekopieën op wanneer deze in het geheugen wordt geladen. |
| ImportAddressTableDirectory |
Hiermee haalt u de vermelding Adrestabel importeren op. |
| ImportTableDirectory |
Hiermee haalt u de vermelding Tabel importeren op. |
| LoadConfigTableDirectory |
Hiermee haalt u de vermelding Load Configuration Table op. |
| Magic |
Hiermee haalt u een waarde op waarmee de indeling van het afbeeldingsbestand wordt geïdentificeerd. |
| MajorImageVersion |
Hiermee wordt het primaire versienummer van de installatiekopieën opgehaald. |
| MajorLinkerVersion |
Hiermee haalt u het primaire versienummer van de linker op. |
| MajorOperatingSystemVersion |
Hiermee haalt u het primaire versienummer van het vereiste besturingssysteem op. |
| MajorSubsystemVersion |
Hiermee haalt u het primaire versienummer van het subsysteem op. |
| MinorImageVersion |
Hiermee wordt het secundaire versienummer van de installatiekopieën opgehaald. |
| MinorLinkerVersion |
Hiermee haalt u het secundaire versienummer van de linker op. |
| MinorOperatingSystemVersion |
Hiermee haalt u het secundaire versienummer van het vereiste besturingssysteem op. |
| MinorSubsystemVersion |
Hiermee haalt u het secundaire versienummer van het subsysteem op. |
| NumberOfRvaAndSizes |
Hiermee wordt het aantal gegevensmapvermeldingen in de rest van de PEHeadermap opgehaald. Elk beschrijft een locatie en grootte. |
| ResourceTableDirectory |
Hiermee haalt u de vermelding Resourcetabel op. |
| SectionAlignment |
Hiermee haalt u de uitlijning (in bytes) van secties op wanneer deze in het geheugen worden geladen. |
| SizeOfCode |
Hiermee haalt u de grootte van de codesectie (tekst) of de som van alle codesecties op als er meerdere secties zijn. |
| SizeOfHeaders |
Hiermee haalt u de gecombineerde grootte van een MS DOS-stub, PE-header en sectieheaders op die zijn afgerond op een veelvoud van FileAlignment. |
| SizeOfHeapCommit |
Hiermee haalt u de grootte van de lokale heapruimte op die moet worden doorgevoerd. |
| SizeOfHeapReserve |
Hiermee wordt de grootte van de lokale heap ruimte om te reserveren. Alleen SizeOfHeapCommit wordt vastgelegd; de rest wordt één pagina tegelijk beschikbaar gesteld totdat de reservegrootte is bereikt. |
| SizeOfImage |
Hiermee wordt de grootte (in bytes) van de afbeelding opgehaald, inclusief alle headers, omdat de afbeelding in het geheugen wordt geladen. |
| SizeOfInitializedData |
Hiermee haalt u de grootte van de geïnitialiseerde gegevenssectie of de som van alle dergelijke secties op als er meerdere gegevenssecties zijn. |
| SizeOfStackCommit |
Hiermee haalt u de grootte van de stack op die moet worden doorgevoerd. |
| SizeOfStackReserve |
Hiermee haalt u de grootte van de stack op die u wilt reserveren. Alleen SizeOfStackCommit wordt vastgelegd; de rest wordt één pagina tegelijk beschikbaar gesteld totdat de reservegrootte is bereikt. |
| SizeOfUninitializedData |
Hiermee wordt de grootte van de niet-geïnitialiseerde gegevenssectie (BSS) of de som van alle dergelijke secties opgehaald als er meerdere BSS-secties zijn. |
| Subsystem |
Hiermee haalt u de naam op van het subsysteem dat nodig is om deze installatiekopieën uit te voeren. |
| ThreadLocalStorageTableDirectory |
Hiermee haalt u de Thread-Local Storage Table-vermelding op. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |