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)

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.

PEHeaders

Ruft die PE-Header ab.

Methoden

Name Beschreibung
Dispose()

Entfernt alle vom Leser zugewiesenen Arbeitsspeicher.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(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.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

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: