局限性总览
⚠️ r0capture 不是万能的,明确的支持边界。
支持的
- ✅ 安卓 7~16 真机(禁止模拟器)
- ✅ 走系统 SSL 栈的所有应用层协议(HTTP/WS/FTP/XMPP/IMAP/SMTP/Protobuf...)
- ✅ 所有基于系统 SSL 的框架(OkHttp/Retrofit/Volley/HttpURLConnection)
- ✅ 无视证书校验/绑定/双向认证
- ✅ 无视加固(整体壳/二代壳/VMP)
不支持的
来自 README
部分开发实力过强的大厂或框架,采用的是自身的 SSL 框架,比如 WebView、小程序或 Flutter,这部分目前暂未支持。部分融合 App 本质上已经不属于安卓 App,没有使用安卓系统的框架,无法支持。暂不支持 HTTP/2、或 HTTP/3,该部分 API 在安卓系统上暂未普及或布署,为 App 自带,无法进行通用 hook。各种模拟器架构、实现、环境较为复杂,建议珍爱生命、使用真机。暂未添加多进程支持,比如:service或:push等子进程。
| 不支持项 | 原因 | 详见 |
|---|---|---|
| WebView | 自带 BoringSSL | WebView 限制 |
| 小程序 | 自研内核 | 小程序限制 |
| Flutter | 内嵌 BoringSSL | Flutter 限制 |
| HTTP/2 | 部分实现自带 | HTTP/2 限制 |
| HTTP/3 / QUIC | 走 UDP,不走 SSL_read/write | HTTP/3 限制 |
| 模拟器 | 架构环境复杂 | 模拟器限制 |
| 多进程 | 子进程需 Child-gating | 多进程限制 |
已知的运行约束
- 仅限安卓平台
- 需 root(运行 frida-server)
- frida 版本与安卓版本需匹配(详见 frida17 兼容)
遇到抓不到时
按以下顺序排查:
- 走系统 SSL 栈吗?(非 WebView/Flutter/Cronet)
- frida-server 跑起来了吗?
frida-ps -U能列进程吗? - 进程名/包名对吗?(attach 用应用名,spawn 用包名)
- 流量是子进程发的吗?(
:service/:push) - 走 HTTP/3(QUIC) 吗?(阻断 UDP 试试降级)
详见 抓不到包排查。