【实战笔记】某信小程序抓包与解包全流程
⚠️ 声明: 本文仅供技术学习与交流,请勿用于任何非法用途!一切法律责任由操作者自行承担。
最近有朋友委托帮忙提取某小程序的数据。抱着试一试的心态,我进行了一番探索,发现该小程序的防护机制相对薄弱:接口数据未加密,且会员体系仅依赖本地校验。虽然有反爬机制(请求过快会封号),但通过增加随机延迟即可绕过。
在这个过程中,还通过解包小程序找到了登录接口 sign 参数的计算方式(MD5加盐)。整理了这篇笔记,记录一下全过程。
一、小程序抓包
1. 准备工具
- Proxifier:用于代理流量转发。
- Reqable:一款好用的抓包工具。
- 环境:Windows 11
2. 配置步骤
第一步:打开 Reqable
启动 Reqable 并准备好监听。
第二步:配置 Proxifier
配置 Proxifier 之前,如果开启了系统代理(如 Clash Verge),建议先关闭,或者按照特定的代理规则进行配置。这里我们需要将小程序的流量转发到 Reqable。
添加 Reqable 作为代理服务器:
如果需要共存,也可以添加 Clash 服务:
关键点: 找到微信小程序的进程名 WeChatAppEx.exe,并为其设置规则,将其流量转发给 Reqable。
3. 抓包结果
配置完成后,打开微信小程序,在 Reqable 中即可看到抓取到的接口请求。
二、小程序解包
1. 工具
使用 wxapkg 工具进行解包。原项目可能已停止维护,但在 GitHub Issues 中有大佬提供了针对新版微信的修复版本。
- 项目地址参考:wux1an/wxapkg
- 新版微信适配问题可参考相关 Issue。
2. 操作方法
首先定位到电脑中小程序的存储路径,通常位于:
C:\Users\你的用户名\AppData\Roaming\Tencent\xwechat\radium\Applet\packages
使用命令行工具运行解包命令:
wxapkg_for_wx4.0.exe scan -r "C:\Users\你的用户名\AppData\Roaming\Tencent\xwechat\radium\Applet\packages"
扫描并解包的过程如下:
解包成功后,你会在当前目录下看到生成的文件夹,里面包含了小程序的源码资源。
查看解包出来的目录结构:
三、总结
拿到了源码,就可以分析其中的加密逻辑(如前文提到的登录接口 sign 签名),甚至可以借助大模型来辅助分析代码逻辑。这次实战不仅是一次技术练手,也让我回忆起当年折腾 Fiddler 的时光。
再次强调,技术无罪,但请务必遵守法律法规,切勿跨越红线。
【实战笔记】某信小程序抓包与解包全流程
https://blog.jiang.in/archives/9cde3e50-3366-401e-9a58-8516e21155c0