Dotfuscator是一款.NET混淆器和压缩器,防止你的应用程序被反编译。
本篇文章将继续上一篇文章与大家分享保护应用程序的后续三个部分:存档报告文件、加强保护和替代方法。
存档报告文件
作为构建的一部分,Dotfuscator会生成报告文件(在DotfuscatorReports目录中)。这些报告包含在测试,发布和支持受保护的应用程序时非常有用的信息。 例如,重命名映射文件(Renaming.xml)使您可以解码应用程序生成的混淆堆栈跟踪。
你应该存档这些报告,尤其是对于你发布的版本。这样,如果你以后遇到某个版本的应用程序的问题,你会拥有相应的报告文件来帮助你解决问题。
如果你的团队使用持续集成和交付(CI/CD)管道或其他自动构建系统,请将其配置为在每次构建后归档DotfuscatorReports。否则,请在发布过程或核对清单中记一下,以便在发布应用程序时手动归档此目录。 请务必将报告存储在安全的版本位置,以便日后参考。
注意:这些报告文件可以撤消Dotfuscator保护的部分内容。切勿将它们分发到你的团队之外。
加强保护
Dotfuscator在你第一次将其集成到Visual Studio项目中时提供默认保护设置,如前所述。选择这些设置是为了给你的应用提供合理强大的保护,而不需要你执行其他配置,并降低保护干扰应用正常运行的风险。
但是,Dotfuscator可以提供比默认设置更强大的保护。有关Enhance Protection(加强保护)的信息,我们将在下一篇文章中详细介绍。
替代方法
本系列文章演示了使用Dotfuscator的推荐方法,这项保护由Dotfuscator的MSBuild目标应用。对于某些情况,这种方法可能不合适。如果满足以下任何条件,则替代方法可能会更好:
- 你需要保护不是源自解决方案的程序集。
- 你需要使用Dotfuscator的链接功能。
- 你需要Dotfuscator在MSBuild打包步骤之后运行。
- 你的项目由Visual Studio或MSBuild之外的构建系统构建。
- 你无权访问Visual Studio项目本身,只能访问已编译的程序集(即.exe和.dll文件)或应用程序包(例如.appx)。
在这些情况下,你需要使用配置编辑器自己创建Dotfuscator配置文件。你可以明确指定Dotfuscator保护哪些程序集以及Dotfuscator编写受保护版本的位置。
一旦设置了Dotfuscator配置文件,你就需要在构建期间调用Dotfuscator。如果你正在使用并且熟悉MSBuild,则可以使用Dotfuscate任务从自定义构建目标调用Dotfuscator。 或者,你也可以在Dotfuscator支持的任何场景中的任何构建系统或脚本中使用命令行界面。