文章列表
为什么要保护DLL,我就不多说了,各人有各人的理由。总的来说,就是不想核心逻辑泄露及授权验证被破解两大方面的因素。
首先,我来介绍一下发布出去的DLL所面临的风险:
一、直接引用
二、反编译
三、反射
如果DLL一点措施都不做的话,上面任意一种都可以达到破解目的的。
然后,通常网上能搜到如下的保护方式,但真心的来说,用处不大,当然对小白破解者增加了难度。
一、混淆类的工具(如Dotfuscator,但是可以通过ILSpy、Reflector等反编译哦,直接COPY代码也能运行)
二、加密类的工具(如MaxToCode,网上有相应的破解教程)
三、加壳类的工具(如Si ...
先说结果:
加了缓存的结果与C#原生代码差异不大了
我对三种方式进行了测试:
第一种,每次调用均动态编译
第二种,缓存编译好的对象
第三种,直接调用原生C#代码