悠悠楠杉
利用node.js反编译脚本获得微信小程序源码
06/19
一、node.js运行环境
1、安装node.js地址:https://nodejs.org/zh-cn/
安装后在控制台输入:node -v
, 如果显示版本号则安装成功
2、安装npm
一般情况下nodejs安装好后自带npm
可以在控制台输入:npm -v
, 如果显示版本号则安装成功。
二、下载反编译脚本
https://gitee.com/moduo_412/wxappUnpacker
三、安装模拟器
下载夜神模拟器或其他模拟器安装RE文件管理器,使用解密工具可以不用安装模拟器,找到__APP__.wxapkg,不确定是哪个目录可以把当前目录删除,再重新打开小程序
四、在本地找到小程序源文件包
/data/data/com.tencent.mm/MicroMsg/一串32位的16进制字符串文件夹/appbrand/pkg/
小程序源文件包
这个目录下就是你的小程序源文件了,小程序格式就是wxapkg,根据时间找到源文件包压缩后发送到电脑
五、反编译解包
1、打开nodejs命令窗口
2、用cd命令进入反编译脚本根目录下
3、在node命令窗口中依次安装如下
// 安装
npm install
// 安装依赖
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
4、安装好依赖之后,就是最后一步了,反编译 .wxapkg 文件
在当前目录下输入命令:node wuWxapkg.js _163200311_32.wxapkg
_163200311_32.wxapkg是你需要反编译的源文件,输入前几个字符可以按tab键补全
在当前目录找到_163200311_32文件夹(如果不是想要的,请换一个.wxapkg文件):
5、报错处理
Cannot find module 'xxx'
模块未安装
运行命令:npm install xxx
如果这种
错误,请重新换一个.wxapkg文件
执行脚本中可能会出现以下报错
1、修改wuWxss.js文件31行
if (!importCnt[id]) importCnt[id] = 1, statistic(pureData[id]);
// 替换为
if(!importCnt[id]){
if(pureData){
importCnt[id]=1;
statistic(pureData[id]);
}
}
2、修改wuWxss.js文件243行
pureData = vm.run(code + "\n_C");
// 替换为
pureData = vm.run(code + "}");