PEHeader Clase

Definición

Representa el encabezado de archivo portable ejecutable (PE).

public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
Herencia
PEHeader

Ejemplos

En este ejemplo se muestra cómo leer información del encabezado 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}");
}

Comentarios

El formato de encabezado de archivo PE se define mediante la especificación pe. Esta clase la usa la PEHeader propiedad .

Propiedades

AddressOfEntryPoint

Obtiene la dirección del punto de entrada relativa a la base de la imagen cuando el archivo PE se carga en la memoria.

BaseOfCode

Obtiene la dirección de la sección de principio de código relativa a la base de la imagen cuando la imagen se carga en la memoria.

BaseOfData

Obtiene la dirección de la sección de inicio de datos relativa a la base de la imagen cuando la imagen se carga en la memoria.

BaseRelocationTableDirectory

Obtiene la entrada Tabla reubicaciones base.

BoundImportTableDirectory

Obtiene la entrada Tabla de importación enlazada.

CertificateTableDirectory

Obtiene la entrada de la tabla de certificados, que apunta a una tabla de certificados de atributos.

CheckSum

Obtiene la suma de comprobación del archivo de imagen.

CopyrightTableDirectory

Obtiene la entrada Tabla de copyright.

CorHeaderTableDirectory

Obtiene la entrada Tabla de encabezado de la CLI.

DebugTableDirectory

Obtiene la entrada Tabla de depuración.

DelayImportTableDirectory

Obtiene la Delay-Load entrada Importar tabla.

DllCharacteristics

Obtiene las características de una biblioteca de vínculos dinámicos.

ExceptionTableDirectory

Obtiene la entrada Tabla de excepciones.

ExportTableDirectory

Obtiene la entrada Exportar tabla.

FileAlignment

Obtiene el factor de alineación (en bytes) que se usa para alinear los datos sin procesar de las secciones del archivo de imagen.

GlobalPointerTableDirectory

Obtiene la entrada Tabla de puntero global.

ImageBase

Obtiene la dirección preferida del primer byte de la imagen cuando se carga en la memoria.

ImportAddressTableDirectory

Obtiene la entrada Importar tabla de direcciones.

ImportTableDirectory

Obtiene la entrada Importar tabla.

LoadConfigTableDirectory

Obtiene la entrada Tabla de configuración de carga.

Magic

Obtiene un valor que identifica el formato del archivo de imagen.

MajorImageVersion

Obtiene el número de versión principal de la imagen.

MajorLinkerVersion

Obtiene el número de versión principal del enlazador.

MajorOperatingSystemVersion

Obtiene el número de versión principal del sistema operativo obligatorio.

MajorSubsystemVersion

Obtiene el número de versión principal del subsistema.

MinorImageVersion

Obtiene el número de versión secundaria de la imagen.

MinorLinkerVersion

Obtiene el número de versión secundaria del enlazador.

MinorOperatingSystemVersion

Obtiene el número de versión secundaria del sistema operativo obligatorio.

MinorSubsystemVersion

Obtiene el número de versión secundaria del subsistema.

NumberOfRvaAndSizes

Obtiene el número de entradas del directorio de datos en el resto de PEHeader. Cada una describe una ubicación y un tamaño.

ResourceTableDirectory

Obtiene la entrada Tabla de recursos.

SectionAlignment

Obtiene la alineación (en bytes) de las secciones cuando se cargan en la memoria.

SizeOfCode

Obtiene el tamaño de la sección de código (texto), o bien la suma de todas las secciones de código si hay varias secciones.

SizeOfHeaders

Obtiene el tamaño combinado de un código auxiliar de MS DOS, un encabezado PE y encabezados de sección redondeados a un múltiplo de FileAlignment.

SizeOfHeapCommit

Obtiene el tamaño del espacio de montón local que se va a confirmar.

SizeOfHeapReserve

Obtiene el tamaño del espacio de montón local que se va a reservar. Solo se confirma SizeOfHeapCommit; el resto se pone a disposición una página a la vez hasta que se alcanza el tamaño de reserva.

SizeOfImage

Obtiene el tamaño (en bytes) de la imagen, incluidos todos los encabezados, a medida que la imagen se carga en la memoria.

SizeOfInitializedData

Obtiene el tamaño de la sección de datos inicializados, o bien la suma de todas esas secciones si hay varias secciones de datos.

SizeOfStackCommit

Obtiene el tamaño de la pila que se va a confirmar.

SizeOfStackReserve

Obtiene el tamaño de la pila que se va a reservar. Solo se confirma SizeOfStackCommit; el resto se pone a disposición una página a la vez hasta que se alcanza el tamaño de reserva.

SizeOfUninitializedData

Obtiene el tamaño de la sección de datos no inicializados (BSS), o bien la suma de todas esas secciones si hay varias secciones BSS.

Subsystem

Obtiene el nombre del subsistema necesario para ejecutar esta imagen.

ThreadLocalStorageTableDirectory

Obtiene la entrada Thread-Local Tabla de almacenamiento.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a