Hunter 中文文档 下载 App

Hunter 反调试 & Unidbg 检测 - 进程被调试或模拟执行

这项在查什么

反调试(Anti-Debug)和 Unidbg 是两种不同的技术,但都和「进程有没有被外部力量干预」相关,Hunter 把它们放在同一项里检测:

反调试检测

反调试是 Android 安全应用常用的手段——应用在运行时检测自己有没有被调试器附加(IDA、gdb 等),如果发现就退出或降低功能。Hunter 的反调试检测反其道而行之——它检测的是:当前进程有没有处于被调试状态。

检测方法包括:

Unidbg 检测

Unidbg 是一款让 Android SO 文件在 PC 上模拟执行的工具,常用于逆向分析——把目标 SO 拉到 PC 上跑,不需要真机。Hunter 检测的是:当前环境是不是在 Unidbg 的模拟执行环境里。

谁会被触发

场景触发概率说明
用 IDA / gdb 正在调试反调试必触发调试器附加了进程
用 Unidbg 模拟执行Unidbg 必触发在模拟环境里跑
某些游戏反作弊框架内部用了反调试可能触发框架的反调试会在进程里留下痕迹
完全没碰过调试工具正常不触发反调试报红要认真查

反调试报红但你没在调试怎么办

这种情况大概率是以下几种:

  1. 某款应用自带的反调试机制在运行:部分银行、游戏、加密钱包应用会常驻反调试代码
  2. Frida / LSPosed 等框架的注入触发了反调试信号:框架的内存修改会被反调试逻辑误判
  3. 系统自带的调试权限状态残留:部分 ROM 解锁开发者选项后会留下调试状态属性

Hunter 详情页会给出具体的信号来源(TracerPid 值、检测到的进程名等),顺着路径去排查。

Unidbg 报红在真机上几乎不会出现

因为 Unidbg 是 PC 工具,真机上正常不会触发。如果你在真机上看到 Unidbg 报红,大概率是 Hunter 的误判(某些 ROM 的特定属性值和 Unidbg 环境巧合),先按误报处理。

和其他检测项的关系

反调试检测和 Frida & IDA 检测互相印证:

下一篇