Dotfuscator如何保护应用程序?——字符串加密

加密解密类产品推荐:算法

VMProtect .NET Reactor WinLicense

Dotfuscator是一个.NET的混淆器。它提供企业级的应用程序保护,大大下降了盗版、知识产权盗窃和篡改的风险。Dotfuscator的分层混淆、加密、水印、自动失效、防调试、防篡改、报警和防护技术,为世界各地成千上万的应用程序提供保护。性能

Dotfuscator提供了一种应用程序保护的多层方法。这些层中的每一层都提供了一个重要的总体保护策略。若是一层受到损害,其余层继续提供有效保护,使攻击者更难以实现其目标。而且不只有多个层,并且每一个层都具备比其余混淆产品使用的简单技术更强大的高级功能。加密

从本文开始咱们一块儿了解Dotfuscator如何对应用程序进行多层保护,层层递进,大体可分为:spa

  • 第一层保护——Obfuscation转换:它对编译的代码进行操做,使逆向工程变得困难或不可能。
  • 第二层保护——保护程序运行时发生的检查:当程序检测到攻击者试图篡改或反向工程时,它可使用自定义逻辑进行自我防护。
  • 其他增强保护——包括切除和水印。
  • Dotfuscator提供某些功能帮您构建、部署和调试混淆的程序集

下载Dotfuscator最新试用版调试


第一层保护:Obfuscation转换

字符串加密

Dotfuscator容许您隐藏程序集中存在的用户字符串。常见的攻击技术是经过在二进制文件中查找字符串引用来定位关键代码段。例如:blog

  • 若是应用程序是时间锁定的,它可能会在超时到期时显示一条消息。攻击者在反汇编或反编译输出中搜索此消息,而且当他们发现它时,它们将很是接近您的敏感时间锁定算法。
  • 想要绕过注册和验证过程的人能够搜索程序要求用户输入序列号的字符串。当他们找到字符串时,他们会在它附近找到指令并改变逻辑。

经过在应用程序中加扰字符串,字符串加密使这两种攻击的可能性下降,由于攻击者的字符串搜索将变为空。字符串

如下面示例说明:部署

以前get

1561096370.png

以后产品

1561096432.png

▲限制

const字符串未加密,但使用它们的全部位置都使用字符串的加密版本进行更新。要解决此问题,请启用“删除”,而后设置“ 删除” 选项| 清除类以仅删除文本(常量定义)。

若是某些计算密集型(高度重复的代码)正在生成字符串(可能用于记录目的),则可能会出现性能降低,由于必须执行额外的方法调用来解密这些字符串。

▲制定的包含

与重命名和控制流不一样的是,字符串加密在缺省状况下不会加密任何字符串,而重命名和控制流会尽量地转换代码,除非明确排除了项。要启用程序集中全部字符串的加密,只需转到字符串加密| Include选项卡,并单击程序集中节点上的复选框。

—  持续更新中  —

相关文章
相关标签/搜索