证书没导出
📛 期望的 p12 文件没出现在
/sdcard/Download/。
前提条件
- 必须 Spawn 模式(
-f)—— attach 太晚 - 必须给 App 存储卡读写权限
- App 必须配置了客户端证书(不是所有 App 都有)
- App 必须触发了取私钥(做了需要客户端认证的请求)
排查
1. 确认是 spawn
bash
# ✅
python3 r0capture.py -U -f com.app -v
# ❌ attach 抓不到证书
python3 r0capture.py -U 酷安 -v2. 给存储权限
bash
adb shell pm grant com.app android.permission.WRITE_EXTERNAL_STORAGE
adb shell pm grant com.app android.permission.READ_EXTERNAL_STORAGE
# Android 11+ 用 MANAGE_EXTERNAL_STORAGE或手动到设置里开权限。
3. 触发证书使用
操作 App 做需要双向认证的操作(登录、转账等),让 App 调 getPrivateKey。
4. 确认 App 有客户端证书
不是所有 App 都部署了服务器验证客户端的机制。只有配置了的才会在 APK 中包含客户端证书。若 App 根本不用客户端证书,自然不触发导出。
5. frida 17 桥接
frida 17 下证书导出 hook 依赖 Java 桥接。确认 frida_tools 已装,详见 frida 17 Java hook 失效。
6. 查导出位置
bash
adb shell "ls /sdcard/Download/*.p12"
# 形如 com.app_a3F9c2D1b7.p12