微信小程序反编译工具指南:.wxapkg 解密与解包
本文最后更新于:2026年8月14日 下午
本文介绍微信小程序
.wxapkg文件的格式、反编译流程,并对比几款主流开源工具,重点讲 wux1an/wxapkg 的图形界面用法。数据截至 2026-08。⚠️ 免责声明:本文仅作技术学习与安全研究记录。请在授权测试、安全研究或自有小程序范围内使用,勿用于侵权或攻击。
一、.wxapkg 是什么
.wxapkg 是微信小程序的打包文件格式。当你在手机或 PC 微信里打开一个小程序时,微信会把它的代码、页面、资源打包成一个(或多个,分包).wxapkg 文件下载到本地缓存。
包里是小程序编译后的产物:
.wxml:页面结构(类 HTML).wxss:样式(类 CSS).js:逻辑代码(通常已合并、压缩)- 图片等静态资源
逆向价值:拿到 .wxapkg 就能还原出小程序源码,用于安全评估、接口分析、排查硬编码的密钥 / 接口地址等——这也是它在安全和爬虫圈很受关注的原因。
一个关键点:PC 微信下载的 wxapkg 是加密的,密钥与用户 wxid 相关,必须先解密才能解包。
二、反编译的三个步骤
不管用哪个工具,处理 .wxapkg 本质都是这三步:
1 | |
前提:目标小程序要先在 PC 微信里打开过一次,让它把包下载到本地缓存。缓存目录一般在微信的 WeChat Files/.../Applet/{appid}/ 下。
三、主流工具对比
| 项目 | ★ | 语言 | 形态 | 特点 |
|---|---|---|---|---|
| Ackites/KillWxapkg | 5942 | Go | CLI | 功能最全:自动化反编译 + 安全评估 + Hook + 改包,一条龙 |
| wux1an/wxapkg | 3974 | Go + Vue | GUI | 上手最快:扫描 + 解密 + 解包 + 美化,图形界面 |
| biggerstar/wedecode | 3040 | TypeScript | CLI | 全自动源码还原,跨平台,主打线上代码审计 |
| ezshine/wxapkg-convertor | 1492 | JS | GUI | 老牌反编译工具,附带收集各种小程序 / 小游戏包 |
| BlackTrace/pc_wxapkg_decrypt | 740 | Go | 脚本 | 只做解密(不解包),经典解密实现 |
怎么选
- 想要图形界面、不想敲命令 → wux1an/wxapkg(本文重点)
- 想要一条龙、功能最全、做深度安全评估 → KillWxapkg
- 做线上代码审计 / CI 自动化 → wedecode
- 只需要解密那一步(已有解包工具) → pc_wxapkg_decrypt
四、各工具的用法要点
不同工具形态不同(GUI / CLI / 脚本),下面按类型给出各自的上手方式。
GUI 派:wux1an/wxapkg
跨平台反编译 GUI 工具,基于 Wails 构建,支持 Windows 与 macOS。适合不想敲命令的人。
⚠️ 版本形态变化:当前 v2.0.0(2026-04)已是纯 GUI 桌面应用,不再是命令行工具。网上很多旧教程里的
wxapkg scan/wxapkg unpack命令是 v1.x 的写法,新版双击运行图形界面即可。
- 安装:从 Releases 下载
wxapkg-gui-windows-x64.exe或wxapkg-gui-darwin.app.zip,双击运行。 - 使用:自动扫描微信安装目录列出缓存的小程序 → 选中一键解密 + 解包,还原成源码文件结构 → 输出带代码美化(JSON / HTML / JS),可直接阅读。
- 自行编译(需 Go + Node):
go install github.com/wailsapp/wails/v2/cmd/wails@latest,前端cd frontend && npm install,再wails build。
一条龙派:Ackites/KillWxapkg
功能最全的命令行工具,把解密、解包、还原工程目录、安全评估串成自动化流程,还支持 Hook 和改包,适合做深度安全评估。命令行运行,可脚本化集成。
审计派:biggerstar/wedecode
TypeScript 实现的全自动源码还原工具,跨 Windows / macOS / Linux,主打线上代码安全审计,适合接入 CI 自动化流程。
单步派:BlackTrace/pc_wxapkg_decrypt
只做解密这一步(不解包)的经典实现。如果你已经有解包工具、只缺解密环节,或想理解 PC 微信 wxapkg 的解密原理,用它最合适。
补充:PC 微信的 wxapkg 用与
wxid相关的密钥加密,pc_wxapkg_decrypt是很多上层工具(含 wux1an/wxapkg)解密环节的参考来源。
五、注意事项
- 需先在 PC 微信打开目标小程序,否则本地没有缓存包可扫 / 可解。
- 部分工具无开源 License(如 wux1an/wxapkg 未声明协议),二次开发 / 分发前请留意各自的授权情况。
- 仅供学习研究——各工具 README 均带免责声明。请在合法授权范围内使用。
- 反编译 ≠ 完整源码:还原的是编译后产物,变量名可能已压缩混淆;如需进一步可读化,可再用 JS 反混淆工具处理(如 JSimplifier 配合大模型)。
参考
- wux1an/wxapkg:https://github.com/wux1an/wxapkg
- Ackites/KillWxapkg:https://github.com/Ackites/KillWxapkg
- biggerstar/wedecode:https://github.com/biggerstar/wedecode
- BlackTrace/pc_wxapkg_decrypt:https://github.com/BlackTrace/pc_wxapkg_decrypt
本文仅作技术学习与安全研究记录。请在合法合规、获得授权的前提下使用相关技术。