原文地址:https://www.toymoban.com/diary/developers/19.html
准备工作
-
下载并安装 nodejs,本次版本为 v6.10.0
-
下载 反编译脚本 下载地址:https://github.com/qwerty472123/wxappUnpacker
-
安装安卓模拟器,夜神模拟器
-
下载 RE管理器
-
桌面新建文件夹 wxpack 用户本次说明用
-
本次案例使用命令行工具 Git,可自行用自己喜欢的命令行工具,如:cmd
-
便捷下载地址:百度网盘-链接不存在 提取码:88lb
第一步
通过命令工具进入到新建文件 wxpack,如下图所示,并附带这次案例的软件版本
检测模拟器是否已经开启 ROOT
安装 RE管理器
至此,所需要的东西已经安装完了。
第二步
登陆微信后,打开小程序,在以下路径会生成 .wxapkg 文件
RE管理器 路径为: /data/data/com.tencent.mm/MicroMsg/appbrand/{{32位的文件夹}}/,如下图所示:
然后我们返回上一层目录,把 pkg 目录打包,并发送到我们的电脑。
并解压到以下目录:
第三步,反编译开始
把 反编译脚本 放进创建的文件夹 wxpack 里面:
接着运行以下命令:
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
开始反编译,执行:
node ./wuWxapkg.js ./data/_1123949441_213.wxapkg 【错误的】,请看注意内容
node ./wuWxapkg.js ./data/_547556184_15.wxapkg
注:
1、微信小程序的包和依赖包的后缀都是.wxapkg,真正的小程序包大小1M左右,而依赖包大小2、3M甚至更多。
2、不通的命令行工具,可能斜杠的方式不一样
3、如果出现错误 Error: Cannot find module 'escodegen' ,请执行以下代码后,再次运行:
npm i --save-dev escodegen
4、继续运行还是出现错误 Error: This package is unrecognizable.
原因:
微信小程序的包和依赖包的后缀都是.wxapkg,真正的小程序包大小1M左右,而依赖包大小2、3M甚至更多。反编译.wxapkg依赖包会报错: Error: This Package is unrecognizable, please decrypted every type of file by hand.反编译错误的包返回结果:链接:https://www.jianshu.com/p/511925d51b1e
正确源码包的返回结果: