基于 LLVM 保护技术的产品一般以编译器的形式提供,而采用 ARM-VM 技术的产品则以客户端工具的形式提供,在使用方面,客户端工具更加简单灵活。

安全性

项目 基于ARM-VM技术 基于LLVM技术
反编译效果 无法被反编译 可以被反编译
函数体边界 函数体保护后通过指令切片技术分布在二进制中的随机位置,无法直接确定边界 由编译器生成,函数边界清晰,函数间调用关系清晰可见
保护颗粒度 以汇编指令为粒度,保护针对每个指令,灵活度和自由度高 以LLVM 中间语言 IR 为粒度,后端会生成相应的汇编指令,灵活度差


易用性

项目 基于ARM-VM技术 基于LLVM技术
试用评估 免费试用 基本不提供试用
产品接入 安装即用 配置复杂,部分带有专用设备
开发环境影响 无需配置编译环境 需要配置编译环境


适应性

项目 基于ARM-VM技术 基于LLVM技术
语言标准 几乎任意可编译为Native程序的语言 clang 前端支持的语言
开发语言 C、C++、OC、Swift、go、汇编语言等 C、C++、OC、Swift








第7部分——技术规格
开发环境支持
Windows、Linux、macOS。
开发语言支持
C、C++、Objective-C、Swift、go、汇编语言等。
架构支持
X86、x64、ARM32、ARM64