最近在分析几款手游包体,顺手把里面的加固 SO 拎出来比了一下。游戏圈常见的就那几家——FairGuard、腾讯 ACE、网易易盾,正好手头三款游戏各用了一种,就一起测了。

以前做这类分析靠 readelf + strings 手撸,这次试着把文件直接喂给 Claude,让它跑熵值、扫符号、提特征,速度快了不少,结果也比我预期的更细。下面的分析数据主要来自 Claude 的输出,我做了验证和整理。

测试结果有点出乎意料,感兴趣的朋友可以按照下面的流程进行复现:

测试对象

游戏包 版本号 加固产品 测试文件
《忍者必须死3》 2.0.104 FairGuard libFairGuard.so
《合金弹头觉醒》 1.27.0 腾讯ACE libtersafe.so
《远光84》 1.4.0.0.1639369 网易易盾 libNetHTProtect.so

解压包体后在 \lib\arm64-v8a 路径下找到对应的游戏加固 SO 文件,拖入Claude ,输入指令:分析三个SO文件的加固强度并进行量化对比。

以下是Claude分析测试结果:

FairGuard 在静态对抗层面遥遥领先,适合对抗以 IDA/Ghidra 为主的静态逆向;Tersafe 的运行时检测体系更为完整,对动态分析/Hook工具的对抗更系统;NetHTProtect 整体保护层次最低,但网络通信安全栈实现最规范。

1. libFairGuard.so — 综合评分 91/100(VMP 级加壳)

这是三者中技术层次最高的方案,采用完整的虚拟机保护(VMP)思路:

  • .text 段仅 16 字节:这是关键特征,说明 .text 是纯粹的空壳,真实代码被打包进文件前段(偏移 0x0~0x230000,约 2.3 MB),该区域每个 64KB 块的熵值均在 7.96~7.99 bits/byte,接近理论最大值 8.0,为强加密(非压缩)载荷的典型特征。
  • 符号表几乎完全清除:1002 个导出符号中,992 个无名称且含 BAD[0x21] 非法节索引,这是 VMP 壳故意破坏符号表的标志,IDA/Ghidra 无法正常加载。
  • 字符串完全不可见:无任何功能性明文字符串,所有检测逻辑均隐藏于运行时解密后的内存中,静态字符串搜索完全失效。
  • 弱点:通信安全层在静态层面无法评估(加密隐藏),且文件有约 54.5% 为零字节填充区,存在一定的空间冗余。

2. libtersafe.so(腾讯 ACE)— 综合评分 77/100(OLLVM 混淆)

运行时检测能力最强,但静态保护相对薄弱:

  • OLLVM 编译器确认:构建字符串中明确留存 Android (ollvm based on r365631c3) clang version 9.0.9,以及腾讯内部定制版本 git.woa.com/tp_mobile/tpllvm,代码经过控制流平坦化处理,IDA F5 反编译后代码可读性大幅下降。
  • 运行时检测最完备:明文字符串可见 root_alert、模拟器检测(含完整用户提示语)、debugger、ptrace、inotify_add_watch(监控 /proc/pid/status 的 TracePid)、GPU Profiler 检测、内联 hook 操作码比对(inline_hook_opcode_dismatch)。
  • 最大弱点:70 个导出符号全部为明文(TssSDKInit、tp2_sdk_init 等),SDK 接口完全暴露,逆向工程师可直接定位关键函数;大量错误提示字符串(Root、模拟器、调试器)也在静态分析阶段泄露检测逻辑。

3. libNetHTProtect.so(网易易盾)— 综合评分 63/100(标准混淆)

通信安全最佳,代码层保护最弱:

  • 无 OLLVM/VMP:以标准 Clang 7.0.2 和 14.0.1 编译,代码结构完整,.text 段占文件 77%,IDA 可正常反编译。
  • 主要混淆手段仅为符号改名:导出函数使用 O0OoO0o 风格随机字符混淆,但混淆方式已被研究社区广泛识别,可通过启发式命名恢复。
  • 通信安全最完备:内嵌 TLS 1.2/1.3 完整实现、AES-128/256(CBC/ECB/KW 多模式)、RSA 公私钥 PEM 数据、CRC64 校验,并依赖 libEGL/libGLESv2,表明有 GPU 侧信道检测逻辑。
  • 异常点:BuildID 清晰可见,内含完整的编译器版本字符串,泄露了较多构建环境信息。
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐