PEReader Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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). |