PEReader Classe

Définition

Fournit un lecteur pour les fichiers au format PE (Portable Executable).

public ref class PEReader sealed : IDisposable
public sealed class PEReader : IDisposable
type PEReader = class
    interface IDisposable
Public NotInheritable Class PEReader
Implements IDisposable
Héritage
PEReader
Implémente

Remarques

L’implémentation est thread-safe. Autrement dit, plusieurs threads peuvent lire les données du lecteur en parallèle. La suppression du lecteur n’est pas thread-safe (voir Dispose()).

Constructeurs

PEReader(Byte*, Int32)

Crée un lecteur Portable Executable sur une image PE stockée en mémoire.

PEReader(Byte*, Int32, Boolean)

Crée un lecteur Portable Executable sur une image PE stockée en mémoire. Un indicateur précise si l’image a déjà été chargée en mémoire.

PEReader(ImmutableArray<Byte>)

Crée un lecteur Portable Executable sur une image PE stockée dans un tableau d’octets.

PEReader(Stream)

Crée un lecteur Portable Executable sur une image PE stockée dans un flux.

PEReader(Stream, PEStreamOptions)

Crée un lecteur Portable Executable sur une image PE stockée dans un flux, en commençant à sa position actuelle et en finissant à la fin du flux.

PEReader(Stream, PEStreamOptions, Int32)

Crée un lecteur Portable Executable sur une image PE de la taille donnée en commençant à la position actuelle du flux.

Propriétés

HasMetadata

Obtient une valeur qui indique si l’image PE contient des métadonnées CLI.

IsEntireImageAvailable

Obtient une valeur qui indique si le lecteur peut accéder à la totalité de l’image PE.

IsLoadedImage

Obtient une valeur qui indique si l’image PE a été chargée en mémoire par le chargeur du système d’exploitation.

PEHeaders

Obtient les en-têtes PE.

Méthodes

Dispose()

Supprime toute la mémoire allouée par le lecteur.

Equals(Object)

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

(Hérité de Object)
GetEntireImage()

Obtient un objet PEMemoryBlock contenant la totalité de l’image PE.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetMetadata()

Charge une section PE qui contient des métadonnées CLI.

GetSectionData(Int32)

Charge la section PE qui contient l’adresse virtuelle relative spécifiée en mémoire, et retourne un bloc de mémoire qui commence à cette adresse et se termine à la fin de la section contenante.

GetSectionData(String)

Charge la section PE avec le nom spécifié en mémoire et retourne un bloc de mémoire qui couvre la section.

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)
ReadCodeViewDebugDirectoryData(DebugDirectoryEntry)

Lit les données vers lesquelles pointe l’entrée de répertoire de débogage spécifiée, et les interprète en tant que CodeView.

ReadDebugDirectory()

Lit toutes les entrées de la table de répertoire de débogage.

ReadEmbeddedPortablePdbDebugDirectoryData(DebugDirectoryEntry)

Lit les données vers lesquelles pointe l’entrée de répertoire de débogage spécifiée, et les interprète en tant qu’objet blob PDB Embedded Portable.

ReadPdbChecksumDebugDirectoryData(DebugDirectoryEntry)

Lit les données vers lesquelles pointe l’entrée de répertoire de débogage spécifiée, et les interprète en tant qu’entrée de somme de contrôle PDB.

ToString()

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

(Hérité de Object)
TryOpenAssociatedPortablePdb(String, Func<String,Stream>, MetadataReaderProvider, String)

Ouvre un fichier PDB Portable associé à cette image PE.

Méthodes d’extension

GetMetadataReader(PEReader)

Obtient un MetadataReader d'un PEReader

GetMetadataReader(PEReader, MetadataReaderOptions)

Obtient un lecteur de métadonnées avec la configuration de lecture de métadonnées spécifiée à partir d’un PEReader.

GetMetadataReader(PEReader, MetadataReaderOptions, MetadataStringDecoder)

Obtient un lecteur de métadonnées ayant la configuration de lecture des métadonnées et la configuration d’encodage spécifiées à partir d’un PEReader.

GetMethodBody(PEReader, Int32)

Retourne un bloc de corps d’une méthode avec l’adresse virtuelle relative (RVA) spécifiée.

S’applique à