使用Fiddler配合夜神模拟器进行App抓包
本文所用环境及软件版本
- Win10(22H2 19045.3031)
- Fiddler(Progress Telerik Fiddler Classic v5.0.20211.51073 for .NET 4.6.1)
- 夜神模拟器(v7.0.5.7001)
Ps: 列出以上环境仅给予参考,并不要求完全一致。
安装
配置
fiddler监听https
- 菜单栏 Tools => Options => HTTPS
- 勾选 Capture HTTPS Connects
- 勾选 Decrypt HTTPS traffic
- 勾选 Ignore server certificate errors(unsafe)
fiddler允许远程连接
- 菜单栏 Tools => Options => Connections
- 勾选 Allow remote computers to connect
在模拟器中安装Xposed框架
- 应用商店搜索Xposed,并下载安装Xposed安装器,安装完后显示的应用名为“Xposed鸭”。
- 打开“Xposed鸭”,安装Xposed最新版本(Version 89)
- 安装成功后重启模拟器,打开“Xposed鸭”将显示“已激活”字样
安装Xposed模块JustTrustMe
(禁用SSL证书检查)
- 下载,并安装。
- 安装完成后进入“Xposed鸭”模块列表激活模块,勾选激活
- 重启模拟器
在模拟器中安装fiddler证书
- Win10中查看本地主机Ip(右键开始按钮 => Windows PowerShell => 键入
ipconfig /all
查看) - 打开夜神模拟器内置浏览器,取消安全警告(右上角三个点 => 设置 => 隐私和安全 => 取消“显示安全警告”后面的钩)
- 在浏览器地址栏输入
http://[本机ip]:[fiddler端口号(默认8888)]
,访问页面,下载证书
- 点击下载好的证书文件安装证书
- 设置WLAN代理(设置 => WLAN => 长按WiredSSID => 修改网络 => 展开高级选项,选手动代理,填入本机Ip和端口号)
使用fiddler代理后连不上网的解决方案(网络通畅可跳过)
- 打开注册表(右键开始按钮 => 运行 => 键入“regedit” => 确定)
- 在
计算机\HKEY_CURRENT_USER\Software\Microsoft\Fiddler2
下新建一个DWORD(32位)
,值设置为80(十进制)
- fiddler中修改自定义规则(菜单 Rules => Customize Rules)
- 将下面这段代码放入
OnBeforeRequest
方法的尾部(可用ctrl+f
搜索):
1 | if (oSession.host.toLowerCase() == "webserver:8888") { |
至此全部设置完成(恭喜
一些失败的补救
完成上述操作后就可以愉快地抓包了。但是由于Xposed框架项目早已冻结,且年久失修。系统和App的安全性越来越高的今天,不少App已经无法抓取,如发生此类情况,可尝试以下的一种方案或者多种方案配合以进行最后补救:
1.使用老版本App进行抓包
较新版本的App安全性的比较高,尝试下载老版本App进行抓取
2.使用更低的安卓版本
使用安卓5代替安卓7(理论上低版本系统安全等级更低一些),方法如下:
- 打开模拟器多开助手
- 添加模拟器,选择安卓5版本创建
3.使用 TrustMeAlready
代替 JustTrustMe
经过几个App测试,TrustMeAlready比JustTrustMe更稳定一些,但也存在JustTrustMe可用,TrustMeAlready不可用的情况。最好两个模块都尝试一下。【TrustMeAlready下载】
一些遗留问题(待后期解决)
- 32位模拟器无法安装64位App,64位模拟器不支持Xposed安装,导致64位App无法使用本方案抓取。
- Xposed框架年久失修,需寻求新的方案。