由于微信小程序升级的原因,最近 github 上的 wxappUnpacker-master 小程序反编译工具已部分失效
报错:$gwx is not defined 新的反编译脚本亲测可行。
1.下载 nodejs
下载地址: nodejs
打开cmd,输入node -v命令,查看是否安装成功
2.下载反编译脚本(2019新版)
下载地址 :wxappUnpacker
修改wxappUnpacker文件中的 wuWxss.js
function runVM(name, code) {
// let wxAppCode = {}, handle = {cssFile: name};
// let vm = new VM({
// sandbox: Object.assign(new GwxCfg(), {
// __wxAppCode__: wxAppCode,
// setCssToHead: cssRebuild.bind(handle)
// })
// });
// vm.run(code);
// for (let name in wxAppCode) if (name.endsWith(".wxss")) {
// handle.cssFile = path.resolve(frameName, "..", name);
// wxAppCode[name]();
// }
let wxAppCode = {};
let handle = {cssFile: name};
let gg = new GwxCfg();
let tsandbox = {
$gwx: GwxCfg.prototype["$gwx"],
__mainPageFrameReady__: GwxCfg.prototype["$gwx"], //解决 $gwx is not defined
__vd_version_info__: GwxCfg.prototype["$gwx"], //解决 __vd_version_info__ is not defined
__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]();
}
}
}
3.root手机或电脑安卓模拟器
一台带root的手机,或者用电脑安装安卓模拟器,获取root权限在根目录下找到这个路径
/data/data/com.tencent.mm/MicroMsg/{id数字串}/appbrand/pkg/
目录下扩展名为.wxapkg的小程序文件打包后发送到电脑上
cmd 切换到 反编译脚本的目录执行以下的命令
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install escodegen
安装完成后
4.使用node wuWxapkg.js 反编译命令
命令格式:node wuWxapkg.js [-d] //files
例如:我有一个需要反编译的文件 _-931978356_15.wxapkg 在D盘根目录下的workSpace文件夹,那么就输出命令
node wuWxapkg.js D:\workSpace_-931978356_15.wxapkg
网友评论