二进制加固 / 防破解接入方案(M7)

← 开发者文档 风控处置台
面向中大型客户端的分层加固方案。本系统已内置 反调试/反篡改上报接口(guard)自动风控闭环(M13),落地方案=第三方加壳/混淆厂商能力 + 本系统风险上报 + 自动封禁处置,形成「修不掉→上报→封禁→升级」的对抗闭环。

1. 系统已具备的对抗底座

能力说明接入点
反调试/反篡改上报客户端检测到调试器、被篡改、模拟器、越狱/root、虚拟机即上报POST /api/v1/auth 附带 guard 字段(SDK 内置)
分级处置tampered / debugger → block(自动封禁);其余 → alert(告警)运维 → 风控处置台
自动风控闭环block 级反篡改事件自动下线设备,misjudgment 可人工解封(M13)
运行完整性校验硬件指纹容差、多指纹策略、时钟防回拨strategy 应用策略配置

2. 加固厂商能力分层(依据购买力选择)

层级能力对抗目标成本
基础 · 代码混淆字符串/控制流/符号名混淆,VMP 工具链静态分析、扒源码
进阶 · 加壳/加密壳整体或虚拟段加密,动态解密执行静态脱壳、dump 后分析
高阶 · EVM 虚拟机把核心授权/校验逻辑编译为自定义虚拟机指令解释执行动态调试、Keygen 特征提取
对抗 · 关键逻辑加固关键分支注入反调试、反 Hook、完整性自校验并上报Crack 补丁、HOOK、内存补丁中-高

国内可对标:易之盾 / 护卫盾 / VMP / Choicesoft 等(均为第三方方案,按其接入文档接入即可)。

3. 推荐落地路径

  1. 最小闭环(推荐先做):SDK 已内置 guard 上报;建议在产品 strategy 中开启 block_vm=1(禁虚拟环境)。即可先获得「反调试/反篡改自动封禁」收益,零额外成本。
  2. 引入混淆:对含 SDK 与鉴权关键路径的目标程序做代码混淆,减少静态扒取。
  3. 加壳:对发布二进制加壳,提高脱壳门槛;壳内做好「完整性自校验」并把命中信号回传给 guard.vm / guard.tampered
  4. EVM 虚拟化核心校验(高投入才做):把「激活/验证/离线验签」核心函数编译为自定义 VM 指令,阻断 Keygen 式特征提取。

4. guard 上报字段(SDK 契约)

客户端调用验证接口时随请求体附上(SDK 自动采集,无需手工):

字段含义处置级别
guard.debugger检测到调试器附加true → block(自动封禁)
guard.tampered检测到代码/资源被修改true → block(自动封禁)
guard.emulator / guard.vm模拟器 / 虚拟环境true → alert(若 block_vm 则拒绝+block)
guard.rooted越狱/root 环境true → alert
guard.sdk_versionSDK 版本(便于筛选旧版本风险)

5. 运营建议

  • 加壳/混淆需在每次发版时对包含 SDK 的产物重跑,确保环境一致性与签名。
  • 通过「风控处置台」观察封禁误判率;误判率高时应调低虚拟化检测敏感度或放行已知测试机。
  • 组合效果:即使攻击者关注到关键逻辑,也只能改本机行为 —— 服务端仍以签名验证为准,授权数据不落客户端,逆向不产生直接收入。
  • 本模块为接入方案指南(不内置加壳引擎);实际加壳/混淆能力由第三方加固工具提供,接入后通过 guard 与系统联动。