Guardant Armor
用于保护应用程序免受黑客攻击、逆向工程和非法使用的软件工具。只需点击几下,就能针对所有威胁提供自动分层保护。
包含该产品的解决方案列表
-物联网和硬件
-保护软件免受逆向工程攻击
-嵌入式系统保护
优点
代码虚拟化将软件代码的各个部分转换为在应用程序保护过程中生成的独特虚拟机的命令系统
自动分析提供了基于静态和动态分析编译的受保护应用程序的最佳功能列表
防止内存转储可在受保护程序在随机存取存储器中执行的过程中防止对其可执行代码进行分析
完整性控制通过执行内置算法对代码进行修改检查
授权借助Guardant硬件和软件密钥保护应用程序免受非法分发和使用
型号
Guardant Armor
逆向工程保护
Guardant Protection Studio
Guardant Armor操作方案
保护过程
开发人员选择要保护的程序功能。这可以手动完成,也可以自动完成。然后应用 Guardant Armor,它可以保护这些功能免受逆向工程。输出是一个具有 “已切割功能”的应用程序,以及一个以DLL库形式存在的特殊容器,其中以受保护的形式包含功能。
所用技术
混淆是一种用于混淆受保护应用程序代码的技术组合。应用混淆技术后,程序完全保留其功能,但程序代码变得非常复杂,几乎无法进行分析。
代码变异是一种混淆方法,在原始控制流图中补充垃圾指令、分支、循环甚至额外的逻辑。由于这种混淆,很难确定所分析的代码段是原始程序还是虚假内容。
代码虚拟化是一种混淆方法,其中应用程序的源代码机器码被转换为在应用程序保护过程中生成的独特虚拟机的指令。这些指令在程序执行时直接被解释。
这项技术的特点是,在保护同一应用程序时,每次都会生成具有不同逻辑和指令集的新指令。并且它们只能在为其生成的虚拟机上执行。
虚拟化确保程序代码中不存在永久签名,对抗部署尝试、完整性控制等。
封套是对受保护文件的部分内容进行打包和加密。在受保护的应用程序启动时,一个特殊的加载器在将控制权转移到原始入口点之前对文件进行解压缩和解密。应用程序使用对称加密算法进行加密,其密钥通常存储在外部安全组件(硬件或软件密钥)中。
分析
如果对代码的每个部分都应用混淆技术,应用程序的运行可能会显著变慢。同时,对攻击者完全没有价值的部分也会被保护起来。用于保持程序执行速度同时保护代码重要部分的技术是分析技术。受保护的应用程序经过彻底的静态和动态分析,从而确定受保护功能的最佳列表。
虚拟化操作方案
代码虚拟化使得受保护应用程序的逆向工程变得困难,并提供了高水平的复制保护。
选定的代码段被转换为独特虚拟机的命令系统(字节码),确保它们在正确的时刻执行。生成的字节码被分成块并进行安全加密。执行期间,只有执行所需的字节码块存储在计算机内存中,从而保护应用程序免受转储。
同时保护多个可执行文件的能力使您可以进一步混淆应用程序执行的逻辑。所有调用都被路由到单个动态库,该库存储所有文件和虚拟机共有的字节码。同时,每个受保护的文件都经过打包和加密(覆盖上封套)。
特点
支持的操作系统
受保护程序的编程语言
·任何编译成机器代码的编程语言(C、C++、Pascal 等)。
受保护的文件
支持的Guardant密钥