# 旧版本抓包

最近按照领导要求,需要在微信小程序抓点数据,在这里记录一下小程序抓包的配置

在微信新版本(> 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

这时候再访问小程序,你就可以抓到数据包啦

Edited on Views times

Give me a cup of [coffee]~( ̄▽ ̄)~*

小芳芳 WeChat Pay

WeChat Pay

小芳芳 Alipay

Alipay