PEReader Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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. |