多进程限制
⚠️ r0capture 暂未支持子进程(
:service/:push)。
现状
来自 README
暂未添加多进程支持,比如:service或:push等子进程,可以使用Frida的Child-gating来支持一下。支持多进程之后要考虑pcap文件的写入锁问题,可以用frida-tool的Reactor线程锁来支持一下。
很多 App 有多个进程:
com.app # 主进程
com.app:service # 服务进程
com.app:push # 推送进程主进程的流量 r0capture 能抓,但 :service/:push 子进程的流量抓不到——因为 r0capture 只 attach 主进程。
为什么难
- 子进程独立,需 Frida 的 Child-gating 才能跟随 fork
- 多进程并发写同一 pcap 文件需写入锁(frida-tools 的 Reactor 线程锁)
- seq/ack 的
ssl_sessions字典需跨进程共享
应对
- 把目标 App 名改成子进程名 attach(如
酷安:push),单独抓子进程 - 多开 r0capture 实例分别抓不同进程,输出不同 pcap
- 等待官方多进程支持