版本对照表
| 组件 | 最新版 | 最稳版 | 说明 |
|---|---|---|---|
| frida | 17.5.x | 16.7.19 | 17 仍有 iOS/Objection 兼容问题 |
| frida-tools | 13.x(最新) | 13.7.1 | 随 frida 走,一般不用指定 |
| objection | 最新版 | 最新版 | 两套 frida 都支持 |
| frida-server | 与 frida 客户端相同版本 | 16.7.19 | 设备端必须与 PC 端版本一致 |
安装命令
最稳定组合(推荐)
pip install frida==16.7.19 frida-tools==13.7.1 objection
适合:Android 逆向、SSL Pinning、Objection Explore、大多数中文教程。
使用最新版 Frida 17
pip install frida==17.5.1 frida-tools objection
适合:需要最新特性,iOS 逆向可能遇到问题时再降级。
常见错误:unable to handle 64-bit processes
frida-ps -U
Failed to enumerate processes: unable to handle 64-bit processes due to build configuration
原因:安装了 32 位 Python,而 Android frida-server 是 64 位的。
检查 Python 位数:
python -c "import struct; print(struct.calcsize('P')*8)"
如果输出 32,说明是 32 位 Python。
解决方法:
- 从 python.org 下载并安装 64 位 Python(安装时勾选”Add to PATH”)
- 重新创建虚拟环境:
python -m venv frida_env
.\frida_env\Scripts\activate
pip install frida==16.7.19 frida-tools objection
- 验证:
frida-ps -U
frida-server 版本必须匹配
设备端 frida-server 版本必须与 PC 端 pip install frida 安装的版本完全一致。
例如 PC 端安装了 frida==16.7.19,则设备端 frida-server 也必须是 16.7.19。
从 GitHub releases 下载对应版本:
# Android arm64
frida-server-16.7.19-android-arm64
# 推送到设备
adb push frida-server-16.7.19-android-arm64 /data/local/tmp/frida-server
adb shell "chmod 755 /data/local/tmp/frida-server"
adb shell "/data/local/tmp/frida-server &"
版本混用报错
如果 PC 端 frida 版本和 frida-server 版本不一致,会看到:
unable to communicate with remote frida-server
Failed to spawn: unable to find process with name 'xxx'
解决方法:保持两端版本一致,不要跨大版本(如 PC 16.x + server 14.x)。
