PEReader Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece um leitor para ficheiros em formato Portátil Executável (PE).
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
Observações
Atenção
Este tipo não foi concebido para lidar com entradas não confiáveis. Ficheiros PE mal formados ou maliciosos podem causar comportamentos inesperados, incluindo acesso à memória fora dos limites, falhas ou bloqueios. Use PEReader apenas com ficheiros ou imagens PE de confiança.
A implementação é segura para threads. Ou seja, múltiplos threads podem ler dados do leitor em paralelo. A eliminação do leitor não é segura para fios (ver Dispose()).
Construtores
| Name | Description |
|---|---|
| PEReader(Byte*, Int32) |
Cria um leitor Portátil de Executáveis sobre uma imagem PE armazenada em memória. |
| PEReader(ImmutableArray<Byte>) |
Cria um leitor de executáveis portátil sobre uma imagem PE armazenada num array de bytes. |
| PEReader(Stream, PEStreamOptions, Int32) |
Cria um leitor Executável Portátil sobre uma imagem PE do tamanho dado começando na posição atual do fluxo. |
| PEReader(Stream, PEStreamOptions) |
Cria um leitor Portátil de Executáveis sobre uma imagem PE armazenada num fluxo que começa na sua posição atual e termina no final do fluxo. |
| PEReader(Stream) |
Cria um leitor de executáveis portátil sobre uma imagem PE armazenada num fluxo. |
Propriedades
| Name | Description |
|---|---|
| HasMetadata |
Obtém um valor que indica se a imagem PE contém metadados CLI. |
| IsEntireImageAvailable |
Recebe um valor que indica se o leitor consegue aceder à imagem PE completa. |
| PEHeaders |
Recebe os cabeçalhos PE. |
Métodos
| Name | Description |
|---|---|
| Dispose() |
Elimina 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 contendo toda a imagem PE. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetMetadata() |
Carrega uma secção PE que contém metadados da CLI. |
| GetSectionData(Int32) |
Carrega a secção PE que contém o endereço virtual relativo especificado na memória e devolve um bloco de memória que começa nesse endereço e termina no final da secção que contém. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Métodos da Extensão
| Name | Description |
|---|---|
| GetMetadataReader(PEReader, MetadataReaderOptions, MetadataStringDecoder) |
Obtém um leitor de metadados com a configuração de leitura de metadados e a configuração de codificação especificadas a partir de um PEReader. |
| GetMetadataReader(PEReader, MetadataReaderOptions) |
Obtém um leitor de metadados com a configuração de leitura de metadados especificada a partir de um PEReader. |
| GetMetadataReader(PEReader) |
Obtém um MetadataReader de um PEReader. |
| GetMethodBody(PEReader, Int32) |
Devolve um bloco de corpo de um método com o Endereço Virtual Relativo (RVA) especificado. |