首页
社区
课程
招聘
[旧帖] [讨论]地址转换和PE结构 0.00雪花
发表于: 2009-12-17 17:00 1822

[旧帖] [讨论]地址转换和PE结构 0.00雪花

2009-12-17 17:00
1822

刚才看了这张图终于明白怎么转换了
先把基地址4G减去
后面虚拟地址块表后填充了0,所以4K就对应磁盘文件1K
接着每个整块1K对应磁盘文件0.5K
因为填充是在块后部进行的,所以不足一块的,文件地址直接按虚拟地址块大小加上就行了
举两个例子吧:
例一:
虚拟地址 = 403010H = 400000H+1000H+ 1000H*2 + 10H  ;这里RVA=3010H
FO =                            400H + 200H*2 + 10H =810H
---------------
例二:
RAV = 2110H = 1000H + 1000H + 110H  ;这里虚拟地址=2110H + 400000H = 402110H
FO =                   400H + 200H + 110H = 710H
---------------
偶是刚出生的菜鸟,写下来给一样有疑惑的朋友们,高手们见笑了

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2

好模糊,点击图片在新窗口中看会清楚点。
上传的附件:
2009-12-17 17:02
0
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3

6gezifu
上传的附件:
2009-12-17 21:22
0
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

IAT表...
上传的附件:
2009-12-17 21:41
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我只明白
"先把基地址4G减去
后面虚拟地址块表后填充了0,所以4K就对应磁盘文件1K
接着每个整块1K对应磁盘文件0.5K"



虚拟地址 = 403010H = 400000H+1000H+ 1000H*2 + 10H

这句我不知道你在写什么,
虚拟地址 = 403010H

其中400000H是基地址,3010H就是RVA
这是对齐后的
认真学一下PE结构,什么会文件对齐,内存对齐
2009-12-17 21:42
0
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我不太明白你的意思,是说“虚拟地址 = 403010H”这句话有问题么?
RVA(相对虚拟地址)= 虚拟地址 - 基地址
在这里就是
RVA(3010H) =  虚拟地址(403010H) - 基地址(400000H)
我是这样理解的,不知道有问题么?我刚开始学,见笑了。。。
2009-12-17 22:29
0
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
哦,好像明白泥巴的意思了,我举的是两个例子,下面的那个例子RVA不是针对上面说的,可能造成误解了,我改下
2009-12-17 22:51
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
pe结构很久不用又忘了,复习一下
2009-12-27 08:55
0
游客
登录 | 注册 方可回帖
返回
//