首页
社区
课程
招聘
[求助]请问怎么理解RVA VA
发表于: 2009-4-11 22:48 5546

[求助]请问怎么理解RVA VA

2009-4-11 22:48
5546
     现在在学PE 入门看了下不太懂,网上也查了下,也看不太懂。
   比如说ImportREC_fix这个软件  的ESP 填的是内存的ESP地址吧
   那怎么算他的文件ESP地址呢 ?能否介绍下呢?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
VA,虚拟地址,也就是程序被加载到内存中的地址

RVA,以虚拟地址前边加上个“相对的”,也就是说它还是按虚拟地址来换算,只不过不是从0开始,而是把一个模块的基址作为参考点。

RAW ADRRESS,或者FILE OSSFET,一般称文件偏移,你把一个文件看成一个连续的字节流,OFFSET就是这个字节流中的位置。

换算关系为:

将VA减去MODULE的BASE就是RVA的值。

RVA与OFFSET的关系,是通过每个SECTION内领衔量相等为换算的。举例来说,假设一个EXE文件,BASE为0x00400000,第一个SECTION的名字叫.text,它的RVA是0x2000,那么它的VA就是0x00402000,也就是它个SECTION在内存中的起始地址是0x00402000;若假设这个SECTION的OFFSET是0x1000,那么最终的结果是,文件中从0x1000开始的一个SECTION,被映射到了内存地址0x00402000开始的内存区间。假设有一段代码位于这个SECTION中,它的地址(VA)是0x00402345,相当于它的RVA是0x2345,而它在SECTION内部的偏移量是0x0345,所以它的文件中的偏移量就是0x1000(SECTION的起始偏移量) + 0x0345,即0x1345。

总结:VA与RVA只相差一个BASE值,而VA与OFFSET的换算,关键是要确定这个地址属于哪一个SECTION。
2009-4-12 00:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
ImportREC_fix这个软件 的OEP地直是怎么算出来的呢 不太会~~~
2009-4-12 09:52
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
4
这个不是ImportRec给你“算”出来的,是要人输入的。

脱壳时,通常是在调试器里走到程序的OEP,然后DUMP内存映像,再把OEP的地址换算成RVA,用来修复DUMP出的文件头(以及用来帮助ImportRec那年IAT,但IAT也可以手动寻找)。
2009-4-12 09:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
恩我的意思是说 假设  我在OD中看到的  OEP是  BB86BB86 为什么到 到ImportREC_fix 就是 6BB86了
2009-4-12 10:01
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
6
OEP不可能是 BB86BB86,这是内核空间了。

你现在明白VA和RVA的关系了吗?

我告诉你在调试器里的OEP是它的VA,你难道不会算它的RVA?
2009-4-12 10:06
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
好的谢谢啦  我在研究研究~
2009-4-12 10:15
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
为什么RVA是0x2000而文件的OFFSET却是0x1000?
2009-4-12 10:34
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
9
楼上没看到二楼的用心
2009-4-12 10:57
0
雪    币: 148
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
应该和PE这种老外结构有关.

导致RVA和OFFSET不相等的原因可能是...
如果相等的话.那就是...
2009-4-12 11:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
http://bbs.pediy.com/showthread.php?t=61737 发现这里介绍的比较祥细!!!!

还有谢谢大家的帮助 又学到一点
2009-4-12 11:19
0
游客
登录 | 注册 方可回帖
返回
//