您的位置:首页 > 其它

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

2011-04-21 19:53 555 查看
首先贴上定义

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”幢的偏移量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息