PEReader 類別

定義

提供可攜式可執行檔格式 (PE) 檔案的讀取器。

public ref class PEReader sealed : IDisposable
public sealed class PEReader : IDisposable
type PEReader = class
    interface IDisposable
Public NotInheritable Class PEReader
Implements IDisposable
繼承
PEReader
實作

備註

注意事項

這種類型並非設計用來處理不受信任的輸入。 格式錯誤或惡意的 PE 檔案可能導致意外行為,包括記憶體存取超出範圍、當機或凍結。 只使用 PEReader 可信的 PE 檔案或圖片。

實作是執行緒安全的。 也就是說,多個執行緒可以同時從讀取器讀取資料。 讀取器的處理方式並非執行緒安全(參見 Dispose())。

建構函式

名稱 Description
PEReader(Byte*, Int32)

建立一個可攜式可執行檔讀取器,並儲存在記憶體中的 PE 映像。

PEReader(ImmutableArray<Byte>)

建立可攜式可執行檔讀取器,覆蓋儲存在位元組陣列中的 PE 映像檔。

PEReader(Stream, PEStreamOptions, Int32)

從串流當前位置開始,建立可攜式可執行檔讀取器,讀取大小為指定大小。

PEReader(Stream, PEStreamOptions)

建立一個可攜式可執行檔讀取器,儲存在從當前位置開始、結束於串流末端的串流中。

PEReader(Stream)

建立可攜式可執行檔讀取器,並儲存在串流中的 PE 映像檔。

屬性

名稱 Description
HasMetadata

會取得一個值,指示 PE 映像是否包含 CLI 元資料。

IsEntireImageAvailable

會得到一個值,表示讀取器是否能存取整個 PE 映像。

PEHeaders

取得 PE 標頭。

方法

名稱 Description
Dispose()

處理讀取器分配的所有記憶體。

Equals(Object)

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

(繼承來源 Object)
GetEntireImage()

取得 PEMemoryBlock 包含完整 PE 影像的物件。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetMetadata()

載入包含 CLI 元資料的 PE 區段。

GetSectionData(Int32)

將包含指定相對虛擬位址的 PE 區段載入記憶體,並回傳一個從該位址開始、至所含區段結束的記憶體區塊。

GetType()

取得目前實例的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

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

(繼承來源 Object)

擴充方法

名稱 Description
GetMetadataReader(PEReader, MetadataReaderOptions, MetadataStringDecoder)

從 取得具有指定中繼資料讀取配置與編碼配置 PEReader的元資料讀取器。

GetMetadataReader(PEReader, MetadataReaderOptions)

從 中取得具有指定元資料讀取配置的元資料讀取器。PEReader

GetMetadataReader(PEReader)

MetadataReader中得到 a PEReader

GetMethodBody(PEReader, Int32)

回傳方法的主體區塊,並指定為相對虛擬位址(RVA)。

適用於