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

AddressOfEntryPoint

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

BaseOfCode

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

BaseOfData

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

BaseRelocationTableDirectory

Obtient l’entrée Table de relocalisations de base.

BoundImportTableDirectory

Obtient l’entrée Table d’importation liée.

CertificateTableDirectory

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

CheckSum

Obtient la somme de contrôle du fichier image.

CopyrightTableDirectory

Obtient l’entrée Table des droits d’auteur.

CorHeaderTableDirectory

Obtient l’entrée Table d’en-têtes CLI.

DebugTableDirectory

Obtient l’entrée Debug Table.

DelayImportTableDirectory

Obtient l’entrée Import Table Delay-Load.

DllCharacteristics

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

ExceptionTableDirectory

Obtient l’entrée Table d’exceptions.

ExportTableDirectory

Obtient l’entrée Exporter la 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 par défaut du premier octet de l’image quand il est chargé en mémoire.

ImportAddressTableDirectory

Obtient l’entrée Importer la table d’adresses.

ImportTableDirectory

Obtient l’entrée Import Table.

LoadConfigTableDirectory

Obtient l’entrée Table de configuration de charge.

Magic

Obtient une valeur qui identifie le format du fichier image.

MajorImageVersion

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

MajorLinkerVersion

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

MajorOperatingSystemVersion

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

MajorSubsystemVersion

Retourne le numéro de version principale du sous-système.

MinorImageVersion

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

MinorLinkerVersion

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

MinorOperatingSystemVersion

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

MinorSubsystemVersion

Retourne 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 PEHeader. Chacune décrit un emplacement et une taille.

ResourceTableDirectory

Obtient l’entrée Table de ressources.

SectionAlignment

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

SizeOfCode

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

SizeOfHeaders

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

SizeOfHeapCommit

Obtient la taille de l’espace du segment de mémoire local à valider.

SizeOfHeapReserve

Obtient la taille de l’espace du segment de mémoire local à réserver. Seul SizeOfHeapCommit est commité. Le reste est mis à disposition, 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, quand l’image est chargée en mémoire.

SizeOfInitializedData

Obtient la taille de la section de données initialisées, ou la somme de toutes ces sections s’il y a 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 commité. Le reste est mis à disposition, 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ées (BSS), ou la somme de toutes ces sections s’il y a plusieurs sections BSS.

Subsystem

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

ThreadLocalStorageTableDirectory

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

Méthodes

Equals(Object)

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

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

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

(Hérité de Object)

S’applique à