版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yueruitao/article/details/85003289
- Node.js的的运行环境
- 如果没有安装的的NodeJS,请先安装一下
- 下载地址:https://nodejs.org/en/
- 反编译的脚本
- 这里提供一个Github上上的
qwerty472123
大神写的的node.js的版本的,当然也有其它版本的,例如python
版本,这里我只是简单地用的的node.js版本举例 - 地址:https://github.com/qwerty472123/wxappUnpacker
- 这里提供一个Github上上的
- 安卓模拟器(要求自带根权限)
- 我使用的是
夜神模拟器
,你也可以自选 - 下载地址:https://www.yeshen.com/cn/download/fullPackag
- 我使用的是
详细步骤:
使用安卓模拟器获取到.wxapkg文件
不用越狱,不用根,使用电脑的端的的安卓模拟器来电子杂志的英文一个非常简单快捷的电子杂志方式,具体步骤如下:
-
打开安装好的安卓模拟器,并在模拟器中安装
QQ
,微信
,RE管理器
QQ
,微信
在模拟器自带的应用商店里搜索下载安装即可RE管理器
的下载地址:https: //pan.baidu.com/s/1PPBx08rNutXxhlMMJbuTpQ- 下载好后直接拖拽进打开的模拟器窗口就会自动安装
-
设置一下模拟器
- 我以个人认为比较好用的
夜神模拟器
举例 - 首先到模拟器内部设置超级用户权限
- 我以个人认为比较好用的
- 这些操作的目的都是为了能让
RE管理器
顺利的电子杂志到ROOT权限
-
接下来在模拟器里打开微信,然后在微信中运行你想要获取的小程序(这一步微信就会把目标小程序的源文件包从服务器下载到了本地)
- 就以我说的这款共享单车的小程序举例
- 在模拟器微信中运行一下后,切回模拟器桌面,运行RE器浏览 来到目录,(提醒:文件夹目录也可以查看/删除和压缩操作,但是如果要执行发送的话需要货到RE管理器里面执行))
/data/data/com.tencent.mm/MicroMsg//appbrand/pkg/
- 就抵达了目的文件夹
长按文件选中,然后点击上面三个点的按钮进行压缩,压缩完后才能之后会弹框,点击查看,
- 你会看到发现里面的一些.wxapkg后缀的文件,就是它们没错啦,可以根据时间来判断那个是你刚才从服务器下载过来的
- 一般小程序的文件不会太大,长按,然后点对话选项对话右上角将其压缩为压缩包,然后再将压缩好的包通过QQ到发送我的电脑
- 注:如果不进行压缩的话,QQ会提示文件不可用
我选择的是发送给好友,然后发到我的QQ群了,你们随便都可以
- 所以QQ的这个功能可以让我们很方便的拿到源文件,而不必到电脑目录去找模拟器的文件目录。
- 解压。这样几步简单操作,就成功拿到了小程序的源文件了。
- 解压。这样几步简单操作,就成功拿到了小程序的源文件了。
使用反编译脚本wxapkg
- 到这里你应该已经将反编译脚本从github上下载或者克隆到本地某个目录
- 打开的的NodeJS命令窗口,如果有vscode的直接使用vscode更方便,没有安装的,打开如下这个命令行窗口
-
用CD展示进入命令到你的克隆下载或者好的反编译期目录脚本下
-
节点在窗口显示显示命令中依次安装如下依赖(依次把每条安装命令复制到命令行回车就可以):
-
npm install esprima npm install css-tree npm install cssbeautify npm install vm2 npm install uglify-es npm install js-beautify
如果提示缺少什么安装什么就可以了
-
安装好依赖之后,就是最后一步了,反编译.wxapkg文件
-
打开node.js 输入 d:进入D盘
-
在当前目录下输入
node wuWxapkg.js [-d] <files ...> // files就是你想要反编译的文件名
例如:我有一个需要反编译的文件_163200311_32.wxapkg
已经解压到了D盘根目录下,那么就输出命令node .\ wuWxapkg.js D:_163200311_32.wxapkg
-
或者比如在es目录,node .\ wuWxapkg.js D:\es\_163200311_32.wxapkg
小技巧:注意这里斜杆别打反了,你可以输入文件名前几个字符,然后制表键会自动补全文件名
- 回车运行
- 反编译脚本就能一步将.wxapkg文件还原为微信开发者工具能够运行的源文件,目录地址和你反编译的文件地址是一样的
大功告成,然后用微信小程序开发工具运行就可以了(写的比较仓促,可以和原地址结合看)