微信小程序逆向分析工具wedecode使用指南
项目介绍
Wedecode是一款全自动化微信小程序wxapkg包源代码还原工具,能够支持大多数小程序的完美还原。该工具支持跨平台使用,可在Windows、MacOS和Linux系统上运行,是小程序逆向分析和安全审计的重要工具。
核心功能特性
- 支持小程序还原
- 支持小游戏还原
- 支持分包代码和插件代码还原
- 完美还原目录结构和源代码
- JS代码还原
- WXML代码还原
- WXSS代码还原
- WXS代码还原
- JSON文件还原
- 其他类型文件还原(媒体资源、wasm、workers等)
- 所有代码美化输出
- 小程序包扫描
- 可视化UI操作
环境准备
在使用Wedecode之前,需要确保您的设备已安装Node.js环境。建议使用Node.js v18及以上版本,以获得最佳兼容性。
安装方法
Wedecode支持全局安装,安装完成后可以在任意终端使用:
# Windows系统
npm i wedecode -g
# Mac系统
sudo npm i wedecode -g
使用方式
可视化界面操作
如果您偏好图形界面操作,可以通过以下命令启动本地可视化操作页面:
wedecode ui
命令行交互模式
在命令行中直接输入wedecode命令即可运行,工具会自动引导您完成操作:
wedecode
指定参数运行
Wedecode支持多种命令行参数配置,满足不同使用需求:
# 手动指定一个包文件
wedecode ./name.wxapkg
# 编译当前命令行所在文件夹内的所有包
wedecode ./
# 编译指定文件夹内的所有包
wedecode ./dirname
# 将编译结果输出到指定目录
wedecode ./ --out ./output_path
# 预设命令行参数组合
wedecode --out output_path --clear --open-dir
源码运行方式
如果您希望从源码运行Wedecode,可以按照以下步骤操作:
git clone https://gitcode.com/gh_mirrors/we/wedecode
cd wedecode
npm install
npm run start
# 或
npm run ui
命令参数详解
| 参数 | 作用说明 |
|---|---|
| ui | 启动本地可视化操作页面 |
| <packages...> | 包所在路径,可以是文件或目录 |
| -o, --out
| 产物输出路径,未指定时默认输出到同级OUTPUT目录 |
| --open-dir | 编译结束后自动打开产物目录 |
| --clear | 清空旧产物文件 |
| --px | 使用px像素单位解析CSS,默认使用rpx单位 |
| --unpack-only | 仅进行解包操作,不进行反编译 |
Polyfill功能说明
在编译过程中,可以在包所在文件夹中创建polyfill目录。如果发现该目录中的模块与输出产物中的模块路径名称一致,工具将使用自定义的JS模块,忽略原本模块的编译。
小程序包所在目录结构示例:
target_dir
├── xxx.wxapkg
├── xxx-sub.wxapkg
└── polyfill/
└── @babel/
└── array.js
输出产物目录结构示例:
OUTPUT
├─ app.json
├─ pages/
├─ components/
└─ @babel/
└── array.js
常见问题解答
问:为何编译出来的很多文件只有默认模板?
答:这可能是因为缺失分包文件。您需要将所有分包放在一起进行编译。可以在app.config.json或app.json文件中查看依赖的分包信息。在编译产物中出现默认模板是因为小程序会检查依赖,为了保证在缺失某些分包的情况下正常运行而生成的默认模板。
应用场景
- 线上代码安全审计:快速发现小程序中的安全漏洞
- 技术学习研究:了解微信小程序的架构设计原理
- 源码分析:深入研究优秀小程序的实现细节
免责声明
该工具仅限用于线上代码安全审计以便快速发现漏洞,学习反编译原理。请遵守国家法律,严禁任何非法用途。若您使用的范围不在国家法律允许的范围内,造成的一切法律后果与作者无关。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考






