首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
软件逆向
发新帖
4
0
[求助]把exe作为dll 载入时的重定位
发表于: 2016-11-23 11:22
6895
[求助]把exe作为dll 载入时的重定位
Leehaha
2016-11-23 11:22
6895
想把exe作为dll 一样载入,然后调用里面的代码。 用loadlibrary 显示载入的时候,目标exe的baseimage被占用了,所以被加载到了别的位置,所以代码段和数据段都需要手工重定位,在想有没办法能把目标exe 加载到目标exe的baseimage上,如0x400000,这样可以免去重定位。
还尝试把目标exe 加到主程序IAT上面,想法是在主程序启动的时候就先去加载目标exe,这样就能启动的时候先去占位置了,不过改了之后程序启动不了了,有没有人成功过??
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
#调试逆向
收藏
・
4
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
8
)
Morgion
雪 币:
608
活跃值:
(648)
能力值:
( LV4,RANK:50 )
在线值:
发帖
9
回帖
649
粉丝
5
关注
私信
Morgion
1
2
楼
如果你的PE有重定位表的话,你可以把你的Image加载到任意你想加载到的地方。如果没有那就没办法了
2016-11-23 11:36
0
pxhb
雪 币:
6541
活跃值:
(4501)
能力值:
( LV7,RANK:110 )
在线值:
发帖
10
回帖
421
粉丝
20
关注
私信
pxhb
2
3
楼
之前曾经弄过一个软件的注册机,自己写个dll,分析一下主程序在哪个位置初始化完成,就在那里load下自己的dll,然后用dll调用exe的代码,有过你这种想法,但好像不行,某些代码,直接调用不了,应该要让主程序自己初始化一下
2016-11-23 11:42
0
littlewisp
雪 币:
5299
活跃值:
(3689)
能力值:
( LV13,RANK:283 )
在线值:
发帖
62
回帖
559
粉丝
13
关注
私信
littlewisp
2
4
楼
你自己分配内存,重新映射下不就行了吗
2016-11-23 11:46
0
achillis
雪 币:
7651
活跃值:
(523)
能力值:
( LV9,RANK:610 )
在线值:
发帖
32
回帖
2032
粉丝
47
关注
私信
achillis
15
5
楼
其实不复杂,说两个要点:
1.要调用的exe没有重定位表没关系,比如默认基址都是0x400000,你自己的程序在编译的时候可以改到其它基址,比如0x20000000,这样load别的exe的时候就可以加载到它的默认基址了,不需要重定位
2.对一些api要做特殊处理,比如GetModuleHandle,当exe调用它的时候,你得返回它实际加载的位置,不然就变成你exe加载的位置了,一般是用hook处理,当然需要处理的还有其它一些函数
这样的话,大部分不是太复杂的程序应该没问题了
2016-11-23 12:20
0
wang王
雪 币:
4751
活跃值:
(1783)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
255
粉丝
0
关注
私信
wang王
6
楼
ImageBase要处理好
2016-11-23 12:22
0
Leehaha
雪 币:
31
活跃值:
(11)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
2
粉丝
0
关注
私信
Leehaha
7
楼
谢谢大侠回答,第一次发帖,收到热心回复,心情小激动。
我确实是这么做的,但是我在启动自己的exe 的时候 0x400000 这个地址又会被其他的dll给先占用了,导致要调用的exe 一直无法加载到它默认的基址上去。
所以我才会想把exe 加入导入表,把它放到导入表的开头位置,让它先被加载,先去占个位置,结果失败了。 原因 可能是那种加载方式默认的都是加载dll,而dll一般都要用重定位表,而exe是没有重定位表的。
2016-11-24 10:03
0
JJGuo
雪 币:
62
活跃值:
(2032)
能力值:
( LV2,RANK:10 )
在线值:
发帖
49
回帖
338
粉丝
8
关注
私信
JJGuo
8
楼
帮你顶一下,这个问题困挠我好多年,看有没有那位大侠帮忙解决一下。
2016-12-16 22:00
0
DoItFreely
雪 币:
353
活跃值:
(57)
能力值:
( LV9,RANK:140 )
在线值:
发帖
7
回帖
34
粉丝
0
关注
私信
DoItFreely
3
9
楼
代码是网上找的,我仅依葫芦画瓢写了一个LoadExeFromImage(),WinXP测试,有时可以,有时崩溃,原因不明。希望对你有帮助。
上传的附件:
callexe.7z
(91.59kb,68次下载)
2016-12-30 22:48
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
Leehaha
1
发帖
2
回帖
10
RANK
关注
私信
他的文章
[求助]把exe作为dll 载入时的重定位
6896
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部