MemRelay-Operation: memory-save:rapdrama-exp-drony-plan-20260925-0530 MemRelay-Resource: 55f17fe5-35ee-4f9c-91dc-e9162310beaf
2.0 KiB
2.0 KiB
title, type, permalink, stable_id, scope, memory_type, project_id, usage_profile_id, status, revision, request_id, created_at, updated_at, tags
| title | type | permalink | stable_id | scope | memory_type | project_id | usage_profile_id | status | revision | request_id | created_at | updated_at | tags | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Drony + Charles + Frida 拦截 Flutter API 流量方案 | experience | main/projects/280dd2a0-d23d-4a71-91e1-dce4353163be/drony-charles-frida-拦截-flutter-api-流量方案 | 55f17fe5-35ee-4f9c-91dc-e9162310beaf | project | experience | 280dd2a0-d23d-4a71-91e1-dce4353163be | 0c9feb46-d06e-43cd-9ef0-c5813c84a998 | active | 1 | rapdrama-exp-drony-plan-20260925-0530 | 2026-09-24T21:32:40.788358+00:00 | 2026-09-24T21:32:40.788358+00:00 |
|
看雪文章确认的 Flutter 抓包方案
文章来源:https://bbs.kanxue.com/thread-275953-1.htm
核心方案:Drony + Charles/Burp + Frida SSL bypass
- 安装 Drony(org.sandroproxy.drony 1.3.154,APK 约 9MB)到模拟器
- 配置 Drony 的 WiFi 代理指向 Charles 的 IP 和端口(10.0.2.2:8888)
- Drony 会创建 VPN tun 设备截获所有流量(包括 Dart 的直连请求),转发到指定代理
- Frida hook libflutter.so 的 session_verify_cert_chain 返回 true 绕过 SSL 校验
- Charles 收到 CONNECT 请求,用自己的 CA 解密,显示明文
为什么 Drony 能解决问题:
- Dart 的 HttpClient 不走 Android 系统代理,但 VPN tun 设备在网络层截获所有 IP 包,包括 Dart 直连的 TCP
- 不需要 iptables DNAT(之前因为 DNAT 丢失原始目标地址导致 Charles 透明代理失败)
- 不需要 hook libc connect(之前因为 MuMu x86_64 上 Frida 无法 hook bionic 短函数)
- 不需要 mitmproxy(之前 WinDivert 搞崩宿主机网络)
- 不需要重打包 APK
注意:
- Drony 配置的代理类型要选 HTTP,不是 SOCKS
- Charles 的 SSL Proxying 已开启全站解密(host=* port=*)
- Charles 不要开 Windows 系统代理(windowsConfiguration.enableAtStartup=false)
- Frida SSL bypass 的偏移是 0x8113ee(当前版本 libflutter.so,更新后可能变)
- 先启动 Frida hook,再启动 Drony,确保第一次 TLS 握手时 hook 已生效