Skip to content

Cronet 限制 ​

⚠️ Cronet(Chromium 网络栈)自带 BoringSSL 副本,r0capture 可能抓不到。

概述 ​

Cronet 是 Chromium 的网络栈,Google 把它打包成可在 Android 用的库(org.chromium.net)。许多大厂 App(Google 系、抖音等)用 Cronet 获得更好的 HTTP/3、QUIC 支持。

为什么可能抓不到 ​

Cronet 自带 BoringSSL,可能不调用系统 libssl 的 SSL_read/SSL_write 导出符号,而是用自己静态链接的副本。r0capture 默认 hook *libssl*,覆盖不到。

尝试方案 ​

bash
# 尝试指定 Cronet 的 SSL 库
python3 r0capture.py -U -ssl "*cronet*" com.app -v -p out.pcap
python3 r0capture.py -U -ssl "*boringssl*" com.app -v -p out.pcap

若 Cronet 的 BoringSSL 是动态链接且符号可枚举,有机会 hook 到;若是静态链接进 libcronet.so,则 ApiResolver 找不到导出符号。

替代方案 ​

  • 阻断 UDP(QUIC 走 UDP)逼迫 Cronet 降级到 TCP HTTP/2,可能改走系统栈
  • mitmproxy 中间人(需绕过 pinning)
  • 反编译定位 Cronet 的 SSL 调用点,自定义 Frida 脚本 hook

相关文档 ​

基于 VitePress 构建 · 教学用途