好不容易写的小程序然后忘记保存被删了怎么办?不要慌这里就教你怎么搞。
环境准备
1、node 环境准备
安装后将nodejs设置为环境变量。
打开cmd,测试是否安装成功:在命令行输入node -v 出现版本号说明已经安装成功。
2、反编译工具
下载下来解压到某个位置就可以了,下面有操作方式
具体操作
1、先用电脑版微信打开一下小程序
打开你的微信安装位置(可以查看微信设置文件管理),然后找到缓存到本地的小程序包路径,一般都是在微信PC安装目录\WeChat Files\WeChat Files\Applet
查找微信小程序加密包(在applet文件夹内):
以上每个文件夹代表一个微信小程序,文件夹名为小程序的appid,用手机查看小程序的appid
2、解密小程序包
这里的小程序包我们还不能进行反编译,必须要通过 解密软件 修改一下才能反编译。将刚才的反编译工具解压并打开文件夹。
a、使用图中1的软件解密小程序包,选择需要解密小程序的包,包的结尾为.wxapkg
b、解密完成后会在图2中生成解密后的小程序包
c、进入图3wxappUnpacker-master目录内,在路径栏输入 cmd 自动打开当前目录的命令窗口了。
反编译一下主包,输入一下命令:
- node wuWxapkg.js ..\wxpack\master-app.wxapkg
注意:master-app.wxapkg 换成想 a 那里解密后的小程序包名称。
运行停止后在改目录下会生成你编译的小程序文件夹,里边就是编译后的源码。
导入到开发者工具就行了。
注意:本教程只用于学习,禁止使用此方法盗取他人的源码!!!
部分报错
1、app.js错误: TypeError: _typeof3 is not a function
修改@babel/runtime/helpers/typeof.js
原先的文件内容是:
//这里是有问题的程序
function _typeof(o) {
return "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? module.exports = _typeof = function(o) {
return typeof o;
} : module.exports = _typeof = function(o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof(o);
}
module.exports = _typeof;
将这个文件里面的所有内容直接替换成下面的:
function _typeof2(o) {
"@babel/helpers - typeof";
return (_typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
return typeof o;
} : function(o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
})(o);
}
function _typeof(o) {
return "function" == typeof Symbol && "symbol" === _typeof2(Symbol.iterator) ? module.exports = _typeof = function(o) {
return _typeof2(o);
} : module.exports = _typeof = function(o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : _typeof2(o);
}, _typeof(o);
}