2013-11-04 63 views
0

我正在查看PEView中的可执行文件,发现DataDirectory中列出的用于导入表的RVA是0x649c,导入表在文件中偏移量为0x649c,这意味着导入表开始关闭在内存中的偏移量与在磁盘中的偏移量相同。我检查了节标题,看起来尽管VirtualSize和SizeOfRawData对于每个节都不相同,但RVA和PointerToRawData总是相同的。如果尺寸不同,怎么会这样呢?PE格式标题混乱

回答

0

这是相同的字段 - 如果您正在查看磁盘上的文件,它是文件偏移量。如果模块已加载,则加载器会用内存中的RVA替换此值。

+0

我以为装载机只是将图像库添加到RVA中。 –

+0

你能解释一下loader如何“生成”这个新的RVA? –

+0

我不记得头顶上的细节。从msdn网站获取[spec](http://msdn.microsoft.com/en-us/library/windows/hardware/gg463119.aspx)。 –

0

您的计算机具有较新的4 kb硬盘驱动器扇区大小,因此这是偏移量相同的原因。