Excellence 发表于 2010-5-5 09:02:09

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

想看看老外的软件。(一个小软件)。

Excellence 发表于 2010-5-5 09:02:51

软件发布时,所谓的加壳等,是不是就是防止反编译?

cock 发表于 2010-5-5 09:27:35

加壳是防盗用,当然也防反编译,防反编译的能力是加密软件的第一指标啦.

mlhorizon 发表于 2010-5-5 09:34:40

能靠电脑从机器码反出C++来,共_产主义也不远了。

takashiki 发表于 2010-5-5 10:07:09

呵呵,当然是可以,只是没有什么用而已。
大不了反编译成
__asm("MOVEAX, ");
这样的东西,同样是C++语法,C++代码,没什么大不了的。

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

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

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

flyunlimit 发表于 2010-5-5 10:47:30

怎么可能呢?

zxq6 发表于 2010-5-5 10:50:04

楼主先尝试从香肠变成猪看看?

Excellence 发表于 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

Excellence 发表于 2010-5-5 11:24:24

google exe2c
没用过,正在下,看看如何。

Excellence 发表于 2010-5-5 11:30:04

http://www.itee.uq.edu.au/~cristina/dcc.html

bbs2009 发表于 2010-5-5 12:32:56

takashiki 发表于 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都是可以反编译到高级语言的。

Excellence 发表于 2010-5-5 16:09:49

汇编是可以的。
简单的可以转成C或C++.
复杂的可能就够呛。

bbs2009 发表于 2010-5-5 16:57:05

页: [1]
查看完整版本: BCB编写的软件,能反编译出C++代码吗?谢谢。