关于PE格式中的文件地址,虚拟地址,相对虚拟地址的理解

来源:互联网 发布:淘宝店地区怎么修改 编辑:程序博客网 时间:2024/05/17 00:17

首先贴上定义

1.文件偏移地址 (File Offest)
数据在PE文件中的地址叫文件偏移地址,个人认为叫做文件地址更加准确.这是文件在磁盘上存放时相
对文件开头的偏移.

2.装载地址 (Image Base)
PE装入内存时的基地址.默认情况下,EXE文件在内存中的基地址是0x00400000,DLL文件是0x10000000.

这些位置可以通过修改编译选项更改.

3.虚拟内存地址 (Virtual Address,VA)
PE文件中的指令被装入内存后的地址.

4.相对虚拟地址 (Relative Virtual Address,RVA)
相对虚拟地址是内存地址相对于映射基质的偏移量.

 

形象化理解:

那个装载地址(有的也叫映像基址)就不用解释了,由编译器决定。虚拟地址就像我们的家庭地址,抛开Windows对物理地址和逻辑地址的转换,就是个绝对地址。文件地址:如果把整幢楼当成一个文件,我们的家庭地址中的XX室就是个文件地址

相对虚拟地址也很容易理解,就是XX幢,相对小区第“0”幢的偏移量

原创粉丝点击