搜索
bottom↓
回复: 13

BCB编写的软件,能反编译出C++代码吗?谢谢。

[复制链接]

出0入0汤圆

发表于 2010-5-5 09:02:09 | 显示全部楼层 |阅读模式
想看看老外的软件。(一个小软件)。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2010-5-5 09:02:51 | 显示全部楼层
软件发布时,所谓的加壳等,是不是就是防止反编译?

出0入0汤圆

发表于 2010-5-5 09:27:35 | 显示全部楼层
加壳是防盗用,当然也防反编译,防反编译的能力是加密软件的第一指标啦.

出0入0汤圆

发表于 2010-5-5 09:34:40 | 显示全部楼层
能靠电脑从机器码反出C++来,共_产主义也不远了。

出0入93汤圆

发表于 2010-5-5 10:07:09 | 显示全部楼层
呵呵,当然是可以,只是没有什么用而已。
大不了反编译成
__asm("MOV  EAX, [EBP+2]");
这样的东西,同样是C++语法,C++代码,没什么大不了的。

有一些代码重构的可以重构出部分正规的C++代码出来,完整重构的还没有见到过。

加壳并不一定就是防盗的,更不可能防止反编译。壳有两种,一种是压缩壳(UPX啊,ASPack啊,FSG啊等等),主要目的是为了减少程序集的体积的,程序集文件改变了,也起到一定的防盗作用(其实是根本没用,能轻易的脱壳出来),这是由于他们的目的所决定的。另一种壳是加密壳,主要目的就是为了防盗(印象中好像PECompact啊、北斗啊都属于这一类),不过似乎作用也并不是非常大。所有程序集运行中都是要解密后映射到内存中去的,有些软件就能将内存中的映像Dump出来。

另外,所有的程序集都无法阻止反编译,除非文件根本就不是程序集。反编译啊!反汇编也是一种反编译。所以,无论是静态的反编译(如IDA)或动态的反编译(如SoftICE),都无法阻止。

出0入0汤圆

发表于 2010-5-5 10:47:30 | 显示全部楼层
怎么可能呢?

出0入22汤圆

发表于 2010-5-5 10:50:04 | 显示全部楼层
楼主先尝试从香肠变成猪看看?

出0入0汤圆

 楼主| 发表于 2010-5-5 11:20:19 | 显示全部楼层
转帖:
楼主SYJ_SUN()2006-02-02 12:15:34 在 VC/MFC / 非技术类 提问
我分析了一下VC++6.0生成的EXE,觉得把VC++6.0生成的EXE反编译成VC++代码并非不可能的任务.   
  现在我已可以把VC资源中的菜单/按钮对应的消息函数找出来(是静态的,并非动态跟踪),再把这些汇编   
  代码反编译成C++代码也是基本可能的(只是可能要用一些内嵌汇编,变量也不可能是原来的名字,而是用"参数1""参数2"来代表).不过我的日程表里还有很多重要的工作要做,我也不想在这反向工作上花太多时间,这进一步的工作就留待以后有闲时再说了.如果有人用这项技术能产生大效益,或者可以出大价钱,可以跟我联系.   WWW.MCU-HOME.COM,SUN-TECH@21CN.COM

出0入0汤圆

 楼主| 发表于 2010-5-5 11:24:24 | 显示全部楼层
google exe2c
没用过,正在下,看看如何。

出0入0汤圆

 楼主| 发表于 2010-5-5 11:30:04 | 显示全部楼层
http://www.itee.uq.edu.au/~cristina/dcc.html
头像被屏蔽

出0入0汤圆

发表于 2010-5-5 12:32:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入93汤圆

发表于 2010-5-5 15:32:13 | 显示全部楼层
回复【7楼】Excellence  精益求精
转帖:
楼主syj_sun()2006-02-02 12:15:34 在 vc/mfc / 非技术类 提问
我分析了一下vc++6.0生成的exe,觉得把vc++6.0生成的exe反编译成vc++代码并非不可能的任务.   
  现在我已可以把vc资源中的菜单/按钮对应的消息函数找出来(是静态的,并非动态跟踪),再把这些汇编   
  代码反编译成c++代码也是基本可能的(只是可能要用一些内嵌汇编,变量也不可能是原来的名字,而是用"参数1""参数2"来代表).不过我的日程表里还有很多重要的工作要做,我也不想在这反向工作上花太多时间,这进一步的工作就留待以后有闲时再说了.如果有人用这项技术能产生大效益,或者可以出大价钱,可以跟我联系.   www.mcu-home.com,sun-tech@21cn.com
-----------------------------------------------------------------------

找到资源什么的其实BCB的更加方便,比如DeDe都能定位到控件、方法,更不用说资源了。只是每一个方法都只能反编译出汇编代码,按照他的汇编代码原则上是有部分可以转换成C++的。最典型的就是异常处理,不管是C++的try...catch...finally还是Delphi的try...except...end还是try...finally...end都是可以反编译到高级语言的。

出0入0汤圆

 楼主| 发表于 2010-5-5 16:09:49 | 显示全部楼层
汇编是可以的。
简单的可以转成C或C++.
复杂的可能就够呛。
头像被屏蔽

出0入0汤圆

发表于 2010-5-5 16:57:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 19:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表