.NET混淆器 Dotfuscator使用教程:保护你的应用之检查受保护的程序集

Dotfuscator是一款.NET混淆器和压缩器,防止你的应用程序被反编译。

本篇文章将继续上一篇文章与大家分享保护应用程序的第二个部分 - 检查受保护的程序集。

将Dotfuscator集成到项目中后,你应该验证集成后项目是否正常运行。你可能也很想知道Dotfuscator默认提供的保护是什么样的。

回答这些问题的最简单方法是在项目的程序集上使用逆向工程工具,将它们反编译回高级C#代码。你可以反编译本地构建的程序集(例如,在bin\Release中)以及应用程序安装程序设置的程序集。 有关如何反编译程序集的完整详细信息,请参阅反编译

例如,考虑在集成Dotfuscator之前和之后对GettingStarted示例应用程序中的方法进行反编译:

无保护

gettingstarted-ilspy-no-protection

默认保护(摘录)

gettingstarted-ilspy-default-protection

我们可以清楚地理解未受保护的代码的意思,能看到它的名称,就像我们有源代码一样。但是,通过Dotfuscator的默认保护,简单的for循环已被Control Flow混淆转换为混乱的switchgoto语句。 另外,由于重命名混淆,方法的名称及其定义类型已被无意义的名称替换。

请注意,这只是Dotfuscator提供的默认保护。通过一些额外的配置,Dotfuscator可以在处理程序集时使反编译工具彻底崩溃:

默认保护(摘录)

gettingstarted-ilspy-default-protection

增强保护

gettingstarted-ilspy-improved-protection

Dotfuscator还可以将Checks嵌入你的应用程序,该应用程序可在运行时检测并响应未经授权的使用。例如,调试检查可以检测调试器是否附加到你的生产应用程序,如果是,则终止应用程序。

有关配置这些以及其他更强大的保护形式的详细信息,请参阅增强保护(后续会与大家分享)。

下载Dotfuscator最新试用版


猜你喜欢

转载自blog.51cto.com/14084744/2360178