“相对虚拟地址”,相对于什么?

我刚刚读到关于磁盘上的文件,RVA和VA加载到内存中的指令的偏移量。 我还读到,如果PE文件与磁盘中的文件完全一样,RVA将与文件偏移量相同(并且发生这种情况非常不寻常)。

我的疑问是 – 在正常情况下,这些RVA是什么关系? 那个特定的PE数据结构的开始?

编辑:通过PE数据结构我的意思是 – PE头,DOS头,DOS存根,PE文件头,Image可选头,Section表和Data目录。

RVA是在加载到内存之后的相对于图像基地址的地址。

MS PE / COFF规范说:

相对虚拟地址 。 在一个图像文件中,将一个项目的地址加载到内存中,并从中减去图像文件的基地址。 一个项目的RVA几乎总是不同于它在磁盘上文件的位置(文件指针)。