Hunter 中文文档 下载 App

Frida、IDA、反调试术语对照 - 逆向与调试相关的 Hunter 检测词

Frida

Frida 是一款流行的动态插桩框架——它可以在不修改目标二进制的情况下,向正在运行的进程注入 JavaScript 代码,实现 hook 函数、拦截调用、修改返回值等操作。

Frida 由两部分组成:

Hunter 检测 Frida 的方向包括:Frida Server 进程是否存在、默认端口(27042)是否监听、内存里是否有 Frida 的特征字符串。

IDA Pro

IDA Pro(简称 IDA)是业界最著名的反汇编器/反编译器——可以把 Android 的 SO 文件或 APK 反汇编成可读的汇编代码甚至伪 C 代码。IDA 也支持远程调试——通过 IDA Remote Debugger 连接目标设备的进程,断点执行、单步跟踪。

Hunter 检测 IDA 的方向主要是远程调试端口和调试器附加状态。

ptrace 反调试

ptrace 是 Linux 提供的进程跟踪系统调用——调试器(gdb、IDA、Frida)通过 ptrace 附加到目标进程,实现断点、单步、内存读写等功能。

Android 安全应用常用的反调试技术就是检测 ptrace 的状态:

Hunter 的反调试检测反其道而行——它检测的是自己有没有被 ptrace 附加,间接判断设备上是否有调试环境在运行。

Unidbg

Unidbg 是一款让 Android SO(native 库文件)在 PC 上模拟执行的工具。逆向工程师常用它把目标 SO 拉到 PC 上跑,不需要真机就能分析 SO 的逻辑。

Hunter 会检测当前运行环境是不是 Unidbg 模拟环境——这在真机上正常不会触发。

Inline Hook / GOT Hook

两种核心 hook 技术,Hunter 专门检测:

详见 inline hook & GOT 表检测。

ELF 文件

ELF(Executable and Linkable Format)是 Android / Linux 上可执行文件和动态库的标准格式——APK 里的 .so 文件就是 ELF 格式。ELF 文件里包含 GOT 表、PLT 表、符号表等关键数据结构,是 hook 技术的主要操作对象。

下一篇