【发布时间】:2016-08-16 12:32:38
【问题描述】:
我看到对于图像文件中的部分,VirtualSize 字段是加载到内存中时该部分的总大小,而 SizeOfRawData 字段是该部分在磁盘上的初始化数据的大小。
在检查 .idata 部分时,VirtualSize 字段设置为 0x14,而 SizeOfRawData 字段设置为 0x400。
为什么链接器(在本例中为 MinGW ld)会使文件部分如此之大,而加载到内存中的部分只是它的一小部分?
另外,VirtualSize 字段的用途是什么?为什么不总是加载整个部分,即加载 SizeOfRawData 字节?
我在官方 PE 文档中没有看到描述或它们之间的关系。
【问题讨论】:
标签: windows assembly windows-10 portable-executable