Compartilhar via


PEReader Classe

Definição

Fornece um leitor para arquivos PE (formato executável portátil).

public ref class PEReader sealed : IDisposable
public sealed class PEReader : IDisposable
type PEReader = class
    interface IDisposable
Public NotInheritable Class PEReader
Implements IDisposable
Herança
PEReader
Implementações

Comentários

Cuidado

Esse tipo não foi projetado para lidar com entradas não confiáveis. Arquivos PE malformados ou mal-intencionados podem causar comportamento inesperado, incluindo acesso à memória fora dos limites, falhas ou travamentos. PEReader Use apenas com arquivos PE confiáveis ou imagens.

A implementação é thread-safe. Ou seja, vários threads podem ler dados do leitor em paralelo. O descarte do leitor não é thread-safe (consulte Dispose()).

Construtores

Nome Description
PEReader(Byte*, Int32, Boolean)

Cria um leitor executável portátil em uma imagem PE armazenada na memória. Um sinalizador indica se a imagem já foi carregada na memória.

PEReader(Byte*, Int32)

Cria um leitor executável portátil em uma imagem PE armazenada na memória.

PEReader(ImmutableArray<Byte>)

Cria um leitor executável portátil em uma imagem PE armazenada em uma matriz de bytes.

PEReader(Stream, PEStreamOptions, Int32)

Cria um leitor executável portátil em uma imagem PE do tamanho determinado começando na posição atual do fluxo.

PEReader(Stream, PEStreamOptions)

Cria um leitor executável portátil em uma imagem PE armazenada em um fluxo começando em sua posição atual e terminando no final do fluxo.

PEReader(Stream)

Cria um leitor executável portátil em uma imagem PE armazenada em um fluxo.

Propriedades

Nome Description
HasMetadata

Obtém um valor que indica se a imagem PE contém metadados da CLI.

IsEntireImageAvailable

Obtém um valor que indica se o leitor pode acessar toda a imagem PE.

IsLoadedImage

Obtém um valor que indica se a imagem PE foi carregada na memória pelo carregador do sistema operacional.

PEHeaders

Obtém os cabeçalhos PE.

Métodos

Nome Description
Dispose()

Descarta toda a memória alocada pelo leitor.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetEntireImage()

Obtém um PEMemoryBlock objeto que contém toda a imagem PE.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetMetadata()

Carrega uma seção PE que contém metadados da CLI.

GetSectionData(Int32)

Carrega a seção PE que contém o endereço virtual relativo especificado na memória e retorna um bloco de memória que começa nesse endereço e termina no final da seção que contém.

GetSectionData(String)

Carrega a seção PE com o nome especificado na memória e retorna um bloco de memória que abrange a seção.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ReadCodeViewDebugDirectoryData(DebugDirectoryEntry)

Lê os dados apontados pela entrada especificada do Diretório de Depuração e os interpreta como CodeView.

ReadDebugDirectory()

Lê todas as entradas da tabela de Diretório de Depuração.

ReadEmbeddedPortablePdbDebugDirectoryData(DebugDirectoryEntry)

Lê os dados apontados pela entrada especificada do Diretório de Depuração e os interpreta como um blob PDB portátil inserido.

ReadPdbChecksumDebugDirectoryData(DebugDirectoryEntry)

Lê os dados apontados pela entrada especificada do Diretório de Depuração e os interpreta como uma entrada PDB Checksum.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
TryOpenAssociatedPortablePdb(String, Func<String,Stream>, MetadataReaderProvider, String)

Abre um PDB portátil associado a essa imagem PE.

Métodos de Extensão

Nome Description
GetMetadataReader(PEReader, MetadataReaderOptions, MetadataStringDecoder)

Obtém um leitor de metadados com a configuração de leitura de metadados especificada e a configuração de codificação de um PEReader.

GetMetadataReader(PEReader, MetadataReaderOptions)

Obtém um leitor de metadados com a configuração de leitura de metadados especificada de um PEReader.

GetMetadataReader(PEReader)

Obtém um MetadataReader de um PEReader.

GetMethodBody(PEReader, Int32)

Retorna um bloco de corpo de um método com o RVA (Endereço Virtual Relativo) especificado.

Aplica-se a