PEReader Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет средство чтения для файлов переносимого исполняемого файла (PE).
public ref class PEReader sealed : IDisposable
public sealed class PEReader : IDisposable
type PEReader = class
interface IDisposable
Public NotInheritable Class PEReader
Implements IDisposable
- Наследование
-
PEReader
- Реализации
Комментарии
Предостережение
Этот тип не предназначен для обработки ненадежных входных данных. Неправильные или вредоносные ФАЙЛЫ PE могут привести к непредвиденному поведению, включая доступ к памяти вне границ, сбои или зависания. Используется PEReader только с доверенными PE-файлами или изображениями.
Реализация является потокобезопасной. То есть несколько потоков могут параллельно считывать данные из средства чтения. Удаление средства чтения не является потокобезопасной (см. раздел Dispose()).
Конструкторы
| Имя | Описание |
|---|---|
| PEReader(Byte*, Int32, Boolean) |
Создает переносимое средство чтения исполняемых файлов через образ PE, хранящийся в памяти. Флаг указывает, загружен ли образ в память. |
| PEReader(Byte*, Int32) |
Создает переносимое средство чтения исполняемых файлов через образ PE, хранящийся в памяти. |
| PEReader(ImmutableArray<Byte>) |
Создает переносимое средство чтения исполняемых файлов через образ PE, хранящийся в массиве байтов. |
| PEReader(Stream, PEStreamOptions, Int32) |
Создает переносимое средство чтения исполняемых файлов через изображение PE заданного размера, начиная с текущей позиции потока. |
| PEReader(Stream, PEStreamOptions) |
Создает переносимое средство чтения исполняемых файлов через изображение PE, хранящееся в потоке, начиная с текущей позиции и заканчивая в конце потока. |
| PEReader(Stream) |
Создает переносимое средство чтения исполняемых файлов через образ PE, хранящийся в потоке. |
Свойства
| Имя | Описание |
|---|---|
| HasMetadata |
Возвращает значение, указывающее, содержит ли изображение PE метаданные ИНТЕРФЕЙСА командной строки. |
| IsEntireImageAvailable |
Получает значение, указывающее, может ли читатель получить доступ ко всему изображению PE. |
| IsLoadedImage |
Возвращает значение, указывающее, загружен ли образ PE в память загрузчиком ОС. |
| PEHeaders |
Возвращает заголовки PE. |
Методы
| Имя | Описание |
|---|---|
| Dispose() |
Удаляет всю память, выделенную средством чтения. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetEntireImage() |
PEMemoryBlock Возвращает объект, содержащий весь образ PE. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetMetadata() |
Загружает раздел PE, содержащий метаданные CLI. |
| GetSectionData(Int32) |
Загружает раздел PE, содержащий указанный относительный виртуальный адрес в память, и возвращает блок памяти, который начинается с этого адреса и заканчивается в конце содержащего раздела. |
| GetSectionData(String) |
Загружает раздел PE с указанным именем в память и возвращает блок памяти, охватывающий раздел. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ReadCodeViewDebugDirectoryData(DebugDirectoryEntry) |
Считывает данные, на которые указывает указанная запись каталога отладки, и интерпретирует его как CodeView. |
| ReadDebugDirectory() |
Считывает все записи таблицы каталога отладки. |
| ReadEmbeddedPortablePdbDebugDirectoryData(DebugDirectoryEntry) |
Считывает данные, на которые указывает указанная запись каталога отладки, и интерпретирует его как внедренный переносимый BLOB-объект PDB. |
| ReadPdbChecksumDebugDirectoryData(DebugDirectoryEntry) |
Считывает данные, на которые указывает указанная запись каталога отладки, и интерпретирует ее как запись контрольной суммы PDB. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| TryOpenAssociatedPortablePdb(String, Func<String,Stream>, MetadataReaderProvider, String) |
Открывает переносимую PDB, связанную с этим изображением PE. |
Методы расширения
| Имя | Описание |
|---|---|
| GetMetadataReader(PEReader, MetadataReaderOptions, MetadataStringDecoder) |
Получает средство чтения метаданных с указанной конфигурацией чтения метаданных и конфигурацией кодирования.PEReader |
| GetMetadataReader(PEReader, MetadataReaderOptions) |
Получает средство чтения метаданных с указанной конфигурацией чтения метаданных из .PEReader |
| GetMetadataReader(PEReader) |
Получает объект MetadataReader из PEReader. |
| GetMethodBody(PEReader, Int32) |
Возвращает блок текста метода с указанным относительным виртуальным адресом (RVA). |