首页
社区
课程
招聘
[求助]关于DLL文件的重定位
发表于: 2007-2-10 17:20 5013

[求助]关于DLL文件的重定位

2007-2-10 17:20
5013
我已经仔细看了"PE文件格式"--"重定位"那一段,但还是不理解....
原文"举一个例子,如果你发现重定位信息是
    0x00004000      (32位, 开始的RVA)
    0x00000010      (32位, 块的大小)
    0x3012          (16位的重定位数据)
    0x3080          (16位的重定位数据)
    0x30f6          (16位的重定位数据)
    0x0000          (16位的重定位数据)
    0x00000000      (下一块的RVA)
    0xff341234
你知道第一块描述的重定位开始于RVA 0x4000处,有16字节长。因为头用掉了8字节,并且一个重定位要用2字节,所以块中计有(16-8)/2=4个重定位。第一个重定位被应用于0x4012处的DWORD,第二个于0x4080处的DWORD,第三个于0x40f6处的DWORD。最后一个不需操作。
下一块的RVA是0,列表结束。


第一个重定位被应用于0x4012处的DWORD怎么理解啊
比如我加载讯雷thunder.exe,它调用了msgmanage.dll,查看msgmanage.dll文件可以得到重定位信息
    0x00001000      (32位, 开始的RVA)
    0x000001B0      (32位, 块的大小)
    0x3011          (16位的重定位数据)
    0x3017          (16位的重定位数据)
    0x3021          (16位的重定位数据)
    0x3031          (16位的重定位数据)
    ......
怎么由上面的信息定位dll文件啊
直接在thunder.exe的内存镜像里可以看到msgmanage.dll被加载到003C0000的地方??
望大大解释一下,谢谢

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 95
活跃值: (419)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
2
普通用户dll默认映像基址都是10000000,当被应用程序调用加载时,他的重定位地址究竟怎么来的
真的让我抓狂了,郁闷....
麻烦大大提示一下也好啊
2007-2-10 20:39
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
3
PECOFF.DOC....
2007-2-10 20:42
0
雪    币: 95
活跃值: (419)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
4
谢谢提示,不过刚才搜了一下论坛,只是几个帖子提到它,没见这个文件的真身,我又在论坛精华里搜,居然也没搜到,只是几个地方提到这个文件,斑竹能不能帮人帮到底,上传一下此文件,谢谢
2007-2-10 21:03
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
5
MSDN的。。。上MS英文版的网
2007-2-10 21:12
0
雪    币: 95
活跃值: (419)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
6
好的,我去看看,谢谢
2007-2-10 21:15
0
雪    币: 95
活跃值: (419)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
7
谢谢,找到了,可能更新过,名字是pecoff_v8.doc,为方便大家,放上地址:http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v8.doc
2007-2-10 21:23
0
游客
登录 | 注册 方可回帖
返回
//