PEHeader 類別

定義

表示可攜式可執行檔 (PE) 檔頭。

public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
繼承
PEHeader

範例

此範例示範如何從 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}");
}

備註

PE 檔案格式是由 PE 規格所定義。 屬性會使用此 PEHeader 類別。

屬性

AddressOfEntryPoint

當 PE 檔案載入記憶體時,取得相對於基底映像的進入點位址。

BaseOfCode

當映像載入記憶體時,取得相對於映像基底的程式碼開頭區段位址。

BaseOfData

當映像載入記憶體時,取得相對於映像基底的資料開頭區段位址。

BaseRelocationTableDirectory

取得 [基底重新配置資料表] 專案。

BoundImportTableDirectory

取得系結匯入資料表專案。

CertificateTableDirectory

取得憑證資料表項目,它會指向屬性憑證資料表。

CheckSum

取得映像檔案總和檢查碼。

CopyrightTableDirectory

取得 Copyright Table 專案。

CorHeaderTableDirectory

取得 CLI 標頭資料表專案。

DebugTableDirectory

取得偵錯資料表專案。

DelayImportTableDirectory

取得Delay-Load匯入資料表專案。

DllCharacteristics

取得動態連結程式庫的特性。

ExceptionTableDirectory

取得例外狀況資料表專案。

ExportTableDirectory

取得匯出資料表專案。

FileAlignment

取得對齊因素 (以位元組為單位),用來對齊映像檔中的區段原始資料。

GlobalPointerTableDirectory

取得全域指標資料表專案。

ImageBase

載入記憶體時,取得映像第一個位元組的慣用位址。

ImportAddressTableDirectory

取得匯入位址表專案。

ImportTableDirectory

取得匯入資料表專案。

LoadConfigTableDirectory

取得 [載入組態表] 專案。

Magic

取得可識別映像檔案格式的值。

MajorImageVersion

取得映像的主要版本號碼。

MajorLinkerVersion

取得連結器主要版本號碼。

MajorOperatingSystemVersion

取得所需作業系統的主要版本號碼。

MajorSubsystemVersion

取得子系統的主要版本號碼。

MinorImageVersion

取得映像的次要版本號碼。

MinorLinkerVersion

取得連結器次要版本號碼。

MinorOperatingSystemVersion

取得所需作業系統的次要版本號碼。

MinorSubsystemVersion

取得子系統的次要版本號碼。

NumberOfRvaAndSizes

取得剩餘 PEHeader 中的資料目錄項目數目。 每一個都描述位置和大小。

ResourceTableDirectory

取得資源資料表專案。

SectionAlignment

取得載入記憶體時對齊的區段 (以位元組為單位)。

SizeOfCode

取得程式碼 (文字) 區段大小,或所有程式碼區段的總和 (如有多個區段)。

SizeOfHeaders

取得 MS DOS stub、PE 標頭和區段標頭的合併大小,四捨五入至 FileAlignment 的倍數。

SizeOfHeapCommit

取得要認可的區域堆積空間大小。

SizeOfHeapReserve

取得要保留的區域堆積空間大小。 僅認可 SizeOfHeapCommit;其餘部分一次提供一頁,直到達到保留大小為止。

SizeOfImage

將映像載入記憶體時,取得包括所有標頭在內的映像大小 (以位元組為單位)。

SizeOfInitializedData

取得已初始化資料區段大小,或所有這類區段的總和 (如有多個資料區段)。

SizeOfStackCommit

取得要認可的堆疊大小。

SizeOfStackReserve

取得要保留的堆疊大小。 僅認可 SizeOfStackCommit;其餘部分一次提供一頁,直到達到保留大小為止。

SizeOfUninitializedData

取得未初始化資料區段 (BSS) 大小,或所有這類區段的總和 (如有多個 BSS 區段)。

Subsystem

取得執行此映像所需的子系統名稱。

ThreadLocalStorageTableDirectory

取得儲存體資料表Thread-Local專案。

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於