SSL_write 抓到了但 SSL_read 抓不到
📤 能抓请求,抓不到响应。
常见原因
| 原因 | 说明 |
|---|---|
| App 用自带 SSL read 实现 | read 走的不是系统 SSL_read 符号 |
| 新版 Conscrypt 不走 SSL_read | 见 frida17 兼容性 |
| 响应走 HTTP/2 服务端推送 | read 在不同路径 |
| 只 hook 了一个 SSL 库 | 多库时只挂了一个 |
排查
bash
# 1. 看 SSL_read 是否 hook 成功(启动日志有 hook 计数)
r0capture -U -f com.x -p out.pcap 2>&1 | grep -i "ssl_read\|hook"
# 2. 若 SSL_read hook 数为 0,符号没找到
# 用 setssllib 或多匹配用 Java socket 兜底
如果 native SSL_read 抓不到,r0capture 的 Java SocketInputStream.read hook 可能兜底抓到响应(裸 TCP 层,TLS 已解密后还是会过 socket)。
若 B 抓不到,C 还能兜。