Udostępnij za pośrednictwem


PEReader Klasa

Definicja

Udostępnia czytnik plików w formacie przenośnym wykonywalnym (PE).

public ref class PEReader sealed : IDisposable
public sealed class PEReader : IDisposable
type PEReader = class
    interface IDisposable
Public NotInheritable Class PEReader
Implements IDisposable
Dziedziczenie
PEReader
Implementuje

Uwagi

Ostrzeżenie

Ten typ nie jest przeznaczony do obsługi niezaufanych danych wejściowych. Źle sformułowane lub złośliwe pliki PE mogą powodować nieoczekiwane zachowanie, w tym dostęp do pamięci poza granicami, awarie lub zawieszanie się. Używaj PEReader tylko z zaufanymi plikami PE lub obrazami.

Implementacja jest bezpieczna wątkowo. Oznacza to, że wiele wątków może odczytywać dane z czytnika równolegle. Usuwanie czytnika nie jest bezpieczne wątkowo (zobacz Dispose()).

Konstruktory

Nazwa Opis
PEReader(Byte*, Int32, Boolean)

Tworzy przenośny czytnik plików wykonywalnych za pośrednictwem obrazu PE przechowywanego w pamięci. Flaga wskazuje, czy obraz został już załadowany do pamięci.

PEReader(Byte*, Int32)

Tworzy przenośny czytnik plików wykonywalnych za pośrednictwem obrazu PE przechowywanego w pamięci.

PEReader(ImmutableArray<Byte>)

Tworzy przenośny czytnik plików wykonywalnych za pośrednictwem obrazu PE przechowywanego w tablicy bajtów.

PEReader(Stream, PEStreamOptions, Int32)

Tworzy przenośny czytnik plików wykonywalnych na obraz PE o danym rozmiarze rozpoczynającym się od bieżącej pozycji strumienia.

PEReader(Stream, PEStreamOptions)

Tworzy przenośny czytnik plików wykonywalnych za pośrednictwem obrazu PE przechowywanego w strumieniu rozpoczynającym się od bieżącej pozycji i kończącym się na końcu strumienia.

PEReader(Stream)

Tworzy przenośny czytnik plików wykonywalnych za pośrednictwem obrazu PE przechowywanego w strumieniu.

Właściwości

Nazwa Opis
HasMetadata

Pobiera wartość wskazującą, czy obraz PE zawiera metadane interfejsu wiersza polecenia.

IsEntireImageAvailable

Pobiera wartość wskazującą, czy czytelnik może uzyskać dostęp do całego obrazu PE.

IsLoadedImage

Pobiera wartość wskazującą, czy obraz PE został załadowany do pamięci przez moduł ładujący systemu operacyjnego.

PEHeaders

Pobiera nagłówki PE.

Metody

Nazwa Opis
Dispose()

Usuwa całą pamięć przydzieloną przez czytnik.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetEntireImage()

PEMemoryBlock Pobiera obiekt zawierający cały obraz PE.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetMetadata()

Ładuje sekcję PE zawierającą metadane interfejsu wiersza polecenia.

GetSectionData(Int32)

Ładuje sekcję PE zawierającą określony względny adres wirtualny do pamięci i zwraca blok pamięci, który rozpoczyna się od tego adresu i kończy się na końcu zawierającej sekcję.

GetSectionData(String)

Ładuje sekcję PE z określoną nazwą do pamięci i zwraca blok pamięci obejmujący sekcję.

GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
ReadCodeViewDebugDirectoryData(DebugDirectoryEntry)

Odczytuje dane wskazywane przez określony wpis katalogu debugowania i interpretuje je jako CodeView.

ReadDebugDirectory()

Odczytuje wszystkie wpisy tabeli debugowania katalogu.

ReadEmbeddedPortablePdbDebugDirectoryData(DebugDirectoryEntry)

Odczytuje dane wskazywane przez określony wpis katalogu debugowania i interpretuje je jako osadzony przenośny obiekt blob PDB.

ReadPdbChecksumDebugDirectoryData(DebugDirectoryEntry)

Odczytuje dane wskazywane przez określony wpis katalogu debugowania i interpretuje je jako wpis sumy kontrolnej PDB.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TryOpenAssociatedPortablePdb(String, Func<String,Stream>, MetadataReaderProvider, String)

Otwiera przenośny plik PDB skojarzony z tym obrazem PE.

Metody rozszerzania

Nazwa Opis
GetMetadataReader(PEReader, MetadataReaderOptions, MetadataStringDecoder)

Pobiera czytnik metadanych z określoną konfiguracją odczytu metadanych i konfiguracją kodowania z klasy PEReader.

GetMetadataReader(PEReader, MetadataReaderOptions)

Pobiera czytnik metadanych z określoną konfiguracją odczytu metadanych z klasy PEReader.

GetMetadataReader(PEReader)

Pobiera element MetadataReader z obiektu PEReader.

GetMethodBody(PEReader, Int32)

Zwraca blok treści metody o określonym względnym adresie wirtualnym (RVA).

Dotyczy