准备工作
1.node.js (安装nodejs: https://nodejs.org/en/)
2.反编译脚本(下载地址):https://github.com/xuedingmiaojun/wxappUnpacker
3.下载夜神模拟器
=> 模拟器中下载:微信、QQ、RE管理器,
=> 模拟器内部-设置-超级用户权限,自动响应设置为允许
=> 建议把本机的vt打开,会更流畅,不然十分卡顿
4.打开微信,点开小程序,(最好每个页面都点一遍,防止有漏包现象)
5.打开RE管理器 ,找到小程序源码所在目录:/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串文件夹}}/appbrand/pkg/xxx.wxapkg
=> 小程序源码所在目录:RE管理器 : /data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串文件夹}}/appbrand/pkg/xxx.wxapkg
=> 长按压缩所选文件,并通过QQ发送到电脑
VSCode打开反编译脚本wxappUnpacker
1.安装依赖:npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
2.获取主包和若干子包: 解包主包 => node wuWxapkg.js ./pkg/_xxxx_xxx.wxapkg
解包子包 => node wuWxapkg.js ./pkg/sub_xxxx.wxapkg -s=./pkg/_xxxx_xxx
(说明: 子包 -s= 主包 (哪个文件大哪个就是主包))
3.常见异常处理
(1) 未安装成功工具依赖的模块 => Error: Cannot find module 'uglify-es'
处理方式:npm run uglify-es。
(2)未识别的包 => Saving files...Unpack done./Users/whidy/webs/wxappUnpacker/wuWxapkg.js:104}else throw Error("This package is unrecognizable.\nMay be this package is a subPackage which should be unpacked with -s=<MainDir>.\nOtherwise, please decrypted every type of file by
处理方式:推断是包内有包,子包解压失败。
相关文档链接参考
=> https://segmentfault.com/a/1190000018592740?utm_source=tag-newest
=> https://blog.csdn.net/weixin_39709920/article/details/104275087
=> https://mp.weixin.qq.com/s?__biz=MzI3OTA0NDQ3NQ==&mid=2247484689&idx=1&sn=f67e5ceae9c51e3f6d461e2a7b49d20d&chksm=eb4c8d05dc3b04134575984a2373bf7a4c6ef975416ed03b58c0c7ce228cfead90018d42a4a6&scene=178&cur_album_id=1386478100850245632#rd
=> https://blog.csdn.net/weixin_39709920/article/details/104275087
=> https://blog.csdn.net/fei2636/article/details/86307547