前言
看到人家上线的小程序的效果,纯靠推测,部分效果在绞尽脑汁后能做出大致的实现,但是有些细节,费劲全力都没能做出来。很想一窥源码?查看究竟?看看大厂的前端大神们是如何规避了小程序的各种奇葩的坑?那么赶紧来试试吧
1、准备工作
1、node.js运行环境
我用的是mac电脑,可以在终端用 node -v 指令查看是否安装了node的最新版本,如果已安装,可以看到node的版本号
2、反编译的脚本wxappUnpacker下载地址 https://github.com/qwerty472123/wxappUnpacker
这是Github上qwerty472123大神写的反编译工具
3、root 过的安卓手机一台
看很多教程推荐夜神模拟器,但是我新安装的夜神模拟器微信点开会闪退,所以只能用root手机
微信小程序的wxapkg包,在手机里的目录/data/data/com.tencent.mm/MicroMsg/appbrand/{user}/pkg/里,我用的是RE文件管理器获取,如下图
微信小程序反编译获取源码先将目录下的wxapkg压缩成zip格式文件再发送到电脑上,获取到wxapkg包后,就可以进行正式的反编译了。
1、打开终端cd 到你clone或者下载好的反编译脚本wxappUnpacker目录下,依次输入如下命令安装反编译脚本的运行依赖
1、npm install esprima
2、npm install css-tree
3、npm install cssbeautify
4、npm install vm2
5、npm install uglify-es
6、npm install js-beautify
安装好依赖之后,就开始反编译 .wxapkg 文件
在当前目录下输入 node wuWxapkg.js <files> files 就是你想要反编译的包的路径 例如:我有一个需要反编译的文件 776200096_15.wxapkg 已经解压到了桌面目录下(mac电脑),那么就输入命令 node wuWxapkg.js /Users/apple/Desktop/_-776200096_15.wxapkg
由于近期微信内部的升级,会报如下错误
$gwx is not defined
要正常反编译小程序,目前需要更改部分反编译工具的源码,本次完美反编译飞讯卡片小程序的源码示例如下
微信小程序反编译获取源码解决 $gwx is not defined 报错可参考我的上一篇文章。
网友评论