0

私はこれを何時間も理解しようとしてきましたが、理解できないようです。Microsoft ドキュメントで情報を見つけようとしましたが、情報量に圧倒されてしまいます。私の質問は次のとおりです。PE32 ファイル内のインポート セクションのオフセットを見つけるにはどうすればよいですか? ファイルがメモリにロードされたときではなく、ディスク上にあるときを意味します。Object Tableの中を見る必要がありますか? もう 1 つの質問ですが、オブジェクト テーブルは、その直後に続くセクションの概要を示していますか?

お時間をいただきありがとうございます。

4

2 に答える 2

1

PEファイルを掘り下げてからかなり時間が経ちましたが、. . .

ドキュメントを正しく読んでいる場合、セクション テーブルはヘッダーの直後に続きます。ヘッダーのサイズを計算することで、セクション テーブルに直接配置できます。

各セクション テーブル エントリの長さは 40 バイトです (ドキュメントの 25 ページを参照)。最初のフィールドは 8 バイトの名前です。そこから imports セクション名を取得できると思います。レコードのオフセット 20 は、生データへのポインタです。これは、「COFF ファイル内のセクションの最初のページへのファイル ポインター」として記述されます。オフセット 16 のフィールドはサイズを示します。

そのため、セクション テーブルに配置し、各セクション ヘッダーを順番に読み取ってインポート アドレス テーブルを見つけ、生データへのポインターを取得できるはずです。

于 2012-04-16T04:30:15.393 に答える
1

PeDumpを見てください。このツール (提供されるソース コード付き) を使用すると、その動作を確認できます。

于 2012-04-16T08:06:28.860 に答える