PEHeader Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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) |