首页
社区
课程
招聘
[旧帖] 把exe逆向还原为汇编源码? 0.00雪花
发表于: 2015-11-15 10:06 7076

[旧帖] 把exe逆向还原为汇编源码? 0.00雪花

2015-11-15 10:06
7076
ida和od都能看到exe的汇编代码
然后一此资源工具也能导出exe中所使用的资源
按理说这样应该就能把一个exe还原成编译时的资源以及汇编代码,而且还可以重新再编译生成跟原来功能一样的exe
有这样的工具吗?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 586
活跃值: (169)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
很难,而且工程量太大了
2015-11-15 18:34
0
雪    币: 569
活跃值: (261)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
3
为什么都这样说呢?
像ida,od那样的程序分析可以识别出程序的代码和使用的数据,只要把这两部分识别出来分别放在一个文件里就好了吧.
虽然ida,od的实现比较复杂,不过,如果能借用的话,比如ida,它只需要加一个导出功能就行了.

当然这只是我的想法. 基本能达到这个目标就行了.

主要是觉得现在修改程序,总要用OD,IDA分析来分析去,找到关键点了,再修改一下.而且未来可能还会有多个要修改的地方. 与其如此,不如把它翻译成编译程序,这样也就基本相当于有源代码了.
2015-11-20 11:38
0
雪    币: 569
活跃值: (261)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
4
修正:是编译成汇编程序.

兄台有相关经验否?
2015-11-20 11:40
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
其实,看你具体的目的,有时不一定要得到原代码。基于目标代码也是可以作更改的。
2015-12-7 23:01
0
雪    币: 569
活跃值: (261)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
6
能否给个思路?
其实可以从IDA导入编码代码,但导出的代码不能编译。如果有一个能正常编译的就好了。
2016-10-19 15:29
0
雪    币: 250
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
的确是很难实现的
2016-10-19 16:46
0
雪    币: 78
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我没有开启登录保护,根本不需要什么验证码,骗子这么多
http://bbs.pediy.com/showthread.php?t=213500
2016-10-27 20:53
0
雪    币: 569
活跃值: (261)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
9
你这人品显然有问题,好心帮你,还骂人。
算我帮错人了好吧!
2016-10-29 18:04
0
雪    币: 35
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
不懂帮顶!加你好友了!我是lxp啊!
2016-11-16 11:46
0
雪    币: 569
活跃值: (261)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
11
    
2016-11-16 14:08
0
雪    币: 44
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不懂帮顶!
2016-12-3 16:16
0
雪    币: 1441
活跃值: (299)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
13
ida  od 也有错啊
2016-12-4 11:58
0
雪    币: 623
活跃值: (40)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
14
不是很难,我试过将一个 dll 整个导出汇编进行编译成功。
导出汇编代码后,直接编译多半会出错。需要修改一些东西
两个大问题:
一. ida 导出的汇编代码,不符合 masm 或者 nasm 之类的语法。当然这要修改正确的语法
    这个问题好办:一般都是写工具进行自动转换,达到语法正确。

二. 编译或者链接出错的问题,这个问题有点刺手
主要的原因是:
(1) c/c++ 源码编译时,编译器会自动生成插入一些额外的东西,例如:cookies检查之类的,栈空间分配前的检查等等... 你导出汇编码,可能需要修改或处理一下....
(2) 有些 c++ 的一些函数名,你无法接链,例如:关于异常之类的函数
(3) 编译器的版本问题, 例如:源代码是在 vc6.0 下编译的,你拿到 vs2008 编译,可能会出问题。找到不对应的函数或者库

能不能成功,就看你怎么修改了。
2016-12-4 12:22
0
雪    币: 43
活跃值: (388)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
15
好像有将exe转dll的工具
2016-12-4 12:31
0
雪    币: 569
活跃值: (261)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
16
换了看雪里较新的ida,能把汇编转换成c,简单的汇编转换效果非常好。复杂点的,如有数组转换效果就不好了。 不过有了这个反编译为c,看起代码来方便了很多。
2016-12-28 10:08
0
雪    币: 569
活跃值: (261)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
17
有些注入相关书籍里的例子,可以直接翻译成c,不用修改。
2016-12-28 10:09
0
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
如果加壳了,不得到原始汇编代码,修改很可能会失败吧
2016-12-30 07:57
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
资源很容易就获取出来的。
VC就可以啊。
2017-1-5 17:22
0
游客
登录 | 注册 方可回帖
返回
//