C#软件如何良好的防止反编译被破解?
1个回答
展开全部
1. .NET这个技术其实是适合用来做互联网软件的,不适合用来开发单机软件,所以其中一个思路就是把你的产品给互联网化,引入服务器参与。2. .NET也有将代码转换为本机代码的办法,.NET开发包里有个叫NGEN的工具,可以把中间代码客户端转换成本机代码客户端,用转换后的客户端来进行发布,一方面可以增强运行的性能,另一方面也加大了破解的难度。
可以使用 Dotfuscator Community Edition。但是该工具只是改变变量名和进行低级地控制流混淆,可以延长破解者的时间,做一般防范是可以用的。
另外也可以使用一些更为专业的软件保护工具,比如themida。但是其专业版是要收费的。
用C#或java这种编译为中间代码的语言从根本上不可能做到真正的编译,从中间代码上都很轻易地还原出原始代码。用混淆只是增加还原后代码读懂的难度。
如果要从根本上解决你的问题,办法就是不把所有代码放到客户机上,比如说大部分代码放在云上执行,让用户无从破解。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询