微信小程序反汇编
本文章中的操作都是在mac系统下进行 macOS MonTerey(13-inch, 2017, Two Thunderbolt 3 ports)
一、小程序抓包
最新版本可以
打开瑞幸小程序 进入首页 就可以关了,然后再进行下面的操作
先打开访达
/Users/xxxx/Library/Containers/com.tencent.xinWeChat/Data/.wxapplet/packages
xxx代表本机名字
例如我名字是cafe
/Users/cafe/Library/Containers/com.tencent.xinWeChat/Data/.wxapplet/packages
会显示这个列表文件
选第一个 wx21c7506e98a2fe75 (瑞幸小程序) 再找到 APP.wxapkg
将小程序的包文件复制出来
二、需要借助node反汇编开发工具
点击 微信小程序反汇编 工具下载
node wuWxapkg.js __APP__.wxapkg
这是我从/Users/cafe/Library/Containers/com.tencent.xinWeChat/Data/.wxapplet/packages目录 里面复制过来的
运行过程如遇报错
报错信息如下
SyntaxError: Unexpected end of input
解决方案
1、修改wuWxss.js文件31行
代码段如下,自行找准位置替换 请用搜索addStat
function statistic(data) {
function addStat(id) {
// if (!importCnt[id]) importCnt[id] = 1, statistic(pureData[id]);
if(!importCnt[id]){
if(pureData){
importCnt[id]=1;
statistic(pureData[id]);
}
}
else ++importCnt[id];
}
2、修改wuWxss.js文件243行
代码段如下,自行找准位置替换
// pureData = vm.run(code + "\n_C");
pureData = vm.run(code + "}");
完成之后重新运行大概率不会报错
该解决方案来自github的
主包反编译-无子包
node wuWxapkg.js __APP__.wxapkg
成功
导入微信开发者工具就可以打开了。
1. 获得要解包的主包和子包
2. 解包主包 bingo.sh testpkg/master-xxx.wxapkg
3. 解包子包 bingo.sh testpkg/sub-1-xxx.wxapkg -s=../master-xxx 其中,sub-1-xxx.wxapkg为子包wxapkg,-s=后面为子包在主包中的路径