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
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) |