Condividi tramite


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

In questo esempio viene illustrato 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 di intestazione del file PE è definito dalla specifica PE. Questa classe viene utilizzata dalla PEHeader proprietà .

Proprietà

AddressOfEntryPoint

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

BaseOfCode

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

BaseOfData

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

BaseRelocationTableDirectory

Ottiene la voce Base Rilocazione tabella.

BoundImportTableDirectory

Ottiene la voce Tabella di importazione associata.

CertificateTableDirectory

Ottiene la voce della tabella dei certificati, che fa riferimento a una tabella di certificati di attributi.

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) usato 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 caricata 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 di dati nella parte restante del 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 del 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 eccesso a un multiplo di FileAlignment.

SizeOfHeapCommit

Ottiene le dimensioni dello spazio dell'heap locale di cui eseguire il commit.

SizeOfHeapReserve

Ottiene le dimensioni dello spazio dell'heap locale da riservare. Viene eseguito il commit solo di SizeOfHeapCommit; il resto viene reso disponibile una pagina alla volta fino a quando non vengono raggiunte le dimensioni riservate.

SizeOfImage

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

SizeOfInitializedData

Ottiene le dimensioni della sezione dei dati inizializzati o la somma di tutte queste sezioni se sono presenti più sezioni di dati.

SizeOfStackCommit

Ottiene le dimensioni dello stack di cui eseguire il commit.

SizeOfStackReserve

Ottiene le dimensioni dello stack da riservare. Viene eseguito il commit solo di SizeOfStackCommit; il resto viene reso disponibile una pagina alla volta fino a quando non vengono raggiunte le dimensioni riservate.

SizeOfUninitializedData

Ottiene le dimensioni della sezione dei dati non inizializzati (BSS) o la somma di tutte queste sezioni se sono presenti più sezioni BSS.

Subsystem

Ottiene il nome del sottosistema necessario per eseguire l'immagine.

ThreadLocalStorageTableDirectory

Ottiene la voce tabella di archiviazione Thread-Local.

Metodi

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 l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a