记录一次charles启用vpn+禁ssl都无法抓包app的情况竟因为是flutter应用

一、如何判断是否flutter应用app?

打开该app,运行 adb shell dumpsys activity top

这里出现flutter即是flutter应用了。

二、如何解决flutter应用抓包问题?

flutter开发的app,ssl证书校验在libflutter.so中的ssl_crypto_x509_session_verify_cert_chain函数中,用frida把它hook返回true即可。
打开ide搜索字符串ssl_server,双击进去找到ssl_crypto_x509_session_verify_cert_chain函数的偏移地址进行hook;


hook代码如下

javascript 复制代码
function hook_ssl() {
    Java.perform(function () {
	var base = Module.findBaseAddress("libflutter.so");
    var ssl_crypto_x509_session_verify_cert_chain = base.add(0x659AEA);
    console.log("找到函数偏移地址:",ssl_crypto_x509_session_verify_cert_chain)
	Interceptor.attach(ssl_crypto_x509_session_verify_cert_chain, {
        onEnter: function(args) {
            console.log("hook 开始!")
        },
        onLeave: function(retval) {
            console.log("返回值: " + retval);
            retval.replace(0x1);
            console.log("解除ssl验证成功\n---------------------");
      }
  });
}
    )};
setTimeout(hook_ssl,1690)   // 设置延时找对hook时机(太快函数还没加载出来,太慢app已经发起请求了)

以上操作完成后,charles+postern抓包即可。

相关推荐
GitLqr26 分钟前
iOS 27 强制要求 UISceneDelegate:UIKit 和 Flutter 开发者该如何应对?
flutter·ios·全栈
东荷新绿3 小时前
【运维开发】acme.sh 安装|签发泛域名SSL证书,宝塔Nginx部署+自动续期
nginx·腾讯云·运维开发·ssl·宝塔·acme.sh
颜挺锐4 小时前
JMeter TCP 取样器 行尾字节值是 62,是代表的什么意思?
网络协议·tcp/ip·jmeter
Yan_chen6665 小时前
HTTP和HTTPS 完整指南
网络协议·web安全·http·网络安全·https
蜡台5 小时前
Flutter HTTP 请求完整详解
网络协议·flutter·http·dart
OSMeteor5 小时前
在 Hyper-V 中搭建固定 IP、固定网关、可上网且与宿主机互通的 Ubuntu 环境
网络协议·tcp/ip·ubuntu
9765033356 小时前
iOS 上架/审核 4.3a Cocos 2026最新方案解读
flutter·ios·swift·cocos2d·ios开发
abbgogo16 小时前
TCP/IP、OSI 与常见网络协议知识点总结
网络·网络协议·计算机网络
李昊哲小课17 小时前
fastapi sse websocket 奶茶店实时订单看板
人工智能·python·websocket·网络协议·fastapi·sse
FungLeo18 小时前
Flutter 接入 Alice 调试浮窗:一个顶层 final 抢跑,把 release 网络整没了
网络·flutter