.NET混淆器 Dotfuscator使用教程八:加强保护之启用字符串加密混淆

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

下载Dotfuscator最新试用版

启用字符串加密混淆

字符串加密混淆加密程序集方法中的字符串文字,防止攻击者使用搜索工具十分容易地找到敏感数据或更好地了解代码的哪些部分执行某些操作。

默认情况下禁用字符串加密。在 Feature -> Settings -> Options,可以通过将 Disable String Encryption 设置为 No,来启用字符串加密。

gettingstarted-config-stringencrypt-enable

字符串加密混淆仅适用于专门配置为包含在此保护方法中的字符串文字。你可以加密敏感字符串,也可避免在运行时必须解密非敏感字符串的性能影响。

在 String Encryption 选项卡(其中只有一个子选项卡:Include)下,Check below to include specific items 树视图中选择要保护的方法。

ggettingstarted-config-stringencrypt-include

你可以从检查程序集的节点开始,以保​​护程序集的所有方法中的字符串文字。如果想要自己设置,你可以展开树节点并选择要包含在字符串加密中的各个名称空间,类型和方法。

注意:声明为常量(const)字段的字符串在使用时会内联,因此对引用这些字段的方法启用字符串加密也会导致这些用法被加密。但是,常量字段本身将保持未加密状态,所以你应该启用 Removal(删除),将这些不需要的未加密值从程序集中删除。

启用Removal

Dotfuscator可以从程序集中删除未使用的代码和元数据,从而最大限度地减少攻击的区域。

默认情况下Removal是禁用的。在 Feature -> Settings -> Options,可以通过将 Disable Removal 设置为 No,来启用Removal。

gettingstarted-config-removal

检查受保护的程序集

在Config Editor中保存更改并在Visual Studio中构建应用程序后,你可以反编译新保护的程序集,查看更改Dotfuscator配置文件会如何影响保护。有关如何执行此操作的详细信息,请参阅反编译

例如,在增强Dotfuscator保护之前和之后对 GettingStarted 示例应用程序中的方法进行反编译:

默认保护(摘录)

gettingstarted-ilspy-default-protection

增强保护

gettingstarted-ilspy-improved-protection

因为进行了加密混淆,反编译工具的作用会被削弱。你的应用程序会比之前更安全。

好了,关于Dotfuscator的加强保护系列教程就到此结束,希望能帮到你~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章