Partager via


PEReader Classe

Définition

Fournit un lecteur pour les fichiers de format exécutable portable (PE).

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

Avertissement

Ce type n’est pas conçu pour gérer les entrées non approuvées. Les fichiers PE mal formés ou malveillants peuvent entraîner un comportement inattendu, notamment l’accès à la mémoire hors limites, les blocages ou les blocages. PEReader Utilisez uniquement des fichiers ou des images PE approuvés.

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

Constructeurs

Nom Description
PEReader(Byte*, Int32, Boolean)

Crée un lecteur exécutable portable sur une image PE stockée en mémoire. Un indicateur indique si l’image a déjà été chargée en mémoire.

PEReader(Byte*, Int32)

Crée un lecteur exécutable portable sur une image PE stockée en mémoire.

PEReader(ImmutableArray<Byte>)

Crée un lecteur exécutable portable sur une image PE stockée dans un tableau d’octets.

PEReader(Stream, PEStreamOptions, Int32)

Crée un lecteur exécutable portable sur une image PE de la taille donnée commençant à la position actuelle du flux.

PEReader(Stream, PEStreamOptions)

Crée un lecteur exécutable portable sur une image PE stockée dans un flux commençant à sa position actuelle et se terminant à la fin du flux.

PEReader(Stream)

Crée un lecteur exécutable portable sur une image PE stockée dans un flux.

Propriétés

Nom Description
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 à l’image PE entière.

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

Nom Description
Dispose()

Supprime toutes les mémoires allouées par le lecteur.

Equals(Object)

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

(Hérité de Object)
GetEntireImage()

Obtient un PEMemoryBlock objet contenant l’image PE entière.

GetHashCode()

Sert 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 s’étend sur la section.

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ReadCodeViewDebugDirectoryData(DebugDirectoryEntry)

Lit les données pointées par l’entrée Debug Directory spécifiée et l’interprète comme CodeView.

ReadDebugDirectory()

Lit toutes les entrées de la table Debug Directory.

ReadEmbeddedPortablePdbDebugDirectoryData(DebugDirectoryEntry)

Lit les données pointées par l’entrée Debug Directory spécifiée et l’interprète comme un objet blob PDB portable incorporé.

ReadPdbChecksumDebugDirectoryData(DebugDirectoryEntry)

Lit les données pointées par l’entrée Debug Directory spécifiée et l’interprète comme une 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 une base de données PDB portable associée à cette image PE.

Méthodes d’extension

Nom Description
GetMetadataReader(PEReader, MetadataReaderOptions, MetadataStringDecoder)

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

GetMetadataReader(PEReader, MetadataReaderOptions)

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

GetMetadataReader(PEReader)

Obtient une MetadataReader valeur 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 à