在IDA中,.text
部分从0x01001630
开始。
在文件中,这些字节位于0xA30
的原始偏移量处。
PointerToRawData
段的节表中的.text
字段为0x400
,即0xA30
和0x630
之间的距离。
我不确定如何从PE文件的文件头中获取0xA30
。任何帮助表示赞赏。
答案 0 :(得分:1)
.text部分的第一个0x630字节是IAT(导入地址表),IDA已将其转换为新部分.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
答案 1 :(得分:0)
我认为这是IDA试图变得聪明的一个案例。 .text
部分确实从文件偏移0x400
开始(RVA 0x1000
)。 IDA意识到.text
部分的开头包含api导入数据,因此它将部分名称更改为.idata
。如果您查看PE标头中的所有部分名称,您将看到没有.idata
部分。
查看整个PE标头。您会看到导入地址表从RVA 0x1000
开始,其大小为,您猜对了,0x630
。