Nodejs实现反编译小程序源码
原理介绍
参考:只需两步获取任何小程序源码 https://blog.****.net/qq_41139830/article/details/80531802
当我们点开一个微信小程序的时候,其实是微信已经将它的从服务器上下载到了手机,然后再来运行的。所以我们应该可以从手机本地
找到到已经下载过的小程序文件。只要对下载后的小程序文件反编译就可以了。
微信小程序的格式就是:.wxapkg
准备环境
1. node.js运行环境
2. 反编译的脚本
Github上qwerty472123
大神写的node.js版本的,当然也有其它版本的,例如python
版本
地址:https://github.com/qwerty472123/wxappUnpacker
3. 安卓模拟器(要求自带root权限)
夜神模拟器
地址:https://www.yeshen.com/cn/download/fullPackage
设置一下模拟器
设置超级用户root权限
-
模拟器安装QQ、微信
模拟器中自带微信,但版本较旧,进入后升级微信;
模拟器安装QQ,用于传输文件,可以在模拟器浏览器中安装;
模拟器安装RE管理器,用于root授权方面,似乎这步可以省略。
- 获取小程序文件
模拟器进入微信,搜索需要反编译的小程序,如美家买菜;
然后进入模拟器的“文件管理器”,定位到目录/data/data/com.tencent.mm/MicroMsg/{一串16进制字符}/appbrand/pkg/,选中相应的小程序.wxapkg文件,压缩选择项、发送选择项。
这样就把相应的小程序文件发送到电脑中。
- 反编译小程序文件
解压缩文件:# tar -zxvf _459201295_105.tar.gz
#node ../wxappUnpacker-master/wuWxapkg.js _459201295_105.wxapkg //开始编译
若出现报错如下:
可执行安装模块 #npm install uglify-es
编译执行完成后,生成结果目录如下
至此,已完成。在小程序中运行一下看看吧。
持续完善,待续...