微信小程序逆向分析工具wedecode使用指南
2026-02-06 05:24:10作者:宣聪麟
项目介绍
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文件中查看依赖的分包信息。在编译产物中出现默认模板是因为小程序会检查依赖,为了保证在缺失某些分包的情况下正常运行而生成的默认模板。
应用场景
- 线上代码安全审计:快速发现小程序中的安全漏洞
- 技术学习研究:了解微信小程序的架构设计原理
- 源码分析:深入研究优秀小程序的实现细节
免责声明
该工具仅限用于线上代码安全审计以便快速发现漏洞,学习反编译原理。请遵守国家法律,严禁任何非法用途。若您使用的范围不在国家法律允许的范围内,造成的一切法律后果与作者无关。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0242- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
electerm开源终端/ssh/telnet/serialport/RDP/VNC/Spice/sftp/ftp客户端(linux, mac, win)JavaScript00
热门内容推荐
最新内容推荐
4个步骤掌握DeepEval:从入门到实践3大场景解锁pyLDAvis:从学术研究到商业决策的主题模型可视化实战指南BiliTools全场景解析指南:高效管理B站资源的跨平台解决方案5个core83核心能力:提升Node.js开发效率的全方位解决方案AI模型云端部署无代码实践:从本地训练到生产服务的完整指南macOS平台Windows启动盘制作工具:WindiskWriter全面指南Vue3短视频架构实战:从交互到部署的全链路指南开源CRM解决方案:企业级客户关系管理系统全栈实践指南轻量高效的macOS录屏新选择:QuickRecorder全面评测与使用指南3种PDF拆分模式,让文档管理效率提升80%
项目优选
收起
deepin linux kernel
C
27
13
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
633
4.17 K
Ascend Extension for PyTorch
Python
472
570
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
931
838
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.51 K
862
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
384
267
暂无简介
Dart
880
210
昇腾LLM分布式训练框架
Python
138
162
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
123
188
Oohos_react_native
React Native鸿蒙化仓库
JavaScript
327
383


