Skip to content

证书没导出 ​

📛 期望的 p12 文件没出现在 /sdcard/Download/。

前提条件 ​

  1. 必须 Spawn 模式(-f)—— attach 太晚
  2. 必须给 App 存储卡读写权限
  3. App 必须配置了客户端证书(不是所有 App 都有)
  4. App 必须触发了取私钥(做了需要客户端认证的请求)

排查 ​

1. 确认是 spawn ​

bash
# ✅
python3 r0capture.py -U -f com.app -v
# ❌ attach 抓不到证书
python3 r0capture.py -U 酷安 -v

2. 给存储权限 ​

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

相关文档 ​

基于 VitePress 构建 · 教学用途