反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。
工具
node.js运行环境
反编译脚本
GitHub qwerty472123 大神的脚本
https://github.com/qwerty472123/wxappUnpacker安卓系统(必须 root 权限)
用于获取微信小程序
教程
安装好 node.js 环境
下载反编译脚本
安装依赖
在反编译脚本目录下执行以下依赖命令
1 | npm install esprima |
- 获取小程序 .wxapkg 文件
安卓小程序存放路径: /data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg
其中{User}为当前用户的用户名,类似于2bc*************b65一串。
找到最新打开的小程序 wxapkg 包
执行下载代码
1 | adb pull /data/data/com.tencent.mm/MicroMsg/1f2fa0e75647c562da58237740cd9d0e/appbrand/pkg/_1739533637_65.wxapkg ./Downloads |
- 反编译小程序
1 | node wuWxapkg.js ../DuappDecode/MiniProgram/_1739533637_65.wxapkg |
报错
1 | ReferenceError: $gwx is not defined |
解决方法,修改反编译脚本wuWxss.js代码
将原代码
1 | function runVM(name,code){ |
修改为
1 | function runVM(name,code){ |
- 分布反编译小程序
部分有分包的小程序无法正常反编译,可分步骤进行反编译
1 | # 仅解包,不做后续操作 |
PS::其它命令看文档