日期:2014-05-17  浏览次数:20944 次

C# 代码保护的的纠结。完破主流.NET代码保护。。。

以前用C# ,代码混淆下,加密下IL CODE,加密下字符串,然后流程混淆下。继续在加个壳。。
这样用  Reflector 就不能看代码呢,,,
想着就算去壳了,,代码也加密呢,流程混淆呢。。。破解者分析也挺头疼的。。



今天发现一个软件后,,才明白我以前想的真是天真。。。。直接用 do4简单处理一下。。。
可以去除所有.NET主流壳,,混淆,代码加密,流程混淆,字符串加密   在这个软件面前就是菜,
可以这样说,,混淆后,,用这个软件的代码还原度可以达到  95%
   

测试了多个.NET保护软件,,.Net Reactor v4.5  , Eazfuscator.NET, SmartAssembly ,在这个软件面前直接代码还原,,不管你是加壳呢,,还是混淆呢。。。

.Net Reactor v4.5 我用的最大保护,也照样 代码去混淆,还原。。


请教下,,.NET 还有什么其他保护方案。。。  说开源灌水的就别来了,这里讨论的是保护。。。。

除了函数名,参数名 这些不可逆转的,,,, . 所有其他的保护是100%可逆的. 


------解决方案--------------------
因为.net需要运行时二次编译,所以只要你的代码JIT可以编译,那么理论上任何混淆都是可以还原的。
------解决方案--------------------
最好的保护就是不停的加密,在被解密之前重新加密