c++代码反编译

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++代码反编译相关的知识,希望对你有一定的参考价值。

我用VS2008开发的windows桌面程序,为什么可以用Reflector.exe反编译出源代码呢 。。。为什么啊 不是说不能看到的吗 ?

c++分为几中啊 为什么还有托管C++之说 ?

进入.Net之后,VC可以用来开发本地的win32程序,还有托管的.Net程序

其中win32程序,比如mfc程序,使用传统C++语言,是直接编译为机器指令的,最多反汇编到汇编代码

但是.net程序,使用微软为.net平台扩展的C++/CLI语言(.net 1.1时代有一种托管C++语言,是微软的早期作品,因为稳定性欠佳,已被C++/CLI取代),编译之后的是.net平台的IL语言,因为IL汇编语言较传统汇编指令远为“高级”,通过简单的反汇编器就可以得到几乎一摸一样的源代码,楼主实际看到的是这种.net程序,这才是通过Reflector能够看到的反汇编代码
参考技术A VS2008里有微软特有的托管c++
意思就是将c++绑定到类似c#的那种.net虚拟机里运行,所以才能反编译,那是托管代码,c++/cli
参考技术B 微软发明的什么托管c++ , 那根本不是c++ 参考技术C 楼上回答得都很清楚了。
C++语言只有一种!
工具很多!

以上是关于c++代码反编译的主要内容,如果未能解决你的问题,请参考以下文章

问一下高手 c++dll文件如何反编译 看源代码啊????

有 C++ 反编译器吗? [关闭]

如何防止代码被反编译

OD+IDA动静结合反编译C++

OD+IDA动静结合反编译C++

Visual C++反编译