微信小游戏的流行使得开发者和测试人员需要掌握如何抓取这些小游戏的数据包,以便进行调试、性能优化或安全测试。本文将详细介绍在Windows环境下使用不同的抓包工具来抓取微信小游戏的数据包的方法。
一、基础准备工作
1. 环境和软件
- 操作系统:Windows 10
- 抓包工具:Fiddler、Burpsuite、Charles、MitmProxy等
2. 安装和配置
- Fiddler:安装Fiddler后,进入工具栏的Tools -> Options -> Connections,配置监听端口并设置为系统代理。
- Burpsuite:需要安装证书并配置代理。开启Burpsuite的系统代理功能。
- Charles:安装Charles后,点击Help -> SSL Proxying -> Install Charles Root Certificate,选择将证书安装到受信任的根证书下,然后在SSL Proxying Settings中添加host和port。
- MitmProxy:通过命令行安装并启动,设置手机代理和安装证书。
二、抓包过程
1. 使用Fiddler抓取微信小游戏数据包
步骤:
- 登录微信,打开任意一个微信小程序。
- 启动Fiddler,确保已设置为系统代理。
- 在微信任务管理器中找到小程序进程,右键选择“打开文件所在位置”。
- 配置Fiddler:
- 关闭微信后,删除相关缓存文件夹。
- 重启微信和Fiddler,Fiddler会开始捕获微信小程序的HTTP/HTTPS请求。
- 进行游戏操作,Fiddler会显示所有流量请求,通过分析这些请求即可抓取所需数据。
2. 使用Burpsuite抓取微信小程序数据包
步骤:
- 安装Burpsuite证书,并配置为全局代理。
- 启动Burpsuite并打开系统代理功能。
- 同样通过任务管理器找到小程序进程,并删除相关缓存文件夹。
- 重启微信和Burpsuite,开始捕获流量数据。
3. 使用Charles抓取微信小程序数据包
步骤:
- 安装并启动Charles。
- 安装Charles证书,确保证书安装到受信任的根证书下。
- 在Charles中设置SSL Proxying,添加host和port为通配符“*”。
- 开启微信小程序,Charles会自动捕获所有HTTPS请求。
- 分析捕获的数据包,进行相关操作。
4. 使用MitmProxy抓取微信小程序数据包
步骤:
- 通过命令行安装MitmProxy,并运行命令
mitmdump
启动代理。 - 设置手机和电脑处于同一WiFi网络,通过命令
ipconfig
获取电脑IP地址,并设置手机代理指向此IP和端口8080。 - 在手机浏览器中访问
http://mitm.it/
下载并安装证书。 - 启动微信小程序,MitmProxy会显示所有请求数据包。
- 编写Python脚本,通过MitmProxy修改和分析response内容。
三、实战操作示例
以《我要猫咪》微信小程序为例,详细讲解如何使用Charles抓取并修改数据包:
分析数据包:
- 启动Charles并打开《我要猫咪》小程序。
- 查找域名
https://pongpong.club/
,接口为/cat/user/save
。 - 抓取并查看保存用户游戏进度的数据包内容。
修改数据包:
- 找到关键字段,如
saveTime
,coin
,diamon
,shopLevel
等。 - 修改这些字段并重新发送请求至服务器。
- 如果出现错误,如时间戳错误,则调整时间戳值再尝试。
处理缓存问题:
删除小程序缓存后重新进入游戏,即可看到修改后的数据。