日期:2014-05-18  浏览次数:21079 次

C#反编译
C#生成的EXE很容易被反编译,怎么可以防止被返编译?大虾帮忙,最好能提供源码

------解决方案--------------------
用"Remotesoft Protector"加密程序。
------解决方案--------------------
考虑代码混淆器或者加密
不过说实在的,机器码总是暴露的,混淆只是混淆一下读代码的人让他一头雾水。
其实不存在绝对的东西
以前讨论过
参考
------解决方案--------------------
对相关代码使用加密和反射方式,增加强签名
通过反射,混淆等保护源代码。混淆可使用混淆器如dotfuscator ,XenCode 
防止反编译可使用加密,混淆,反射等方式实现。 
混淆分名称混淆,流程混淆 
名称混淆基本所有混淆保护工具都具有的功能。名称混淆一部分是可以还原 

http://topic.csdn.net/u/20090423/09/83de56b0-3f04-450a-b35c-6a9de680fda6.html
------解决方案--------------------
这么机密啊。。。
一般反编译也只能看看你的程序结构。
调用公开的类和库。
没有必要担心的啊。
------解决方案--------------------
现在连x86代码都可以反编译了。。。

混淆器是一个好办法,不过有混淆器就有反混淆器。可以手工编写些IL花代码。
------解决方案--------------------
混淆一下,让别人反编译后看代码花费更大的代价

这样别人就懒的去搞啦,自己写个比看你这个还快,呵呵
------解决方案--------------------
对啊,通过Exe搞出来的代码完全可以知道源码是什么。。。
------解决方案--------------------
可以用第三方的混淆器修改你用C#编译器生成的IL代码

要不就是把核心的内容用非托管的方式进行编译,然后和托管代码一起使用
当然了,非托管的代码也能被反汇编。。。