微信小程序完美反编译
一.所需工具
1. MuMu 模拟器
2. Node.js 运行环境,这是反编译脚本所需要的运行环境
2.1 node.js 的下载:https://nodejs.org/zh-cn/
2.2 打开 cmd 测试是否安装成功 输入 node -v 出现版本号即为
成功
二.下载小程序文件
1. 模拟器中下载 QQ、微信、RE 文件管理器
下载:
2.下载小程序文件
1.打开微信随便进入一个小程序
2. 打开 RE 文件管理器,从根目录开始。
/data/data/com.tencent.mm/MicroMsg/.../appbrand/pkg/,路
径中有一段...,这里表示不确定具体一个,一般是很长的数字和
字母组成的文件(如下图所示)
2. 根目录下的.wxapkg 就是小程序文件,鼠标长按,点右上角
的三个小点通过 qq 发送,保存到电脑本地。
三.反编译小程序
1. 下载反编译小程序所需的脚本:链接:
https://pan.baidu.com/s/1rdW4srS2_ZsHRKkh6nzEiw 提取
码: zdzh 。
2. 解压并进入文件夹,执行 cmd
3. 进行反编译执行以下操作
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install escodegen -g
安装好依赖之后,就是最后一步了,反编译 .wxapkg 文件
使用以下命令: node wuWxapkg.js D:\xxx.wxapkg.
后面跟的是需要反编译小程序的文件路径,就编译好了
四.报错解决
1.若出现这个错误
则输入 npm install escodegen -g 安装相应的包。缺少什么模板就
npm install xxxxx 什么模板
2.如果编译出来没有 wxss
找到反编译脚本下的 wuWxss.js,修改 runVM 方法为:
function runVM(name,code){
let wxAppCode={},handle={cssFile:name};
let tsandbox = {
__vd_version_info__:"",
$gwx:GwxCfg.prototype["$gwx"],
__mainPageFrameReady__:GwxCfg.prototype["$gwx"],
__wxAppCode__:wxAppCode,
setCssToHead:cssRebuild.bind(handle)
}
let vm = new VM({sandbox:tsandbox});
vm.run(code);
for(let name in wxAppCode){
if(name.endsWith(".wxss")){
handle.cssFile = path.resolve(frameName,"..",name);
wxAppCode[name]();
}
}
}
重新编译即可。