记录一次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抓包即可。

相关推荐
OldBirds1 小时前
理解 Flutter Element 复用
flutter
xq95271 小时前
flutter 带你玩转flutter读取本地json并展示UI
flutter
智联视频超融合平台3 小时前
无人机+AI视频联网:精准狙击,让‘罪恶之花’无处藏身
人工智能·网络协议·安全·系统安全·音视频·无人机
I won.3 小时前
计算机网络 HTTP篇常见面试题总结
网络协议·计算机网络·http
hepherd5 小时前
Flutter - 原生交互 - 相机Camera - 01
flutter·ios·dart
ailinghao8 小时前
单例模式的类和静态方法的类的区别和使用场景
flutter·单例模式
爱意随风起风止意难平8 小时前
005 flutter基础,初始文件讲解(4)
学习·flutter
Jim-zf8 小时前
Flutter 嵌套H5 传参数
java·开发语言·flutter
搬码临时工8 小时前
无公网ip远程桌面连接不了怎么办?内网计算机让外网访问方法和问题分析
服务器·网络协议·tcp/ip·访问公司内网
WDeLiang8 小时前
Flutter - 原生交互 - 相机Camera - 01
flutter·ios·dart