Note: 仅供学习交流使用
工具准备
- 网易MuMu模拟器- 用于获取小程序文件
1.1 MuMu模拟器内安装RE文件管理器
1.2 打开RE文件管理器时,允许访问超级用户权限
1.3 MuMu模拟器安装微信
模拟器应用商城下载,或者[豌豆荚]
(https://www.wandoujia.com/apps/596157/history)下载)
1.4 启动Root权限
模拟器内点击右上角功能栏进入【设置中心】-【基本设置】;
勾选【开启root权限】;点击【保存并关闭】,如下图
https://github.com/wanliofficial/wxappUnpacker.git
2.wxappUnpacker - 逆向工具
git clone https://github.com/wanliofficial/wxappUnpacker.git
- nodejs - nodejs运行环境
获取小程序代码
- 登录【微信】,搜索并打开指定小程序
微信首次登录新设备(手机模拟器),会需要等待同步消息完成 - 进入模拟器的【RE文件管理器】,定位到目录/data/data/com.tencent.mm/MicroMsg/{一串16进制字符}/appbrand/pkg/,选中相应的小程序.wxapkg文件,点击右上角功能栏,选择压缩小程序文件、然后发送到微信文件助手,或QQ内,电脑端再通过相应平台下载解压,即获取小程序代码。
反编译小程序
- 解压小程序文件
- 安装需要的依赖
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
- 反编译
node <wuWxapkg.js path> <wxapkg path>
- 反编译成功之后可以看到小程序的代码
反编译过程中出现的异常
git clone https://github.com/wanliofficial/wxappUnpacker.git
Cloning into 'wxappUnpacker'...
fatal: unable to access 'https://github.com/wanliofficial/wxappUnpacker.git/': OpenSSL SSL_read: Connection was reset, errno 10054
解决方法
# 查看是否有http_proxy代理配置,有则从~/ .gitconfig删除
git config --global -l
# 取消设置环境变量
env|grep -i proxy
Note: 仅供学习交流使用