PEHeader クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ポータブル実行可能ファイル (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) |
適用対象
.NET