# 旧版本抓包
最近按照领导要求,需要在微信小程序抓点数据,在这里记录一下小程序抓包的配置
在微信新版本(> 3.5.0)中,无法通过 fiddler 抓包,如果要使用 fiddler 的话,你要把微信降级到 3.5.0
然后在电脑上安装 fiddler 证书,先打开微信小程序,再打开任务管理器(Ctrl + Shift + Esc),找到小程序应用程序,点击右键打开文件所在位置。
打开文件目录后,将所有文件删除,记得将微信关闭再删除,否则文件会被占用导致无法删除。
我的微信是 3.7 版本,如果你使用 3.5 版本,你的 WeChatAppEx.exe 叫做 WeChatApp.exe,但大致是一样的。
删除之后,重新打开微信,先别登录微信,点击微信右上角的设置按钮。
打开代理并设置为你的地址和 fiddler 指定的端口
然后登录微信,打开小程序,就能抓到数据包了。
# 新版本抓包
前面的抓包方式只能在微信旧版使用,新版本是抓不了的,我们得换一种方法。
首先安装 Python 环境,安装 mitmproxy 模块,我用的是 Python3.9.12
$ pip install mitmproxy |
安装 mitmproxy 模块之后,在终端输入
# -p 指定端口 | |
$ mitmweb -p 6666 | |
[11:59:23.006] HTTP(S) proxy listening at *:6666. | |
[11:59:23.009] Web server listening at http://127.0.0.1:8081/ |
然后访问 http://127.0.0.1:8081
出现该网页后表示成功打开,然后在 Windows 设置里打开网络和 Internet 选项 -> 代理,设置代理服务器,端口为 mitmproxy 指定的端口
设置完之后,在网页访问 http://mitm.it/,选择 Windows,下载证书并安装
打开证书安装,一直点击下一步,直到证书存储这里,按照图片设置
然后确认,一直下一步,就会提示证书导入成功。
mitmproxy 就设置好了,现在还需要安装一个 proxifier,貌似需要挂科学,下载并安装。
打开 Proxifier 软件,设置配置文件,首先设置服务代理(Proxy Servers)。
点击新增,输入地址和 mitiproxy 的端口,协议选择 HTTPS,然后点击高级,标签写 mitmproxy,然后点击确认,弹框选项都选择 “否”
然后再设置代理规则,Application 如何设置,首先打开小程序,然后通过任务管理器找到小程序文件所在位置,复制路径,比如我的小程序文件路劲为:C:\Users\lenovo\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WMPFRuntime\4654\extracted\runtime,将这里路劲复制,然后在 Application 中点击 Browse,然后在弹框的路径中粘贴,然后选择 WeChatAppEx.exe 文件。
然后再设置名称解析,取消勾选 DNS 选择,勾选通过代理解析主机名(resolve hostnames through proxy),点击确定,基本配置就完成了,然后你可能需要重启一下 mitmweb。
mitmweb -p 6666 |
这时候再访问小程序,你就可以抓到数据包啦