我分析了一下VC++6.0生成的EXE,觉得把VC++6.0生成的EXE反编译成VC++代码并非不可能的任务.
现在我已可以把VC资源中的菜单/按钮对应的消息函数找出来(是静态的,并非动态跟踪),再把这些汇编
代码反编译成C++代码也是基本可能的(只是可能要用一些内嵌汇编,变量也不可能是原来的名字,而是用"参数1""参数2"来代表).不过我的日程表里还有很多重要的工作要做,我也不想在这反向工作上花太多时间,这进一步的工作就留待以后有闲时再说了.如果有人用这项技术能产生大效益,或者可以出大价钱,可以跟我联系. WWW.MCU-HOME.COM,[email protected]

解决方案 »

  1.   

    我用过IDA4.15,反编译出来的是汇编。但VC中的一些系统函数有还原出来,如:
    DeviceIoControl
    operator delete(void *)
    MessageBoxA
    CDialog::CDialog(uint,CWnd *)
    CDialog::OnInitDialog(void)
    DDX_Control(CDataExchange *,int,CWnd &)还有,不能一一列举。
      

  2.   

    好像有书说如果是debug的版本是可以反编译成源码的.
      

  3.   

    呵呵,那是因为逆反编译是sdk这种没科技含量的东西,建议楼住反编译一下photoshop或者acm比赛的code,没有什么实在意义,随便一分析pe的都可以看到静态调用,当描述算法是你用asm写看看了~~~~不过牛人多顶了
      

  4.   

    有无将EXE(VC++编写的)文件反编译成源程序文件的??用什么软件或方法呢??知道的还望能发份邮件到我
      

  5.   

    好像编辑器对源代码编译要经过几个步骤的
    0.预处理
    1.生成符号表
    2.生成分析树
    3.生成中间代码
    4.中间代码优化
    5.生成二进制代码
    6.地址转换
    7.生成目标代码关键是这个0步是把宏替换了,2-4步把代码给弄混了,最终出来的是一个线性代码,没有对象结构的。特别是代码优化时,特定编译器的优化方法不尽相同,而c语言中又可能嵌入了汇编成分,或者和其它库连接等操作。想弄出一个像样的C源码难,C++源码更难
      

  6.   

    你把kernel32.dll和ntdll.dll反编译完了再来说吧
      

  7.   

    谁能帮我将一个程序进行反编译(.exe).怎么能将程序发给你
      

  8.   

    你把windows反编译出来再说吧。
      

  9.   

    呵呵,
    按楼主的描述,简单的helloworld,反编译出来估计是没问题的。也就是一个按钮里面一个MessageBox的那种弱智逻辑的代码。。如果像我现在手头写的程序,上百个没界面的逻辑处理的类,相互间有嵌套有继承有静态工具类,因为没有写注释的习惯,虽然自认为代码风格一流,但是光溜溜源代码我自己经常看迷糊,不得不画图,慢慢分析。据我所知,反编译出来的变量是地址我真替反编译者的脑细胞担心。
    最后,就算真有那么神,这个任务我看就免,不是 存心砸兄弟们的饭碗嘛~~~~
      

  10.   

    如果您的大事成功了,那么您可以vs微软了!你同样可以开发操作系统!Cool++!