Skip to content

-f / --isSpawn:Spawn 模式 ​

🚀 主动启动 App,从进程一创建就注入 hook。

作用 ​

不开 -f 时是 Attach(附加到已运行进程);开 -f 后是 Spawn(从零启动)。

用法 ​

bash
# Spawn:用包名启动 App
python3 r0capture.py -U -f com.coolapk.market -v

# Spawn + 导出 pcap
python3 r0capture.py -U -f com.coolapk.market -v -p out.pcap

用包名

Spawn 模式传的是包名(com.coolapk.market),不是应用名。因为 spawn 是从零启动,此时 App 还没运行,没有"应用名"可查。

内部流程 ​

对应代码:

python
if isSpawn:
    pid = device.spawn([process])
    time.sleep(1)
    session = device.attach(pid)
    time.sleep(1)
    device.resume(pid)

两次 sleep(1) 是给注入留时间窗口——spawn 出来的进程处于挂起态,必须先 attach + load 脚本,再 resume,才能保证 hook 在 App 第一行代码执行前就位。

Spawn 的优势 ​

  • ✅ 抓 App 启动期流量(如 Application.onCreate 里的请求)
  • ✅ 客户端证书导出必须在 Spawn 模式(attach 太晚,证书可能已被取走)

Spawn 的劣势 ​

  • 启动早期 Frida 注入可能与加固的初始化竞争,偶发崩溃
  • 比 attach 慢(要等两次 sleep)

相关文档 ​

基于 VitePress 构建 · 教学用途