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

2024-12-19 04:21:43
推荐回答(5个)
回答1:

除非开发人员把源代码给你看,否则是做不到的。

理由如下:

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

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

如有疑问,欢迎追问。

回答2:

如果有这个方法,软件公司就全部倒闭了,编程人员就不需要冥思苦想,去看看人家怎么做,然后修修改改就好啦。

回答3:

三个字,不可能

回答4:

现在不流行开源了嘛

回答5:

用这个软件编写的 当然是用这个VC6.0软件打开了 在迅雷上找找 肯定有的 也可以用EVC4 VS2005