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

Load Configuration Table エントリを取得します。

Magic

イメージ ファイルの形式を識別する値を取得します。

MajorImageVersion

イメージのメジャー バージョン番号を取得します。

MajorLinkerVersion

リンカーのメジャー バージョン番号を取得します。

MajorOperatingSystemVersion

必要なオペレーティング システムのメジャー バージョン番号を取得します。

MajorSubsystemVersion

サブアセンブリのメジャー バージョン番号を取得します。

MinorImageVersion

イメージのマイナー バージョン番号を取得します。

MinorLinkerVersion

リンカーのマイナー バージョン番号を取得します。

MinorOperatingSystemVersion

必要なオペレーティング システムのマイナー バージョン番号を取得します。

MinorSubsystemVersion

サブシステムのマイナー バージョン番号を取得します。

NumberOfRvaAndSizes

PEHeader の残りの部分にあるデータ ディレクトリ エントリの数を取得します。 それぞれによって、場所とサイズが記述されます。

ResourceTableDirectory

リソース テーブル エントリを取得します。

SectionAlignment

セクションがメモリに読み込まれるときにその配置 (バイト単位) を取得します。

SizeOfCode

コード (テキスト) セクションのサイズを取得、またはセクションが複数ある場合はすべてのコード セクションの合計を取得します。

SizeOfHeaders

FileAlignment の倍数に切り上げられた、MS DOS スタブ、PE ヘッダー、およびセクション ヘッダーの合計サイズを取得します。

SizeOfHeapCommit

コミットするローカル ヒープ領域のサイズを取得します。

SizeOfHeapReserve

予約するローカル ヒープ領域のサイズを取得します。 SizeOfHeapCommit のみがコミットされます。残りは、予約サイズに達するまで、一度に 1 ページずつ使用できるようになります。

SizeOfImage

イメージがメモリに読み込まれるときに、すべてのヘッダーを含む、イメージのサイズ (バイト単位) を取得します。

SizeOfInitializedData

初期化されたデータ セクションのサイズを取得、またはデータ セクションが複数ある場合は、そのようなすべてのセクションの合計を取得します。

SizeOfStackCommit

コミットするスタックのサイズを取得します。

SizeOfStackReserve

予約するスタックのサイズを取得します。 SizeOfStackCommit のみがコミットされます。残りは、予約サイズに達するまで、一度に 1 ページずつ使用できるようになります。

SizeOfUninitializedData

初期化されていないデータ セクション (BSS) のサイズを取得、または BSS セクションが複数ある場合は、そのようなすべてのセクションの合計を取得します。

Subsystem

このイメージを実行するために必要なサブシステムの名前を取得します。

ThreadLocalStorageTableDirectory

Thread-Local Storage Table エントリを取得します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象