VC++生成的dll文件,能用什么工具反编译出来

daizhijing 2012-04-17 04:50:16
VC++生成的dll文件,能用什么工具反编译出来
...全文
11588 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

引用 12 楼 的回复:

引用 11 楼 的回复:

引用 10 楼 的回复:
IDA Pro 交互式反汇编工具
这个只能反汇编成汇编语言,我想得到C语言程序

IDAPro高版本可以直接生成C代码(好像是5.0以上版本),但想完美反向成C/C++代码最好还是人工干预 ---- 及完全由人工由汇编代码生成C/C++代码,这个在我6层的回复中有


出来的代码还不如看……
[/Quote]
确实,依照目前的编译器,由Native完全还原成源码是不可能的,主要原因是源码到目标码,在经过编译优化之后并非一一对应;所以,目前反向技术多数必须借助人工,IDAPro的自动生成C的功能我几乎从没有使用过,只是知道有这个功能。好的反向是建立在对被反向程序足够了解的情况下(似乎是很诡异的废话),这样对于成员变量等的命名和程序的理解才可能接近原始的程序 ---- 所以对一个程序进行专业的反向确实是对技术的一个考验;事实上,我们在使用反向技术还原一段程序代码时,基本上会进行至少3次----必须要足够理解;这些在目前是无法通过机器完成的;
northcan 2012-04-18
  • 打赏
  • 举报
回复
IDA Pro 交互式反汇编工具
Red_angelX 2012-04-18
  • 打赏
  • 举报
回复
源代码没可能,只能得到反汇编代码 自己慢慢还原成src吧
daizhijing 2012-04-18
  • 打赏
  • 举报
回复
再问一下,VC++生成的dll文件,能用什么工具可以得到VC++形式的源代码?希望大家帮帮忙!!
xunxun 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

引用 11 楼 的回复:

引用 10 楼 的回复:
IDA Pro 交互式反汇编工具
这个只能反汇编成汇编语言,我想得到C语言程序

IDAPro高版本可以直接生成C代码(好像是5.0以上版本),但想完美反向成C/C++代码最好还是人工干预 ---- 及完全由人工由汇编代码生成C/C++代码,这个在我6层的回复中有
[/Quote]

出来的代码还不如看汇编代码。非常简单的估计还行(Hello world级别的),加壳的话简单级别也反不出来。

native程序反编译是世界性难题,现在就没有一个可用的native反编译器。其他非编译型语言有。

逆向一般都是猜测(如果没加壳的话,否则反汇编无用),根据上下文估计实现方法然后加上一些消息引用/消息断点进行算法的判断,从而进行重构。
big_cucumber 2012-04-18
  • 打赏
  • 举报
回复
貌似没办法的,不然软件公司就挂掉了
「已注销」 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

引用 10 楼 的回复:
IDA Pro 交互式反汇编工具
这个只能反汇编成汇编语言,我想得到C语言程序
[/Quote]
IDAPro高版本可以直接生成C代码(好像是5.0以上版本),但想完美反向成C/C++代码最好还是人工干预 ---- 及完全由人工由汇编代码生成C/C++代码,这个在我6层的回复中有
daizhijing 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
IDA Pro 交互式反汇编工具
[/Quote]这个只能反汇编成汇编语言,我想得到C语言程序
dasjdka 2012-04-17
  • 打赏
  • 举报
回复
你可以用 vC编译器 里的一个组件Dpends 打开看到源代码。
「已注销」 2012-04-17
  • 打赏
  • 举报
回复
这是我今天晚上为回这个帖子临时找到的一个Linux版本的商业程序,我没有进行任何人工处理,直接使用IDAPro,结果如下:
http://img.my.csdn.net/uploads/201204/17/1334669197_6859.JPG
注意:左侧已经包含了多数内部的类成员定义,右侧窗口已经识别出一个case语句
这一屏的C/C++代码经过人工辨识(不要问我为什么,这应该可以单独讲一课了),还原出源码如下:http://img.my.csdn.net/uploads/201204/17/1334669465_6392.JPG
如果人工进行干预,一些关键的数据结构甚至也可以被完全还原出来;所以一个黑客级的专业程序人员甚至完全可以由可执行代码反向出完整的C/C++代码 ---- 只要较好的技术,时间允许,且他有兴趣和耐心;
(不会贴图,大家凑合着看,有谁教我怎样在回帖中贴图)
「已注销」 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

不可能,要不还有开源这个说道?
[/Quote]
我很少看开源代码,除了Linux内核代码和一些很少经典的开源代码(多数开源代码的质量确实不敢恭维,初学者看看也就罢了),多数情况下我都用IDAPro直接看最终发行的目标代码,如果幸运的话,有Linux版本,甚至可以看到成员函数名和类结构的定义(成员变量没有办法);IDAPro有些时候甚至连memcpy这样的静态函数都可以识别出来,多数情况下,Linux版本被成功反向的可能性大些,而库函数因为其入口的原因,比单纯的可执行文件被反向的机会要大些;IDAPro唯一的问题,并非完全的傻瓜软件,需要人工干预才可以反的好些 ---- 这也是相对其他反向工具令人喜欢的地方,但这对工程人员的要求也比较高;
「已注销」 2012-04-17
  • 打赏
  • 举报
回复
IDAPro,如果水平好,再有些运气,配合人工的办法反向出基本算法甚至部分源码(C/C++)不是没有可能的;
zhao1zhong6 2012-04-17
  • 打赏
  • 举报
回复
不可能,要不还有开源这个说道?
xunxun 2012-04-17
  • 打赏
  • 举报
回复
只能做反汇编

反编译不可能……
evencoming 2012-04-17
  • 打赏
  • 举报
回复
dumpbin
vc自带的软件。
可在vc安装目录搜索

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧