2013-11-04 96 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硬盤驅動器扇區大小,因此這是偏移量相同的原因。