微信小程序反编译搞了一下午,终于搞成,简单做个整理。 网上大部分资料可参考。
1.安装好node (大部分人应该早装了)。
2.网上大部分推荐的 夜神模拟器 。
3.可以电脑上 下载个 RE资源管理器安装包 ,微信app安装包(拖到夜神里面 可以直接安装)。
4.wxappUnpacker的包,最开始的大神的地址https://github.com/qwerty472123/wxappUnpacker,没有代码了,找这个大神地址下载 ,https://github.com/museL/wxappUnpacker-master 。
详细点的步骤 看这篇 https://www.ddkiss.com/archives/187.html ,(主要是在这找到了这个wxappUnpacker的包,执行命令 node wuWxapkg/js 应该为 node wuWxapkg.js 后面跟上你找回来的wxapkg的路径 + 名字)
反编译需要的几个js如下:
下图为我的地址
我要找的是体验版的代码,是debug_开头的,node wuWxapkg.js E:\debug_… .wxapkg
注意的是:那个文件扩展名都没有,我直接在那文件上加上的 .wxapkg 扩展名。
接下来执行会 发现 编译回来的 没有样式wxss 文件 ,报错 vd_version_info is not defined
再看 这位兄弟的方法,https://blog.youkuaiyun.com/kjincang/article/details/95995810 ,
这是由于反编译的脚本是2018年底的,2019年后微信升级了,需要修改下反编译脚本。找到wuWxss.js中的runVM方法,替换为如下js:
function runVM(name, code) {
let wxAppCode = {}, handle = {cssFile: name};
let gg = new GwxCfg();
let tsandbox = {
$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]();
}
}
然后 就ok 了,
关键的 就是 在文件管理器找到你的那个 小程序那个文件,第二找到那个wxappUnpacker反编译包,
wsxx文件没有的话,替换个方法。
最新比较好用的github 地址,https://github.com/xuedingmiaojun/wxappUnpacker