首先声明:本文章仅供学习之用,不可它用。
本来之前有玩过,但每次都还得问度娘,故在此做下记录。
一.所需工具
1.nodejs运行环境,这是反编译脚本所需运行环境。
(1)、nodejs下载链接:http://nodejs.cn/download/(中文网)。安装的过程一路next就可以了。
(2)、打开cmd,测试是否安装成功,在命令行输入node -v,如下: D:>node -v 结果:v12.11.1,表明安装成功。
2.下载反编译脚本 ,之前看别人都是一直用的这个大神的https://github.com/qwerty472123/wxappUnpacker,可我再去已经被删除了。。。
于是上传到自己网盘https://pan.baidu.com/s/1D97vs59xZMeuYz1rEzWE4A
提取码:fgka
3.夜神模拟器,找度娘要去
4.RE文件管理器(在模拟器内搜索安装或自动下载后导入到摸拟器安装,没有可以在电脑下载好后拖进去)用来找寻微信小程序源文件。
二、编译流程
1.安装RE文件管理器
在模拟器内安装好RE文件管理器。
2.获取超级用户权限
打开夜游模拟器:设置 -> 开启root权限 -> 保存设置 -> 重启。
或者在首次打开RE文件管理器进入data文件夹时,摸拟器会显示超级用户请求,选择“永久记住选择”—>点击“允许”,即可获取超级用户权限。
3.打开需要反编译的小程序
打开微信,没有的在应用市场下载就行,打开想反编译的微信小程序,小程序打开后,可以切换到RE文件管理器去找源文件了。
这里有一个机制,当点开一个微信小程序,本地这个文件夹下找到即将运行的小程序,会从微信服务器下载到本地,在以后的某个时刻又运行这个小程序,运行时,微信服务器会通知有没有小程序新版本,如有新版本,会在后台静默下载,小程序继续运行,新版本要到下一次运行才会启用,这就是微信小程序的更新机制。
4.获取源文件
打开 RE文件管理器 ,进入以下目录,查看到下面有很多的 wxapkg 文件,你可以打开微信小程序后根据时间查看刚生成的那个,拷贝到电脑上,(长按->右上角三点 ->压缩,可以在外层文件夹压缩后发送到电脑)
5 下载反编译文件
下载反编译文件后,把刚刚wxapkg文件也拷到这目录
6 安装依赖包
cmd在终端进入到你刚刚下载下来的脚本目录下,依次安装以下依赖,全部安装完。(加个 -g全局安装结果会报错找不到,咱也不知道为啥)
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install escodegen
node wuWxapkg.js _662766989_11.wxapkg
执行完后会看到如下文件夹,就可以放到小程序工具中打开了
7.反编译完成
用node wuWxapkg.js filepath执行成功后,查看反编译成功后的文件夹,源码中除了project.config.json这个配置文件,其他的都有。导入项目后就可以看到效果了,期间可能会出现一些问题,需要调试一下。
四、结语
至此微信小程序的反编译过程就结束了,仅供学习之用,不可它用。当然别人的小程序你拿来不一定能跑起来的,因为别人后台对appid做了相应的限制,所以请求不一定能用。