环境准备
整体环境拓扑
设备端:装 frida-server
1. 下载 frida-server
到 frida releases 下对应架构的 frida-server-{version}-android-{arch}.xz。架构用 adb shell getprop ro.product.cpu.abi 查:
ro.product.cpu.abi | 选哪个包 |
|---|---|
arm64-v8a | android-arm64 |
armeabi-v7a | android-arm |
x86_64 | android-x86_64(云手机常见) |
x86 | android-x86 |
版本要对齐
本机 frida(Python 库)和设备 frida-server 的主版本号必须一致。frida --version 和 frida-server 版本对照。本教程实测用 frida 17.15.3 + Android 13 x86_64。
2. 推送并启动
bash
# 解压
xz -d frida-server-17.15.3-android-x86_64.xz
# 推到设备
adb push frida-server-17.15.3-android-x86_64 /data/local/tmp/frida-server
adb shell "chmod 755 /data/local/tmp/frida-server"
# 启动(真机需 root;redroid 云手机默认 adb shell 即 root)
adb shell "su -c 'nohup /data/local/tmp/frida-server -l 0.0.0.0:27042 \
>/data/local/tmp/frida.log 2>&1 &'"
# redroid 上没有 su,直接:
adb shell "nohup /data/local/tmp/frida-server -l 0.0.0.0:27042 \
>/data/local/tmp/frida.log 2>&1 &"3. 验证 frida-server 活着
bash
adb shell "ps -A | grep frida-server"
# root 4506 1 ... S frida-server ← 要是 root 身份frida-server 必须以 root 跑
如果 frida-server 是 shell 身份(uid=2000),attach 别的 App 会报 PermissionDeniedError。真机用 su,redroid 用 adb root 切到 root adbd 后再启动 frida-server。详见 多机并发。
本机端:装 frida
bash
# Python >= 3.6
pip3 install --user --break-system-packages frida frida-toolsPEP 668 拦截怎么办
新版 Debian/Ubuntu 用 pip 装会被 externally-managed-environment 拦截,加 --break-system-packages 绕过,或用 venv。
验证:
bash
frida --version
# 17.15.3redroid 云手机环境(推荐)
真机不一定方便 root,redroid 容器化云手机是最省事的方案——默认 adb shell 就是 root,可随时重建,适合批量测试。
一键创建一台 8G 内存的云手机:
bash
docker run -d --name android-001 --privileged --memory 8g \
-p 5555:5555 \
-v /home/cc11001100/redroid/data1:/data \
redroid/redroid:13.0.0-latest \
androidboot.redroid_gpu_mode=guest \
androidboot.redroid_width=720 androidboot.redroid_height=1280 \
androidboot.redroid_dpi=320 androidboot.redroid_fps=30 \
androidboot.redroid_memory=8192 androidboot.redroid_cpus=4详见 云手机多机并发。
r0capture 本身
无需安装,clone 下来直接跑:
bash
git clone https://github.com/android-security-engineer/r0capture-skills.git
cd r0capture-skills
pip3 install --user --break-system-packages loguru click
python3 r0capture.py --help环境检查清单
逐项确认后,就可以开始 实战抓包 了。