Frida抓包flutter app过程记录

承接上一篇《一次不成功的抓包过程》,失败的原因是搞错了方向,也可以说自己技术不到家,解析app发现存在libflutter.so库,有这个库就可以确定APP是基于谷歌的Flutter框架开发出来的,网上搜罗一番,有现成的一些思路去抓包Flutter app,于是在Windows系统上安装了一个逍遥模拟器,模拟器直接就是root环境,就可以不用把自己的手机刷机root,很省事,刷机root是逆向抓包的关键环节,嫌麻烦,就用了逍遥模拟器,最后一番操作下来,发现安装在模拟器里的app,已经不加载libflutter.so库,所以还是按照Flutter框架,Frida抓包技术路线,后面没抓包成功。
这次换了一个思路,抓包成功了,不在用模拟器,直接使用一部OPPO Android手机,刷机root,使用Frida注入脚本

搭建软件环境

电脑端:
Windows:win 10 专业版 64位
Python:python-3.12.0
frida:16.1.4
frida-tools:16.1.4
frida-server:frida-server-16.1.4-android-arm64
adb:34.0.5
IDA Pro:7.7
QtScrcpy:QtScrcpy-win-x64-v2.1.2
Charles :v4.6.3
手机端:
Android手机:OPPO R11,Android 9
Android vpn 工具:socksdroid-1.0.4.apk

手机刷机

Android手机需要刷机,获取root权限,可以选择自己刷机,这样有变砖的的风险,得熟悉才行,也可以选择花几十块钱,在闲鱼上找人远程刷机。

安装证书

抓包工具使用Charles,手机端和Windows电脑需要安装Charles证书
Windows电脑安装Charles的root证书,手机里安装Charles的用户证书,安装参考这篇《使用Charles进行HTTPS抓包
一般的app安装了这两个证书就可以抓包https,一个电脑端的root证书和一个手机里的用户证书,如果app里不信任用户证书,那抓包就会失败,所以还需要安装Charles的证书到Android的系统证书里。
安装Android的系统证书,这就需要获取root权限,本身Android系统是不允许任何人安装系统证书可以参考《安卓7.0以上手机写入安全证书》,手机需要通过数据线连接电脑,总结其中几个关键命令如下:

adb device
adb root
adb remount
adb push e61d73f5.0 /system/etc/security/cacerts
adb shell
su
chmod 644 /system/etc/security/cacerts/e61d73f5.0

e61d73f5.0是openssl工具制作的证书

Frida脚本

以下脚本就是hook住flutter的证书校验,让其信任我们的Charles代理证书

var base = Module.findBaseAddress("libflutter.so")
Interceptor.attach(base.add(0x5DC3CC),{
    onLeave:function(ret){
        console.log(ret)
        ret.replace(0x1)
    }
})

0x5DC3CC地址查找,可以参考《flutter框架app抓包

配置VPN

为什么要配置vpn,这要看app本身是否允许使用代理,这是app开发过程中,通过代码可以控制的,类似这样设置:

OkHttpClient.Builder()
    .proxy(Proxy.NO_PROXY)
    .build()

如果app代码里出现了,类似上面这段代码,那就表明app的http请求不会走wifi的代理,那么手机即使wifi配置了代理,我们的电脑里安装的Charles,也抓不到数据请求,但是此时app还能正常请求,
遇到这样的情况,那就需要使用到手机里安装vpn工具,我这里使用的是socksdroid,目的是将手机的所有http请求拦截,然后vpn会将流量转发到我们的Charles代理工具上。
具体配置过程可以参考《Charles+Postern抓包

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Frida逆向与抓包实战是一本关于移动端应用逆向和抓包技术的实践指南。本书主要介绍了Frida这一强大的逆向工具的使用方法,并结合实际案例进行讲解。 首先,Frida是一款强大的动态分析工具,可以在运行中的应用程序中注入自定义的JavaScript代码,从而实现应用程序的行为监控与控制。本书以Frida为基础,详细介绍了如何使用Frida进行Android和iOS应用程序的逆向分析。读者可以学习到如何使用Frida的API来动态修改应用程序的行为,如动态调试、函数替换、Hook等。 其次,本书还介绍了抓包技术在移动应用逆向中的应用。通过抓包技术,读者可以捕获应用程序与服务器之间的通信数据,分析应用程序的网络请求和响应,了解应用程序的数据传输方式和协议。本书讲解了常用的抓包工具和技术,如使用Fiddler、Charles等工具进行HTTPS抓包,分析加密通信数据等。 本书还通过实例演示了如何使用Frida抓包技术进行实际的应用分析。例如,通过使用Frida获取应用程序的敏感数据并进行修改,探测应用程序中的漏洞,发现应用程序的安全问题等。通过抓包技术,读者可以分析应用程序的通信过程,了解应用程序与服务器之间的交互,发现潜在的数据泄漏风险等。 综上所述,Frida逆向与抓包实战是一本介绍了Frida工具的基本原理和实际应用的实践指南。通过学习本书,读者可以了解到Frida的使用方法以及如何利用抓包技术进行移动应用逆向分析,并能够应用这些技术进行实际的应用分析与调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值