当前位置: 首页 > article >正文

Flutter框架开发的安卓App的抓包以及Frida安装和hook使用教程

资料

记录Flutter框架开发的安卓App的抓包以及Frida安装和hook使用教程
Postern + Charles + Burpsuite 进行对 APP 进行抓包
Postern实现安卓设备的全局代理教程

为什么Flutter不能抓包

1.它不走系统代理
2.它不支持设置代理
3.它不信任系统证书
然后它证书校验写死在so文件里,所以导致JustTrustMe,SSLUnpinning等模块完全失效,目前面临的问题:需要证书校验和不走代理,

解决的步骤

  1. 针对证书校验问题,就是用frida去hook libflutter.so中的函数
  2. 使用IDA静态分析,找到‘ssl_client’hook的点
  3. 针对不走代理我们可以使用基于VPN模式的Postern+charles 转发抓包
  4. 运行frida

具体的步骤

将apk解压(改成zip后缀),找到libfluter.so

此时要注意你用的手机是否是64位
在这里插入图片描述

打开64位的IDA pro

通过字符串找到ssl_client

在这里插入图片描述
在这里插入图片描述
双击进去
在这里插入图片描述
找一下这个堆栈,点击红圈函数,按x追踪(IDA有时候特别慢,需要多等一会儿)
在这里插入图片描述
此时就能找到这个函数的地址了

frida脚本

这个时候,我们使用别人写好的脚本https://github.com/G123N1NJ4/c2hack/blob/master/Mobile/flutter-ssl-bypass.md
把这段代码复制下来,把代码中的地址修改为刚才获得的地址0X5dc3cc,将代码保存为ssl.js。
在这里插入图片描述

配置frida

然后打开app,frida –UF –l ssl.js (-UF 就是当前打开的app)

启动frida-server
sargo:/# cd /data/local/tmp
sargo:/# ./frida-server-16.1.3-android-arm64

端口转发:
adb forward tcp:27043 tcp:27043

使用frida
frida -UF -l flutter_ssl_bypass.js

在这里插入图片描述

配置postern

然后打开postern工具转发一下,在charles就能抓到包了。
1.配置charles
在这里插入图片描述
勾选SOCKS Proxy
在这里插入图片描述
在这里插入图片描述
添加代理服务器
在这里插入图片描述
严格按照下面的配置来执行
在这里插入图片描述
点击保存
在这里插入图片描述

配置规则
在这里插入图片描述
添加规则
在这里插入图片描述

按照下图进行操作并点击保存
在这里插入图片描述在这里插入图片描述

打开/关闭 Postern
在这里插入图片描述
这样足够了

抓包成功!

在这里插入图片描述


http://www.kler.cn/a/587536.html

相关文章:

  • 基于yolo11+flask打造一个精美登录界面和检测系统
  • WPF Prism事件聚合器EventAggregator
  • 代码随想录二刷|图论11
  • SpringMVC (一)基础
  • 三种算法对比!改进麻雀、麻雀、粒子群算法求解微电网优化调度|Matlab
  • Flutter Dart 面向对象编程全面解析
  • matlab 八自由度汽车垂向动力学参数优化带座椅
  • 2.5 python接口编程
  • Vue3全局化配置(ConfigProvider)
  • 设计模式学习笔记——命令模式
  • 如何设计可扩展、高可靠的移动端系统架构?
  • 前置机跟服务器的关系
  • 大模型推理后JSON数据后处理
  • 【股票数据API接口24】如何获取最近10天资金流入趋势数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据
  • HOT100——栈篇Leetcode739. 每日温度
  • WPF 转换器集成资源字典
  • 用 DeepSeek 构建 Vue.js 底层架构:高效协作与问题解决实践
  • 基于Uniapp开发tab选项卡/标签栏前端组件
  • STM32驱动代码规范化编写指南(嵌入式C语言方向)
  • 【解决】XCode不支持旧版本的iOS设备