frida 17 下 Java hook 失效
❌ frida 17 下证书导出/pinning定位/裸TCP/调用栈全失效。
症状
升级到 frida 17 后:
- ❌ 客户端证书不再导出
- ❌ SSL Pinning 定位不触发
- ❌ 裸 TCP 流量(HTTP_send/HTTP_recv)抓不到
- ❌ SSL 流量的调用栈为 null
- ✅ 但 Native SSL_read/SSL_write 明文照常抓到
原因
frida 17 起不再把 Java/ObjC 桥接内置进运行时。script.js 里所有 Java.perform 块因 typeof Java === 'undefined' 而跳过。
r0capture 的修复
r0capture 已自行实现 frida:load-bridge 协议:
详见 frida 17 兼容。
前提条件
修复依赖 frida_tools 包提供 bridges 源码:
bash
pip install frida-tools # 必须装若没装 frida_tools,serve_bridge 找不到 bridges 目录,Java 仍不可用。
验证
bash
python3 r0capture.py -U -f com.app --selftest -v
# selftest 也用 Java(HttpURLConnection),能成功说明 Java 桥接已恢复