Files
MemRelay/projects/280dd2a0-d23d-4a71-91e1-dce4353163be/Drony + Charles + Frida 拦截 Flutter API 流量方案.md
T
memrelay 4fb256c5d5 create: Drony + Charles + Frida 拦截 Flutter API 流量方案
MemRelay-Operation: memory-save:rapdrama-exp-drony-plan-20260925-0530
MemRelay-Resource: 55f17fe5-35ee-4f9c-91dc-e9162310beaf
2026-09-25 05:32:43 +08:00

2.0 KiB
Raw Blame History

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
drony
flutter
抓包
方案

看雪文章确认的 Flutter 抓包方案

文章来源:https://bbs.kanxue.com/thread-275953-1.htm

核心方案:Drony + Charles/Burp + Frida SSL bypass

  1. 安装 Drony(org.sandroproxy.drony 1.3.154,APK 约 9MB)到模拟器
  2. 配置 Drony 的 WiFi 代理指向 Charles 的 IP 和端口(10.0.2.2:8888)
  3. Drony 会创建 VPN tun 设备截获所有流量(包括 Dart 的直连请求),转发到指定代理
  4. Frida hook libflutter.so 的 session_verify_cert_chain 返回 true 绕过 SSL 校验
  5. 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 已生效