IDA では、.text
セクションは から始まります0x01001630
。
ファイルでは、これらのバイトは生のオフセット0xA30
.
セグメントPointerToRawData
のセクション テーブル内のフィールドは で、これはとの間の距離です。 .text
0x400
0xA30
0x630
0xA30
PE ファイルのファイル ヘッダーから取得する方法がわかりません。どんな助けでも大歓迎です。
IDA では、.text
セクションは から始まります0x01001630
。
ファイルでは、これらのバイトは生のオフセット0xA30
.
セグメントPointerToRawData
のセクション テーブル内のフィールドは で、これはとの間の距離です。 .text
0x400
0xA30
0x630
0xA30
PE ファイルのファイル ヘッダーから取得する方法がわかりません。どんな助けでも大歓迎です。
.text セクションの最初の 0x630 バイトは、IDA が新しいセクションに変換した IAT (インポート アドレス テーブル).idata
です。
1000 [ 630] RVA [size] of Import Address Table Directory
Name Start End
---- ----- ---
HEADER 01000000 01001000
.idata 01001000 01001630 <- added by IDA
.text 01001630 01054000
.idata 01054000 01054004 <- added by IDA
.data 01054004 01059000
初期読み込みダイアログでチェックを外す[x] Make imports segment
と、変更されていないセクション テーブルが得られます。
Name Start End
---- ----- ---
HEADER 01000000 01001000
.text 01001000 01054000
.data 01054000 01059000
これはIDAが賢くなろうとしているケースだと思います。セクションは実際には.text
ファイル オフセット0x400
(RVA 0x1000
) から始まります。IDA は、.text
セクションの先頭に api インポート データが含まれていることを認識するため、セクション名を に変更し.idata
ます。PE ヘッダーのすべてのセクション名を見ると、.idata
セクションがないことがわかります。
PE ヘッダー全体を見てください。インポート アドレス テーブルが RVA0x1000
で始まり、サイズが0x630
.