PEReader Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |