PEReader Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |