IDA では、.textセクションは から始まります0x01001630。
ファイルでは、これらのバイトは生のオフセット0xA30.
セグメントPointerToRawDataのセクション テーブル内のフィールドは で、これはとの間の距離です。 .text0x4000xA300x630
0xA30PE ファイルのファイル ヘッダーから取得する方法がわかりません。どんな助けでも大歓迎です。
IDA では、.textセクションは から始まります0x01001630。
ファイルでは、これらのバイトは生のオフセット0xA30.
セグメントPointerToRawDataのセクション テーブル内のフィールドは で、これはとの間の距離です。 .text0x4000xA300x630
0xA30PE ファイルのファイル ヘッダーから取得する方法がわかりません。どんな助けでも大歓迎です。
.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.