Condividi tramite


PEReader Classe

Definizione

Fornisce un lettore per i file PE (Portable Executable Format).

public ref class PEReader sealed : IDisposable
public sealed class PEReader : IDisposable
type PEReader = class
    interface IDisposable
Public NotInheritable Class PEReader
Implements IDisposable
Ereditarietà
PEReader
Implementazioni

Commenti

Attenzione

Questo tipo non è progettato per gestire l'input non attendibile. I file PE in formato non valido o dannosi possono causare comportamenti imprevisti, tra cui l'accesso alla memoria out-of-bounds, gli arresti anomali o i blocchi. Usare PEReader solo con file o immagini PE attendibili.

L'implementazione è thread-safe. Ovvero, più thread possono leggere i dati dal lettore in parallelo. L'eliminazione del lettore non è thread-safe (vedere Dispose()).

Costruttori

Nome Descrizione
PEReader(Byte*, Int32, Boolean)

Crea un lettore eseguibile portabile su un'immagine PE archiviata in memoria. Un flag indica se l'immagine è già stata caricata in memoria.

PEReader(Byte*, Int32)

Crea un lettore eseguibile portabile su un'immagine PE archiviata in memoria.

PEReader(ImmutableArray<Byte>)

Crea un lettore eseguibile portabile su un'immagine PE archiviata in una matrice di byte.

PEReader(Stream, PEStreamOptions, Int32)

Crea un lettore eseguibile portabile su un'immagine PE delle dimensioni specificate a partire dalla posizione corrente del flusso.

PEReader(Stream, PEStreamOptions)

Crea un lettore eseguibile portabile su un'immagine PE archiviata in un flusso che inizia dalla posizione corrente e termina alla fine del flusso.

PEReader(Stream)

Crea un lettore eseguibile portabile su un'immagine PE archiviata in un flusso.

Proprietà

Nome Descrizione
HasMetadata

Ottiene un valore che indica se l'immagine PE contiene metadati dell'interfaccia della riga di comando.

IsEntireImageAvailable

Ottiene un valore che indica se il lettore può accedere all'intera immagine PE.

IsLoadedImage

Ottiene un valore che indica se l'immagine PE è stata caricata in memoria dal caricatore del sistema operativo.

PEHeaders

Ottiene le intestazioni PE.

Metodi

Nome Descrizione
Dispose()

Elimina tutta la memoria allocata dal lettore.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEntireImage()

Ottiene un PEMemoryBlock oggetto contenente l'intera immagine PE.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetMetadata()

Carica una sezione PE contenente i metadati dell'interfaccia della riga di comando.

GetSectionData(Int32)

Carica la sezione PE contenente l'indirizzo virtuale relativo specificato in memoria e restituisce un blocco di memoria che inizia da tale indirizzo e termina alla fine della sezione contenitore.

GetSectionData(String)

Carica la sezione PE con il nome specificato in memoria e restituisce un blocco di memoria che si estende sulla sezione.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ReadCodeViewDebugDirectoryData(DebugDirectoryEntry)

Legge i dati a cui punta la voce directory di debug specificata e la interpreta come CodeView.

ReadDebugDirectory()

Legge tutte le voci della tabella della directory di debug.

ReadEmbeddedPortablePdbDebugDirectoryData(DebugDirectoryEntry)

Legge i dati a cui punta la voce della directory di debug specificata e la interpreta come BLOB PDB portabile incorporato.

ReadPdbChecksumDebugDirectoryData(DebugDirectoryEntry)

Legge i dati a cui punta la voce directory di debug specificata e la interpreta come voce checksum PDB.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TryOpenAssociatedPortablePdb(String, Func<String,Stream>, MetadataReaderProvider, String)

Apre un PDB portabile associato a questa immagine PE.

Metodi di estensione

Nome Descrizione
GetMetadataReader(PEReader, MetadataReaderOptions, MetadataStringDecoder)

Ottiene un lettore di metadati con la configurazione di lettura e codifica dei metadati specificata da un oggetto PEReader.

GetMetadataReader(PEReader, MetadataReaderOptions)

Ottiene un lettore di metadati con la configurazione di lettura dei metadati specificata da un oggetto PEReader.

GetMetadataReader(PEReader)

Ottiene un oggetto MetadataReader da un oggetto PEReader.

GetMethodBody(PEReader, Int32)

Restituisce un blocco di corpo di un metodo con l'oggetto RVA (Relative Virtual Address) specificato.

Si applica a