前言
$gwx is not defined 报错 vd_version_info is not defined 报错 请看*
由于微信小程序内部升级的原因,最近github上的wxappUnpacker-master小程序反编译工具已部分失效,运行node wuWxapkg.js <file> 命令的时候会报 $gwx is not defined 错误,
导致 page-frame.html 文件无法反编译,无法解开wxss格式文件。
经过作者对小程序混淆源码的分析,重新更改了部分wxappUnpacker-master的逻辑源码,再次成功反编译小程序。
1、准备工作
1、node.js运行环境*
我用的是window10电脑,可以在终端用 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
要正常反编译小程序,目前需要更改部分反编译工具的源码,本次完美反编译小年糕小程序的源码示例如下
下面讲解需要更改的源码和操作步骤: