PE文件的偏移

1.文件偏移地址(File Offset)

数据在PE文件的偏移位置,通俗的讲就是文件的第几个字节,比如文件偏移地址为0x400,那么指的就是文件的第0x400个字节的地方。

2.基地址(Image Base)

PE装入内存的地方,相当于使用fread()函数把PE文件读入内存,而基地址就相当于PE在内存中的首地址,默认exe文件在内存中的基地址是0x00400000(不一定是,站长的32位的Win8的基地址就不是,一般为0x00EB0000),dll文件是0x10000000。

3.虚拟内存地址(Virtual Address,VA)

就是PE文件在内存中的地址,因为用的是虚拟内存技术来管理内存,所以叫做虚拟内存,而物理内存是系统已经帮我们封装好了,所以我们不需要去管物理内存。

4.相对虚拟地址(Relative Virtual Address,RVA)

相对虚拟地址是内存地址基于基地址的偏移,规则是VA=IMage Base+RVA

5.虚拟地址偏移(Virtual Offset,VO)

这个一般是相对于PE文件在内存中的各区块而言的相对虚拟地址。我觉得简单来说这就是一个特殊的RVA。

6.物理地址偏移(Raw Offset,RO)

这个一般是相对于PE文件在文件中的各区块而言的文件偏移地址。我觉得简单来说这就是一个特殊的File Offset。

说点什么

avatar
  Subscribe  
提醒