反编译微信小程序获取小程序前端源码wxapkg
本帖最后由 yuupuu 于 2022-4-23 10:33 编辑研究反编译的原因就是我自己辛苦了半个月写的小程序,忘记备份放在桌面,心急体验Win11系统
重装系统忘记备份源码,后悔莫及。
后来网上找了反编译的教程,反编译已经上线了的小程序
于是自己尝试了一下,真的可以,源码可算找回来了!
于是发帖分享一下反编译的流程。
准备工
准备工作
1、微信电脑版(建议最新版)
2、Node.js环境
3、小程序程序包解密工具
4、反编译脚本
小程序程序包解密工具+反编译脚本:
操作步骤
1、安装Node.js环境
Node.js下载:https://nodejs.org/zh-cn/
2、登录微信电脑版,运行你想要反编译的小程序,每个页面都点一下,确保所有页面的加载。完成后,找到你的微信文件储存目录。
找到Applet这个目录,里面找到你刚才打开的小程序的appid就是对应的加密程序包了
3、解密。打开解密工具,选择刚才找到的加密包目录,导入解密工具进行解密,解密后就得到wxapkg程序包了
4、将wxapkg程序包复制到反编译脚本目录wxappUnpacker-master里面,用cmd工具cd到wxappUnpacker-master目录,依次安装以下依赖
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
所有依赖安装完,即可开始反编译。
5、反编译。运行反编译命令,既node wuWxapkg.js 解密程序包
node wuWxapkg.js wxe1577ebe280af504.wxapkg
6、反编译成功就会在同一目录下生成当前反编译的小程序appid的目录
反编译后的wxml、wxss、json基本都是跟之前你写的一模一样
但是js会有少量地方被其他字符串替代了
一些变量名会被编译缩短,例如var helloworld = e.id; 会被编译成var t=e.id;
还有一些代码会被缩成一团,本来你写的时候很规范的缩进
但是反编译之后,原本需要好几行的规范格式,会被缩成一两行
这个时候如果你需要修改这部分代码,为了能够看得更清晰,更舒服
可能你需要自己重新回车换行,变回原来的格式。
总体来说,代码还是可以阅读,便于修改的。
请问这是什么原因呢? 逝去的初夏c 发表于 2021-7-10 13:58
两年前做过类似的,之前我记得用的是wxappUnpacker这个反编译的是手机端的
之前还是用RE文件管理器,还得ROOT权限才可以,现在有微信电脑版的小程序,轻松多了 小程序电脑端打开了,按照路径下,没找到__APP__.wxapkg微信版本3.3.0.115,问下大神,我这什么情况 〓五湖醉客〓 发表于 2021-7-10 15:50
小程序电脑端打开了,按照路径下,没找到__APP__.wxapkg微信版本3.3.0.115,问下大神,我这什么情况
我找到了,在上一级目录的Applet里 小程序电脑端打开了,按照路径下,没找到__APP__.wxapkg微信版本3.3.0.115,问下大神,我这什么情况 skm415889471109 发表于 2021-7-19 16:34
D:%users\Dell_root\Downloads\反编译脚本利器\wxappUnpacker-master>node wuWxapkg.js wx5e848d5eeff1ab75 ...
安装escodegen 就可以了
npm install escodegen 报错需要什么 就安装什么 买了个表 发表于 2021-7-16 10:23
我的为啥不行,选择小程序文件,文件下只有3个文件夹【store】【temp】【user】
我的也只有这三个文件 感谢分享 感谢分享,支持 第一次看到这样的教程,没有基础,得慢慢看,谢谢啦 对我这菜鸟来说,就算是给我源码我也不会修改 测试可用,大佬yyds
感谢分享,支持。 两年前做过类似的,之前我记得用的是wxappUnpacker这个反编译的是手机端的
感谢分享