PEHeader Classe

Definizione

Rappresenta l'intestazione del file PE (Portable Executable).

public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
Ereditarietà
PEHeader

Esempio

Questo esempio mostra come leggere le informazioni dall'intestazione 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}");
}

Commenti

Il formato dell'intestazione del file PE è definito dalla specifica PE. Questa classe viene utilizzata dalla PEHeader proprietà .

Proprietà

Nome Descrizione
AddressOfEntryPoint

Ottiene l'indirizzo del punto di ingresso relativo alla base dell'immagine quando il file PE viene caricato in memoria.

BaseOfCode

Ottiene l'indirizzo della sezione iniziale del codice relativa alla base dell'immagine quando l'immagine viene caricata in memoria.

BaseOfData

Ottiene l'indirizzo della sezione iniziale dei dati relativa alla base dell'immagine quando l'immagine viene caricata in memoria.

BaseRelocationTableDirectory

Ottiene la voce Tabella rilocazione di base.

BoundImportTableDirectory

Ottiene la voce Tabella di importazione associata.

CertificateTableDirectory

Ottiene la voce Tabella certificati, che punta a una tabella di certificati di attributo.

CheckSum

Ottiene il checksum del file di immagine.

CopyrightTableDirectory

Ottiene la voce Tabella copyright.

CorHeaderTableDirectory

Ottiene la voce Tabella intestazione dell'interfaccia della riga di comando.

DebugTableDirectory

Ottiene la voce Debug Table.

DelayImportTableDirectory

Ottiene la voce importa tabella Delay-Load.

DllCharacteristics

Ottiene le caratteristiche di una libreria di collegamento dinamico.

ExceptionTableDirectory

Ottiene la voce Tabella eccezioni.

ExportTableDirectory

Ottiene la voce Esporta tabella.

FileAlignment

Ottiene il fattore di allineamento (in byte) utilizzato per allineare i dati non elaborati delle sezioni nel file di immagine.

GlobalPointerTableDirectory

Ottiene la voce Tabella puntatore globale.

ImageBase

Ottiene l'indirizzo preferito del primo byte dell'immagine quando viene caricato in memoria.

ImportAddressTableDirectory

Ottiene la voce Importa tabella indirizzi.

ImportTableDirectory

Ottiene la voce Importa tabella.

LoadConfigTableDirectory

Ottiene la voce Tabella di configurazione del carico.

Magic

Ottiene un valore che identifica il formato del file di immagine.

MajorImageVersion

Ottiene il numero di versione principale dell'immagine.

MajorLinkerVersion

Ottiene il numero di versione principale del linker.

MajorOperatingSystemVersion

Ottiene il numero di versione principale del sistema operativo richiesto.

MajorSubsystemVersion

Ottiene il numero di versione principale del sottosistema.

MinorImageVersion

Ottiene il numero di versione secondaria dell'immagine.

MinorLinkerVersion

Ottiene il numero di versione secondaria del linker.

MinorOperatingSystemVersion

Ottiene il numero di versione secondaria del sistema operativo richiesto.

MinorSubsystemVersion

Ottiene il numero di versione secondaria del sottosistema.

NumberOfRvaAndSizes

Ottiene il numero di voci della directory dati nel resto dell'oggetto PEHeader. Ognuna descrive una posizione e una dimensione.

ResourceTableDirectory

Ottiene la voce Tabella risorse.

SectionAlignment

Ottiene l'allineamento in byte delle sezioni quando vengono caricate in memoria.

SizeOfCode

Ottiene le dimensioni della sezione di codice (testo) o la somma di tutte le sezioni di codice se sono presenti più sezioni.

SizeOfHeaders

Ottiene le dimensioni combinate di uno stub MS DOS, un'intestazione PE e le intestazioni di sezione arrotondate per un multiplo di FileAlignment.

SizeOfHeapCommit

Ottiene le dimensioni dello spazio heap locale da eseguire per il commit.

SizeOfHeapReserve

Ottiene le dimensioni dello spazio heap locale da riservare. Viene eseguito solo SizeOfHeapCommit il commit. Il resto viene reso disponibile una pagina alla volta fino al raggiungimento delle dimensioni della riserva.

SizeOfImage

Ottiene le dimensioni (in byte) dell'immagine, incluse tutte le intestazioni, perché l'immagine viene caricata in memoria.

SizeOfInitializedData

Ottiene le dimensioni della sezione dei dati inizializzata o la somma di tutte le sezioni di questo tipo se sono presenti più sezioni di dati.

SizeOfStackCommit

Ottiene le dimensioni dello stack da eseguire per il commit.

SizeOfStackReserve

Ottiene le dimensioni dello stack da riservare. Viene eseguito solo SizeOfStackCommit il commit. Il resto viene reso disponibile una pagina alla volta fino al raggiungimento delle dimensioni della riserva.

SizeOfUninitializedData

Ottiene le dimensioni della sezione dati non inizializzata (BSS) o la somma di tutte le sezioni di questo tipo se sono presenti più sezioni BSS.

Subsystem

Ottiene il nome del sottosistema necessario per eseguire questa immagine.

ThreadLocalStorageTableDirectory

Ottiene la voce Thread-Local tabella di archiviazione.

Metodi

Nome Descrizione
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a