我刚刚读到了指令的偏移量,它们在磁盘上的文件中,RVA和VA一旦加载到内存中。我还读到,如果PE文件加载到内存中的方式与其在磁盘中的完全相同,则RVA将与文件偏移量相同(这种情况将非常罕见)。
我的疑问是-在正常情况下,这些RVA相对于什么?该特定PE数据结构的开始?
编辑: PE数据结构我指的是PE头、DOS头、DOS存根、PE文件头、图像可选头、节表和数据目录。
发布于 2011-10-21 19:54:48
RVA是加载到内存后相对于镜像基址的地址。
MS PE/COFF specification说:
相对虚拟地址。在映象文件中,一项装入内存后的地址,减去映象文件的基地址。项目的RVA几乎总是与它在磁盘上的文件中的位置(文件指针)不同。
https://stackoverflow.com/questions/7848982
复制相似问题