Dotfuscator是一款.NET混淆器和压缩器,防止你的应用程序被反编译。
本篇文章将继续与大家分享保护应用程序的第二个部分 - 检查受保护的程序集。
将Dotfuscator集成到项目中后,你应该验证集成后项目是否正常运行。你可能也很想知道Dotfuscator默认提供的保护是什么样的。
回答这些问题的最简单方法是在项目的程序集上使用逆向工程工具,将它们反编译回高级C#代码。你可以反编译本地构建的程序集(例如,在binRelease中)以及应用程序安装程序设置的程序集。
例如,考虑在集成Dotfuscator之前和之后对GettingStarted示例应用程序中的方法进行反编译:
无保护
![4047f13c4ea3a21c0b09fd6ad9571d70.png](https://i-blog.csdnimg.cn/blog_migrate/fdfbd7362825e120ccd11ddd96f1a540.jpeg)
默认保护(摘录)
![3f299c3de43a4ed68b69ec81a9484e2d.png](https://i-blog.csdnimg.cn/blog_migrate/e03d7ed094b833553b0244cbdb5faa34.jpeg)
我们可以清楚地理解未受保护的代码的意思,能看到它的名称,就像我们有源代码一样。但是,通过Dotfuscator的默认保护,简单的for循环已被Control Flow混淆转换为混乱的switch和goto语句。 另外,由于重命名混淆,方法的名称及其定义类型已被无意义的名称替换。
请注意,这只是Dotfuscator提供的默认保护。通过一些额外的配置,Dotfuscator可以在处理程序集时使反编译工具彻底崩溃:
默认保护(摘录)
![3f299c3de43a4ed68b69ec81a9484e2d.png](https://i-blog.csdnimg.cn/blog_migrate/e03d7ed094b833553b0244cbdb5faa34.jpeg)
增强保护
![50bd8f38d3e6ae70716ebe3409bb772c.png](https://i-blog.csdnimg.cn/blog_migrate/b09ede31ccb909c0bd055a2e48894082.jpeg)
Dotfuscator还可以将Checks嵌入你的应用程序,该应用程序可在运行时检测并响应未经授权的使用。例如,调试检查可以检测调试器是否附加到你的生产应用程序,如果是,则终止应用程序。
点击“了解更多”下载产品最新版
↓↓↓