PEHeader Classe

Definição

Representa o cabeçalho do arquivo PE (Portable Executable).

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 importar tabela Delay-Load.

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)

Aplica-se a