PEHeader 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.
Representa o cabeçalho de arquivo PE (Executável Portátil).
public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
- Herança
-
PEHeader
Exemplos
Este exemplo mostra como ler informações do cabeçalho PE:
// Open the Portable Executable (PE) file
using var fs = new FileStream(@"Example.dll", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using var peReader = new PEReader(fs);
// Display PE header information
if (peReader.PEHeaders.PEHeader is PEHeader header)
{
Console.WriteLine($"Image size, bytes: {header.SizeOfImage}");
Console.WriteLine($"Image base: 0x{header.ImageBase:X}");
Console.WriteLine($"File alignment: 0x{header.FileAlignment:X}");
Console.WriteLine($"Section alignment: 0x{header.SectionAlignment:X}");
Console.WriteLine($"Subsystem: {header.Subsystem}");
Console.WriteLine($"Dll characteristics: {header.DllCharacteristics}");
Console.WriteLine($"Linker version: {header.MajorLinkerVersion}.{header.MinorLinkerVersion}");
Console.WriteLine($"OS version: {header.MajorOperatingSystemVersion}.{header.MinorOperatingSystemVersion}");
}
Comentários
O formato de cabeçalho do arquivo PE é definido pela especificação PE. Essa classe é usada pela PEHeader propriedade .
Propriedades
AddressOfEntryPoint |
Obtém o endereço do ponto de entrada relativo à base de imagem quando o arquivo de PE é carregado na memória. |
BaseOfCode |
Obtém o endereço da seção do início de código relativo à base de imagem quando a imagem é carregada na memória. |
BaseOfData |
Obtém o endereço da seção do início dos dados relativo à base de imagem quando a imagem é carregada na memória. |
BaseRelocationTableDirectory |
Obtém a entrada Tabela de Realocação Base. |
BoundImportTableDirectory |
Obtém a entrada Tabela de Importação Associada. |
CertificateTableDirectory |
Obtém a entrada da Tabela de Certificado, que aponta para uma tabela de certificados de atributo. |
CheckSum |
Obtém a soma de verificação do arquivo de imagem. |
CopyrightTableDirectory |
Obtém a entrada Tabela de Direitos Autorais. |
CorHeaderTableDirectory |
Obtém a entrada tabela de cabeçalho da CLI. |
DebugTableDirectory |
Obtém a entrada Depurar Tabela. |
DelayImportTableDirectory |
Obtém a entrada Delay-Load Importar Tabela. |
DllCharacteristics |
Obtém as características de uma biblioteca de vínculo dinâmico. |
ExceptionTableDirectory |
Obtém a entrada tabela de exceção. |
ExportTableDirectory |
Obtém a entrada Exportar Tabela. |
FileAlignment |
Obtém o fator de alinhamento (em bytes) usado para alinhar os dados brutos das seções no arquivo de imagem. |
GlobalPointerTableDirectory |
Obtém a entrada Tabela de Ponteiro Global. |
ImageBase |
Obtém o endereço preferencial do primeiro byte de imagem quando ele é carregado na memória. |
ImportAddressTableDirectory |
Obtém a entrada Importar Tabela de Endereços. |
ImportTableDirectory |
Obtém a entrada Importar Tabela. |
LoadConfigTableDirectory |
Obtém a entrada Tabela de Configuração de Carga. |
Magic |
Obtém um valor que identifica o formato do arquivo de imagem. |
MajorImageVersion |
Obtém o número de versão principal da imagem. |
MajorLinkerVersion |
Obtém o número da versão principal do vinculador. |
MajorOperatingSystemVersion |
Obtém o número de versão principal do sistema operacional necessário. |
MajorSubsystemVersion |
Obtém o número de versão principal do subsistema. |
MinorImageVersion |
Obtém o número de versão secundária da imagem. |
MinorLinkerVersion |
Obtém o número da versão secundária do vinculador. |
MinorOperatingSystemVersion |
Obtém o número de versão secundária do sistema operacional necessário. |
MinorSubsystemVersion |
Obtém o número de versão secundário do subsistema. |
NumberOfRvaAndSizes |
Obtém o número de entradas de diretório de dados no restante do PEHeader. Cada uma descreve uma localização e um tamanho. |
ResourceTableDirectory |
Obtém a entrada tabela de recursos. |
SectionAlignment |
Obtém o alinhamento (em bytes) das seções quando elas são carregadas na memória. |
SizeOfCode |
Obtém o tamanho da seção de código (texto) ou a soma de todas as seções de código quando há várias seções. |
SizeOfHeaders |
Obtém o tamanho combinado de um stub do MS DOS, o cabeçalho do PE e os cabeçalhos de seção arredondados para um múltiplo de FileAlignment. |
SizeOfHeapCommit |
Obtém o tamanho do espaço de heap local a ser confirmado. |
SizeOfHeapReserve |
Obtém o tamanho do espaço de heap local a ser reservado. Somente SizeOfHeapCommit é confirmado; o restante é disponibilizado uma página por vez até que o tamanho da reserva seja atingido. |
SizeOfImage |
Obtém o tamanho (em bytes) da imagem, incluindo todos os cabeçalhos, pois a imagem é carregada na memória. |
SizeOfInitializedData |
Obtém o tamanho da seção de dados inicializados ou a soma de todas essas seções quando há várias seções. |
SizeOfStackCommit |
Obtém o tamanho da pilha a ser confirmada. |
SizeOfStackReserve |
Obtém o tamanho da pilha a ser reservada. Somente SizeOfStackCommit é confirmado; o restante é disponibilizado uma página por vez até que o tamanho da reserva seja atingido. |
SizeOfUninitializedData |
Obtém o tamanho da seção de dados não inicializados (BSS), ou a soma de todas essas seções quando há várias seções de BSS. |
Subsystem |
Obtém o nome do subsistema necessário para executar esta imagem. |
ThreadLocalStorageTableDirectory |
Obtém a entrada Thread-Local Tabela de Armazenamento. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |