永发信息网

如何查看一个用C++编出来的exe程序的源代码

答案:5  悬赏:70  手机版
解决时间 2021-04-03 10:56
  • 提问者网友:wodetian
  • 2021-04-02 21:07
如何查看一个用C++编出来的exe程序的源代码
最佳答案
  • 五星知识达人网友:从此江山别
  • 2021-04-02 22:30
除非开发人员把源代码给你看,否则是做不到的。

理由如下:

C是高级语言,而高级语言的编译的过程是,首先将高级语言转化成中间代码,然后再转化成汇编,最后用汇编器转化成相应的机器二进制码,也就是通常windows下的exe文件。由于汇编和机器码的可以说几乎是一一对应的,所以由exe反汇编成汇编代码是可行的,再进一步就不行了。因为高级语言在结构上就和汇编不一样,比如说递归调用,在汇编里肯定会转化为堆栈的非递归实现的。顺着翻译可以,逆翻译却是做不到的。
另外,高级语言自由度远比汇编高,一样的汇编代码完全可以用面貌全不相同的高级语言分别编译出来,所以高级语言和汇编代码并不是一一对应的。

有兴趣可以看一看编译原理的书籍。

如有疑问,欢迎追问。
全部回答
  • 1楼网友:神鬼未生
  • 2021-04-03 02:16
引用Real_Adam的回答:
除非开发人员把源代码给你看,否则是做不到的。
理由如下:
C是高级语言,而高级语言的编译的过程是,首先将高级语言转化成中间代码,然后再转化成汇编,最后用汇编器转化成相应的机器二进制码,也就是通常windows下的exe文件。由于汇编和机器码的可以说几乎是一一对应的,所以由exe反汇编成汇编代码是可行的,再进一步就不行了。因为高级语言在结构上就和汇编不一样,比如说递归调用,在汇编里肯定会转化为堆栈的非递归实现的。顺着翻译可以,逆翻译却是做不到的。
另外,高级语言自由度远比汇编高,一样的汇编代码完全可以用面貌全不相同的高级语言分别编译出来,所以高级语言和汇编代码并不是一一对应的。
有兴趣可以看一看编译原理的书籍。
如有疑问,欢迎追问。一群煞笔没用过IDA,到处误导人。当时就是把我误导了,害我浪费几年光阴!
  • 2楼网友:慢性怪人
  • 2021-04-03 02:04
现在不流行开源了嘛
  • 3楼网友:一秋
  • 2021-04-03 01:26
用这个软件编写的 当然是用这个VC6.0软件打开了 在迅雷上找找 肯定有的 也可以用EVC4 VS2005
  • 4楼网友:话散在刀尖上
  • 2021-04-02 23:59
如果有这个方法,软件公司就全部倒闭了,编程人员就不需要冥思苦想,去看看人家怎么做,然后修修改改就好啦。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯