一、前言
既然你进来看这篇文章,我认为“微信小程序反编译”这个技术你多少应该会了解点。在学习微信小程序前端开发的过程中,我跟大部分人一样,试着仿写过一些线上的小程序案例,但在实际练手中,别人的小程序对你来说完全是黑盒的,看到人家上线的小程序的效果,纯靠推测,部分效果在绞尽脑汁后能做出大致的实现,但是有些细节,费劲全力都没能做出来。这个时候就有强烈的愿望想获取别人的源码看看“庐山真面目”。后来在网上知道小程序前端是可以反编译的。
二、什么是wxapkg文件
微信小程序一般是存在哪的?——毫无疑问当然是在云端。
微信如何运行小程序?——首先需要在云端下载xxx.wxapkg文件到本地,再利用本地的一套机制运行起来。
那么如何才能在手机里找到小程序的源文件包呢?
安卓具体目录位置直接给出:
/data/data/com.tencent.mm/MicroMsg/{{user哈希值}}/appbrand/pkg/
新版本目录改变了
/data/data/com.tencent.mm/MicroMsg/appbrand/pkg/general/
在这个目录下,会发现一些 xxxxxxx.wxapkg 类型的文件,这些就是微信小程序的包
xxx.wxapkg是一个二进制文件,有着其自己的一套结构。
关于.wxapkg的详细内容可以参考lrdcq大神的博文:微信小程序源码阅读笔记
三、反编译环境搭建
1. 下载安装vscode。这个工具直接百度就能找到,之所以用这个而不选择使用windows终端,是为了在小程序还原过程中出现问题时可以很方便的进行调试
2. 在电脑本地准备好反编译脚本程序
3. 安卓模拟器,推荐使用BlueStacks蓝叠。在模拟器下载安装微信、QQ、RE文件管理器(需root获取最高权限)
四、开始反编译
1. 在蓝叠模拟器上登录微信,打开你要反编译的小程序,运行完小程序后,就可以打开RE文件管理器
在根目录下–查找data文件夹
2. 按照data\data\com.tencent.mm\MicroMsg依次打开目录,找到文件名格式是一串16进制的字符串(每个人生成的不一样),然后继续进入appbrand\pkg。到此你已经成功一半了,哈哈。按照你打开小程序的时间就能很快找到你需要的wxapkg文件
3. 鼠标长按你需要的wxapkg文件,re文件管理器右上角出现三个点按钮,点击找到压缩所选文件选项,然后等待压缩文成后会自动弹出是否查看压缩文件的对话框,点击查看按钮,就看到压缩文件了
4.鼠标左键长按压缩文件,跟上一步一样打开操作菜单,选择发送,会出现发送给微信或者QQ的选项,使用QQ分享到我的电脑,至此小程序的wxapkg文件便获取成功
五、开始反编译wxapkg文件
在电脑上打开vscode,再打开反编译脚本的配置文件,修改为你要破解的wxapkg文件位置,然后执行反编译,就能得到还原的小程序前端文件了
这里还有其他很多大神写的反编译工具,大家可以自由选择。
1.https://github.com/leo9960/wechat-app-unpack/
2.https://github.com/xuedingmiaojun/mp-unpack
3.https://github.com/xuedingmiaojun/mp-unpack/releases
六、写在最后
直接反编译别人的小程序固然能够提高小程序前端开发效率。但是如果想真正的提升个人水平,还是得静下心来认真研究,打好基础,因为你不能保证每次你还原的小程序都能满足你的需求。即使有了反编译脚本,但也只能保证市面上95%的小程序可以还原,并非万无一失。
感谢分享,有空学习一下!
神器?