永发信息网

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

答案:5  悬赏:70  手机版
解决时间 2021-04-03 10:56
如何查看一个用C++编出来的exe程序的源代码
最佳答案
除非开发人员把源代码给你看,否则是做不到的。

理由如下:

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

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

如有疑问,欢迎追问。
全部回答
引用Real_Adam的回答:
除非开发人员把源代码给你看,否则是做不到的。
理由如下:
C是高级语言,而高级语言的编译的过程是,首先将高级语言转化成中间代码,然后再转化成汇编,最后用汇编器转化成相应的机器二进制码,也就是通常windows下的exe文件。由于汇编和机器码的可以说几乎是一一对应的,所以由exe反汇编成汇编代码是可行的,再进一步就不行了。因为高级语言在结构上就和汇编不一样,比如说递归调用,在汇编里肯定会转化为堆栈的非递归实现的。顺着翻译可以,逆翻译却是做不到的。
另外,高级语言自由度远比汇编高,一样的汇编代码完全可以用面貌全不相同的高级语言分别编译出来,所以高级语言和汇编代码并不是一一对应的。
有兴趣可以看一看编译原理的书籍。
如有疑问,欢迎追问。一群煞笔没用过IDA,到处误导人。当时就是把我误导了,害我浪费几年光阴!
现在不流行开源了嘛
用这个软件编写的 当然是用这个VC6.0软件打开了 在迅雷上找找 肯定有的 也可以用EVC4 VS2005
如果有这个方法,软件公司就全部倒闭了,编程人员就不需要冥思苦想,去看看人家怎么做,然后修修改改就好啦。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如果我在A银行申请了该行的信用卡,别家银行
16-01-13恐暴龙的唾液怎么出
中国邮政储蓄银行(望海支行)地址好找么,我有
卡勒德 胡赛尼为什么写追风筝的人
五湖分别指什么?
中邮创业基金管理股份有限公司怎么样?
判断题自然条件非常相似的两个地区,其环境人
第三中学地址有知道的么?有点事想过去!
与将军有关的成语
在过桥上汽车占有了非机动车道时,被电动车追
求问澳洲支票的有效期,我是st.George银行的
我拔完左下智齿已经一周了 还痛怎么办
死侍有女朋友吗?
bravery与courage的区别?
求助:4岁多儿子每天尿床,怎么办
推荐资讯
圆规的用法作文600,急急!急急!急!望各位
来玩王者吧。这句话什么意思
室外砖砌台阶工程量如何计算
2012cvt日产轩逸舒适版前排座椅能向后放平吗
中国历史上第一次统一了蒙古草原的民族是A.蒙
女人的优雅气质和衣着穿戴关系有多大?
i GO平衡车有多少种颜色,女生适合什么颜色?
Do you often help your mother with the hou
我在家父母总是说我,我想出去打工,17周岁了
严什么酷什么四字词语
单选题在比较洋务运动和明治维新时,有人认为
密克罗国际建筑师文化(北京)有限公司怎么样
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?