PEHeader Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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) |