首页
社区
课程
招聘
[求助]请教各位,能否将dll文件转为exe文件直接运行?
2011-5-8 03:30 6728

[求助]请教各位,能否将dll文件转为exe文件直接运行?

2011-5-8 03:30
6728
大家好!
小弟有个疑惑想请教各位,有些程序的功能放在dll里,在需要的时候调用它,比如系统测试软件aida64里有个查看cpuid功能,从菜单里点击它,会打开一个类似CPU-Z的工具,如果我想把这个功能提取出来,让这个cpuid可以单独运行,是不是将aida_cpuid.dll改为可执行文件就行了呢?
如果这个思路可行,那需要修改哪些地方呢?是不是得动大手术?
我简单地将PE头中的DLL属性去掉,但是不能运行。
谢谢!

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 485
活跃值: (78)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
goddkiller 2011-5-8 04:02
2
0
还不如直接把这个函数逆出来然后再LOADLIBRARY GETPROCADDRESS
雪    币: 622
活跃值: (294)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
无聊的菜鸟 9 2011-5-8 07:25
3
0
首先作为一个DLL大多数情况是调用其导出函数来执行功能而不是像EXE一样从入口执行。DLL一般入口函数只是用来做一个自身需要的初始化工作。

如果想实现你需要的功能,那你首先需要定位软件是调用了这个DLL的什么导出函数,传递了什么参数,是不是有一系列调用,调用是不是有什么顺序。

摸清了这些之后,你可以在dll入口点的retn X的地方写一个patch代码,按上面的顺序和方法来调用导出函数,然后保存,然后修改掉dll文件头中的DLL标志,这样应该就可以了。

不过我没实验,不保证一定可行……

------------------------------------------------------------
测试了一下,别看那个是一个新窗口,但是Aida_cpuid.dll只是收集了以下信息似乎,窗口依然是有Aida主程序画出来的。洗洗睡吧。
雪    币: 264
活跃值: (119)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
DimRacker 1 2011-5-8 11:18
4
0
感谢二位指导!
看来比较复杂,我也试了下,窗口确实是主程序画的,暂不研究啦!
雪    币: 29
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
webwizard 2011-5-13 02:48
5
0
受教了。膜拜
游客
登录 | 注册 方可回帖
返回