.net的反编译问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 05:36:59
网上有人说可以用Reflector.exe对.net开发的程序,包括.dll,.exe反编译为源代码,对他们加密都没用,一样被反编译,还可以反编译为C++,Java,C#,VB等各种语言,那.net开发的软件岂不是很没有隐私,只要用户一买到软件,直接反编译就可以看源码???是不是他们瞎说的啊?
还是说有什么解决方案,可以使得他们不被反编译啊?请教高手。

有混淆器的,也就是将程序中的变量,函数名,类名之类的都换成阅读不友好的乱码形式。
有经验的人都知道,一个大点的程序,如果什么变量,函数都是没有意义的名字的话基本上就是不可读的。
另外,反编译的代码中是不含有注释的,因此被混淆后的代码反编译之后就是纯粹的天书,除非是极其有耐心的人花上相当长的时间(即便有耐心也耐心不到这种程度吧)。
VS有自带一个混淆器dotfuscator的社区版,不过如果要更强的功能肯定就是要花钱的。

理论上只要是通过中间语言来运行的软件都可以被反编译出源码的
java和DotNET是一个性质的,所谓的混淆也不过是增加反编译的难度而已

你可以用maxtocode加密,就不容易反编译