为了了解小程序代码压缩后是什么样子,于是进行了一次反编译。
一、准备
1.node.js运行环境
如果没有安装node.js,需要先安装node.js
2.反编译脚本
一般都是采用GitHub上qwerty472123写的node.js脚本,不过在反编译过程中总是报$gwx未定义错误。经过搜索找到了一位基于此脚本的修改的版本,用着还是不错的。脚本下载地址
3.安卓模拟器
通过安卓模拟器来获取小程序源文件。我是用的是夜神模拟器。模拟器模拟手机运行安卓系统,在系统中小程序的源文件所在的位置是:/data/data/com.tencent.mm/MicroMsg//appbrand/小程序编号/pkg/,在pkg文件夹下会发扩展名为.wxapkg的文件,这就是小程序的包,每一个.wxapkg文件对应一个小程序,当然其中有两三个.wxapkg文件是小程序的运行环境文件。其中“小程序编号”是一串数字和字母组成的文字,用来标识不同的用户。
4.RE管理器
下载RE管理器安装到模拟器中,通过RE管理器来找到源文件位置。
二、操作步骤
1.打开安装好的安卓模拟器并在模拟器中安装微信、RE管理器
2.设置模拟器——设置合适的手机或平板型号
3.启动安卓系统后到设置中设置超级用户权限。如图。
这些操作的目的都是为了能让RE管理器顺利的获取到ROOT权限
4.在模拟器中打开微信,搜索并运行小程序
5.回到模拟器桌面,打开RE管理器进入小程序包文件目录:/data/data/com.tencent.mm/MicroMsg/352ea8f5f85dc27a82fd9b418bda5eab/appbrand/pkg
6.复制pkg文件夹到其他存储区域,比如:Download
7.打开模拟器中安卓自带的文件管理器并进入Download
8.鼠标长按压缩文件调出发送,通过微信发送给好友来拿到压缩文件
9.拿到压缩文件后解压到一个文件夹中
10.下载或者克隆反编译脚本到本地,调出命令提示符
11.在命令提示符中输入:npm i 进行安装脚本依赖项
12.输入命令:node wuWxapkg.js 小程序包目录/xxxxx.wxapkg即可
13.命令执行完毕后就可以看到反编译后的小程序源码了,反编译得到的源码可以通过微信开发者工具来运行。
注意:使用此方法,绝大部分的小程序都能正常反编译出来,但是也会有一些特殊的情况,具体可以查看脚本中的readme文件
参考资料:
https://blog.csdn.net/qq_33858250/article/details/80543815?tdsourcetag=s_pcqq_aiomsg