首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
软件逆向
发新帖
1
0
[求助]改造exe为dll,手动构造重定位表
发表于: 2008-12-2 18:16
8201
[求助]改造exe为dll,手动构造重定位表
lemoncoral
2008-12-2 18:16
8201
有一个exe文件,想要直接调用里面的一段代码,因此想法是把这个exe改造成为DLL,我的做法如下步骤:
1.在主程序中首先加载那些exe中用到的函数,但是我没有重新构建这个exe的导入表,我认为在用loadlibrary的时候,系统还是会照常自动填充这个exe的导入表,这个理解对吗?
2.然后手动构造exe中的重定位表,我没有生成新的重定位段,直接在exe文件的末尾找了一个位置,属于.shared段,然后在其中构造了重定位信息,然后把Directory Table里面的BaseReloce指向这个地址,这样做有问题吗?
然后我就在主程序中直接跳到代码段进行调用,但是调试结果是,系统根本就没有根据我的重定位表进行重定位工作,导致一些地址还是无效,请问各位高手,我这个过程哪里做错了?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
#调试逆向
收藏
・
1
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
6
)
lemoncoral
雪 币:
196
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
4
回帖
20
粉丝
0
关注
私信
lemoncoral
2
楼
唉,没人回答,沉下去了,自己顶一下吧
2008-12-5 09:58
0
lemoncoral
雪 币:
196
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
4
回帖
20
粉丝
0
关注
私信
lemoncoral
3
楼
关于第一点,其实是错误的,需要在加载后,自己调整所有的IAT。如果第一点不正确,那么第二点也就很难正确了。
我现在想问的是,对于加载exe和DLL,系统到底差别对待在什么地方?它们的格式不都是一样的吗?
2008-12-5 10:00
0
deanlh
雪 币:
242
活跃值:
(30)
能力值:
( LV2,RANK:10 )
在线值:
发帖
20
回帖
387
粉丝
1
关注
私信
deanlh
4
楼
这个没搞过哦,期待高手解答。。。
2008-12-5 10:01
0
liqiufeng
雪 币:
200
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
5
粉丝
0
关注
私信
liqiufeng
5
楼
如果是可执行文件,系统是不处理重定位的! 就算有!!
2008-12-10 23:14
0
morning
雪 币:
367
活跃值:
(20)
能力值:
( LV5,RANK:70 )
在线值:
发帖
36
回帖
494
粉丝
3
关注
私信
morning
1
6
楼
PE文件头中optional header的15e偏移(即Dll Flag):exe为0,dll为1.
所以你把这里改成1即可.系统的PE loader检查到这位时会进行导入表初始化等操作,当然包括加载依赖的dll.如果为0,则不进行这类操作.
2008-12-11 09:07
0
rekingchai
雪 币:
204
活跃值:
(38)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
48
粉丝
0
关注
私信
rekingchai
7
楼
我是来向大家学习的。。
2008-12-11 19:56
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
lemoncoral
4
发帖
20
回帖
10
RANK
关注
私信
他的文章
[求助]改造exe为dll,手动构造重定位表
8202
[求助]关于com的跟踪和调试
4177
[求助]关于com的跟踪
2927
[求助]AppdetectivePro(安全公司的产品)逆向难题
4492
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部