Freigeben über


PEReader Klasse

Definition

Stellt einen Reader für PE-Dateien (Portable Executable Format) bereit.

public ref class PEReader sealed : IDisposable
public sealed class PEReader : IDisposable
type PEReader = class
    interface IDisposable
Public NotInheritable Class PEReader
Implements IDisposable
Vererbung
PEReader
Implementiert

Hinweise

Vorsicht

Dieser Typ ist nicht für die Verarbeitung nicht vertrauenswürdiger Eingaben konzipiert. Fehlerhafte oder böswillige PE-Dateien können zu unerwartetem Verhalten führen, einschließlich nicht gebundener Speicherzugriff, Abstürze oder Blockaden. Wird nur für vertrauenswürdige PE-Dateien oder -Bilder verwendet PEReader .

Die Implementierung ist threadsicher. Das heißt, mehrere Threads können Daten parallel vom Reader lesen. Die Entsorgung des Lesers ist nicht threadsicher (siehe Dispose()).

Konstruktoren

Name Beschreibung
PEReader(Byte*, Int32, Boolean)

Erstellt einen portablen ausführbaren Reader über ein PE-Image, das im Arbeitsspeicher gespeichert ist. Ein Kennzeichen gibt an, ob das Bild bereits in den Arbeitsspeicher geladen wurde.

PEReader(Byte*, Int32)

Erstellt einen portablen ausführbaren Reader über ein PE-Image, das im Arbeitsspeicher gespeichert ist.

PEReader(ImmutableArray<Byte>)

Erstellt einen portablen ausführbaren Reader über ein PE-Image, das in einem Bytearray gespeichert ist.

PEReader(Stream, PEStreamOptions, Int32)

Erstellt einen portablen ausführbaren Reader über ein PE-Bild der angegebenen Größe beginnend an der aktuellen Position des Datenstroms.

PEReader(Stream, PEStreamOptions)

Erstellt einen portablen ausführbaren Reader über ein PE-Bild, das an seiner aktuellen Position und am Ende des Datenstroms in einem Datenstrom gespeichert ist.

PEReader(Stream)

Erstellt einen portablen ausführbaren Reader über ein PE-Image, das in einem Datenstrom gespeichert ist.

Eigenschaften

Name Beschreibung
HasMetadata

Ruft einen Wert ab, der angibt, ob das PE-Image CLI-Metadaten enthält.

IsEntireImageAvailable

Ruft einen Wert ab, der angibt, ob der Leser auf das gesamte PE-Bild zugreifen kann.

IsLoadedImage

Ruft einen Wert ab, der angibt, ob das PE-Image vom Betriebssystemladeprogramm in den Arbeitsspeicher geladen wurde.

PEHeaders

Ruft die PE-Header ab.

Methoden

Name Beschreibung
Dispose()

Entfernt alle vom Leser zugewiesenen Arbeitsspeicher.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetEntireImage()

Ruft ein PEMemoryBlock Objekt ab, das das gesamte PE-Bild enthält.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetMetadata()

Lädt einen PE-Abschnitt, der CLI-Metadaten enthält.

GetSectionData(Int32)

Lädt den PE-Abschnitt, der die angegebene relative virtuelle Adresse enthält, in den Arbeitsspeicher und gibt einen Speicherblock zurück, der an dieser Adresse beginnt und am Ende des enthaltenden Abschnitts endet.

GetSectionData(String)

Lädt den PE-Abschnitt mit dem angegebenen Namen in den Arbeitsspeicher und gibt einen Speicherblock zurück, der den Abschnitt umfasst.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ReadCodeViewDebugDirectoryData(DebugDirectoryEntry)

Liest die Daten, auf die durch den angegebenen Debugverzeichniseintrag verwiesen wird, und interpretiert sie als CodeView.

ReadDebugDirectory()

Liest alle Debugverzeichnistabelleneinträge.

ReadEmbeddedPortablePdbDebugDirectoryData(DebugDirectoryEntry)

Liest die Daten, auf die durch den angegebenen Debugverzeichniseintrag verwiesen wird, und interpretiert sie als eingebettetes portables PDB-Blob.

ReadPdbChecksumDebugDirectoryData(DebugDirectoryEntry)

Liest die Daten, auf die durch den angegebenen Debugverzeichniseintrag verwiesen wird, und interpretiert sie als PDB-Prüfsummeneintrag.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TryOpenAssociatedPortablePdb(String, Func<String,Stream>, MetadataReaderProvider, String)

Öffnet einen portablen PDB, der diesem PE-Image zugeordnet ist.

Erweiterungsmethoden

Name Beschreibung
GetMetadataReader(PEReader, MetadataReaderOptions, MetadataStringDecoder)

Ruft einen Metadatenleser mit der angegebenen Metadatenlesekonfiguration und Codierungskonfiguration aus einer PEReader.

GetMetadataReader(PEReader, MetadataReaderOptions)

Ruft einen Metadatenleser mit der angegebenen Metadatenlesekonfiguration aus einer PEReader.

GetMetadataReader(PEReader)

Ruft ein MetadataReader von einem PEReader.

GetMethodBody(PEReader, Int32)

Gibt einen Textkörperblock einer Methode mit der angegebenen relativen virtuellen Adresse (Relative Virtual Address, RVA) zurück.

Gilt für: