PEHeader Classe

Définition

Représente l’en-tête de fichier Exécutable portable (PE).

public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
Héritage
PEHeader

Exemples

Cet exemple montre comment lire des informations à partir de l’en-tête 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}");
}

Remarques

Le format d’en-tête de fichier PE est défini par la spécification PE. Cette classe est utilisée par la PEHeader propriété.

Propriétés

Nom Description
AddressOfEntryPoint

Obtient l’adresse du point d’entrée par rapport à la base de l’image lorsque le fichier PE est chargé en mémoire.

BaseOfCode

Obtient l’adresse de la section de début de code par rapport à la base d’images lorsque l’image est chargée en mémoire.

BaseOfData

Obtient l’adresse de la section début de données par rapport à la base d’images lorsque l’image est chargée en mémoire.

BaseRelocationTableDirectory

Obtient l’entrée de table de réadressage de base.

BoundImportTableDirectory

Obtient l’entrée De table d’importation liée.

CertificateTableDirectory

Obtient l’entrée table de certificats, qui pointe vers une table de certificats d’attribut.

CheckSum

Obtient la somme de contrôle du fichier image.

CopyrightTableDirectory

Obtient l’entrée de table de droits d’auteur.

CorHeaderTableDirectory

Obtient l’entrée de table d’en-tête CLI.

DebugTableDirectory

Obtient l’entrée Debug Table.

DelayImportTableDirectory

Obtient l’entrée Delay-Load Importer une table.

DllCharacteristics

Obtient les caractéristiques d’une bibliothèque de liens dynamiques.

ExceptionTableDirectory

Obtient l’entrée De table d’exceptions.

ExportTableDirectory

Obtient l’entrée Export Table.

FileAlignment

Obtient le facteur d’alignement (en octets) utilisé pour aligner les données brutes des sections dans le fichier image.

GlobalPointerTableDirectory

Obtient l’entrée Global Pointer Table.

ImageBase

Obtient l’adresse préférée du premier octet de l’image lorsqu’elle est chargée en mémoire.

ImportAddressTableDirectory

Obtient l’entrée Import Address Table.

ImportTableDirectory

Obtient l’entrée Import Table.

LoadConfigTableDirectory

Obtient l’entrée Charger la table de configuration.

Magic

Obtient une valeur qui identifie le format du fichier image.

MajorImageVersion

Obtient le numéro de version principal de l’image.

MajorLinkerVersion

Obtient le numéro de version principale de l’éditeur de liens.

MajorOperatingSystemVersion

Obtient le numéro de version principal du système d’exploitation requis.

MajorSubsystemVersion

Obtient le numéro de version principal du sous-système.

MinorImageVersion

Obtient le numéro de version secondaire de l’image.

MinorLinkerVersion

Obtient le numéro de version mineure de l’éditeur de liens.

MinorOperatingSystemVersion

Obtient le numéro de version secondaire du système d’exploitation requis.

MinorSubsystemVersion

Obtient le numéro de version secondaire du sous-système.

NumberOfRvaAndSizes

Obtient le nombre d’entrées de répertoire de données dans le reste du PEHeaderfichier . Chacune décrit un emplacement et une taille.

ResourceTableDirectory

Obtient l’entrée table de ressources.

SectionAlignment

Obtient l’alignement (en octets) des sections lorsqu’elles sont chargées en mémoire.

SizeOfCode

Obtient la taille de la section code (texte) ou la somme de toutes les sections de code s’il existe plusieurs sections.

SizeOfHeaders

Obtient la taille combinée d’un stub MS DOS, d’en-tête PE et d’en-têtes de section arrondis à un multiple de FileAlignment.

SizeOfHeapCommit

Obtient la taille de l’espace tas local à valider.

SizeOfHeapReserve

Obtient la taille de l’espace de tas local à réserver. Seul SizeOfHeapCommit est validé ; le reste est mis à la disposition d’une page à la fois jusqu’à ce que la taille de réserve soit atteinte.

SizeOfImage

Obtient la taille (en octets) de l’image, y compris tous les en-têtes, car l’image est chargée en mémoire.

SizeOfInitializedData

Obtient la taille de la section de données initialisée ou la somme de toutes ces sections s’il existe plusieurs sections de données.

SizeOfStackCommit

Obtient la taille de la pile à valider.

SizeOfStackReserve

Obtient la taille de la pile à réserver. Seul SizeOfStackCommit est validé ; le reste est mis à la disposition d’une page à la fois jusqu’à ce que la taille de réserve soit atteinte.

SizeOfUninitializedData

Obtient la taille de la section de données non initialisée (BSS) ou la somme de toutes ces sections s’il existe plusieurs sections BSS.

Subsystem

Obtient le nom du sous-système requis pour exécuter cette image.

ThreadLocalStorageTableDirectory

Obtient l’entrée de table de stockage Thread-Local.

Méthodes

Nom Description
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à