最近想要研究一下安卓 APP 的抓包,正巧听说 flutter 应用非常难抓包,了解了一下应该是 flutter 应用不走代理的原因,而恰巧咸鱼 APP 就是用 flutter 写的,我寻思要是我连这么难抓包的 APP 都会抓了,那么未来去抓其他 APP 的包岂不是信手拈来~
# 环境搭建
# fiddler
4.0.1 破解版已经失效,勿用!此处仅作记录
下载地址,需要断网安装!
# 破解流程
首先下载需要替换的组件, 下载地址
之后打开 fiddler4.0.1, 连接网络后,注册登录账号,然后点击十天免费使用
随后,我们替换掉下列路径的文件
Fiddler Everywhere\resources\app\out\main.js | |
Fiddler Everywhere\resources\app\out\WebServer\ClientApp\dist\main.c5f6cd9850653179.js | |
Fiddler Everywhere\resources\app\out\WebServer\Fiddler.WebUi.dll | |
Fiddler Everywhere\resources\app\out\WebServer\FiddlerBackendSDK.dll |
首先将电脑和手机连接到同一个热点
然后输入 ipconfig
查看电脑的 IP
随后打开 fiddler, 点击 Settings->Connections
查看监听端口
点击 Settings->HTTPs
打开 https 抓包
进入手机浏览器,访问电脑的 IP 和端口 192.168.140.120:8866
, 点击 FiddlerRoot certificate
进行下载
在手机中进入 设置->安全->加密与凭据->安装证书->CA证书
选择 FiddlerRoot.cer.crt
进行安装
如果没有这个文件,可以点击 Fiddler 的 Settings->HTTPS->Export root certificates(DER/Binary format)
下载到桌面,然后 adb push
到手机上进行安装
# reqable
进入官网进行下载
在 Android 设备上配置 Wifi 代理
首先我们需要让电脑和手机在同一个局域网中
然后在 PC 上输入 ipconfig 获得主机 IP
在手机上为网络配置手动代理
随后将导出证书
然后将证书传到手机上
在手机中进入 设置->安全->加密与凭据->安装证书->CA证书
选择 reqable-ca.crt
进行安装
# 安装证书为系统证书
需要注意的是,我们此时安装的证书只是用户证书,我们还需要将其移动至系统证书
我们首先下载并安装 FoxMagiskModuleManager
然后下载 movecert zip 的压缩包
然后在 FoxMagiskModuleManager 本地安装
随后重启手机,用户证书就移动到系统证书了
# drony
与 fiddler 配合使用,若使用 reqable 则无需使用 drony!!!
drony 通过使用 VPN 的手段,截获了设置的 APP 的所有流量,再将这部分流量转发到 fiddler 的监听端口,强制这部分流量通过 fiddler,fiddler 就能对抓到的请求进行截获
下载地址
打开 drony, 左滑屏幕转到设置,点击无线网络
长按呼出菜单点击编辑
设置主机名和端口,并且代理类型需要为 普通http代理
向下滑动,找到 过滤默认值
,并设置为 引导全部
,随后点击 规则
进入转发规则设置
点击 +
号添加规则
配置 行动
为 本地代理链全部
,选择应用程序为咸鱼,配置完成后点击右上角进行保存
返回主界面,开启转发
# 开始抓包
上述配置完成之后,打开咸鱼,即可在 Fiddler 成功抓包!
# 参考资料
-
安卓 APP 抓包教程(一)—— 使用 fiddler 抓包
-
安卓 APP 抓包教程(二)—— 使用 drony 配合 fiddler 抓包