Поделиться через


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
Реализации

Комментарии

Реализация является потокобезопасной. То есть несколько потоков могут параллельно считывать данные из средства чтения. Удаление средства чтения не является потокобезопасной (см. раздел Dispose()).

Конструкторы

PEReader(Byte*, Int32)

Создает средство чтения переносимых исполняемых файлов с использованием образа PE, хранящегося в памяти.

PEReader(Byte*, Int32, Boolean)

Создает средство чтения переносимых исполняемых файлов с использованием образа PE, хранящегося в памяти. Флаг указывает, был ли образ уже загружен в память.

PEReader(ImmutableArray<Byte>)

Создает средство чтения переносимых исполняемых файлов с использованием образа PE, хранящегося в массиве байтов.

PEReader(Stream)

Создает средство чтения переносимых исполняемых файлов с использованием образа PE, хранящегося в потоке.

PEReader(Stream, PEStreamOptions)

Создает средство чтения переносимых исполняемых файлов с использованием образа PE, который хранится в потоке, начиная с его текущей позиции и заканчивая концом потока.

PEReader(Stream, PEStreamOptions, Int32)

Создает средство чтения переносимых исполняемых файлов с использованием образа PE заданного размера, начиная с текущей позиции потока.

Свойства

HasMetadata

Возвращает значение, которое указывает, содержит ли образ PE метаданные CLI.

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)

Возвращает объект MetadataReader из PEReader.

GetMetadataReader(PEReader, MetadataReaderOptions)

Получает средство чтения метаданных с указанной конфигурацией чтения метаданных из PEReader.

GetMetadataReader(PEReader, MetadataReaderOptions, MetadataStringDecoder)

Возвращает модуль чтения метаданных с заданной конфигурацией чтения метаданных и конфигурацией кодировки из PEReader.

GetMethodBody(PEReader, Int32)

Возвращает блок тела метода с указанным относительным виртуальным адресом (RVA).

Применяется к