Compartilhar via


PEReader Classe

Definição

Fornece um leitor para arquivos no formato PE (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

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

PEReader(Byte*, Int32)

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

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(ImmutableArray<Byte>)

Cria um leitor Executável Portátil em uma imagem PE armazenada em uma matriz de bytes.

PEReader(Stream)

Cria um leitor Executável Portátil em uma imagem PE armazenada em um fluxo.

PEReader(Stream, PEStreamOptions)

Cria um leitor de 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, PEStreamOptions, Int32)

Cria um leitor de Executável Portátil em uma imagem PE do tamanho fornecido, começando na posição atual do fluxo.

Propriedades

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 de PE subjacente foi carregada na memória pelo carregador do sistema operacional.

PEHeaders

Obtém os cabeçalhos PE.

Métodos

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 objeto PEMemoryBlock 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 de 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 a 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 Object atual.

(Herdado de Object)
ReadCodeViewDebugDirectoryData(DebugDirectoryEntry)

Lê os dados apontados pela entrada do diretório de depuração especificado e os interpreta como CodeView.

ReadDebugDirectory()

Lê todas as entradas de tabela do diretório de depuração.

ReadEmbeddedPortablePdbDebugDirectoryData(DebugDirectoryEntry)

Lê os dados apontados pela entrada do diretório de depuração especificado e os interpreta como um blob de PDB Portátil Inserido.

ReadPdbChecksumDebugDirectoryData(DebugDirectoryEntry)

Lê os dados apontados pela entrada do diretório de depuração especificado e os interpreta como uma entrada de soma de verificação de PDB.

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 esta imagem PE.

Métodos de Extensão

GetMetadataReader(PEReader)

Obtém um MetadataReader 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, MetadataReaderOptions, MetadataStringDecoder)

Obtém um leitor de metadados com a configuração de leitura de metadados especificada e a configuração de codifica 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