微信小程序反编译
一、环境配置
1 下载 UnpackMiniApp
UnpackMiniApp
是一个小程序的解码软件,下载地址为:
https://github.com/Angels-Ray/UnpackMiniApp
2 下载 unveilr
unveilr
是一款反编译软件,下载地址为:
https://gitcode.com/gh_mirrors/un/unveilr-v2.0.0/?utm_source=outstanding_user_article_gitcode&index=top&type=card&webUrl
3 下载小程序开发工具
我们还需要安装小程序的开发工具:
https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html
二、逆向微信小程序包
首先登陆电脑版微信,打开 设置 -> 文件管理 -> 打开文件夹:
为了更好的分辨出哪个是我们要逆向的小程序,我们首先删除原有的小程序缓存包:
注:所有的微信账号中的小程序缓存包都是公用的。
删除之后,我们点开需要逆向的小程序(以大麦小程序为例),然后可以看到该小程序包缓存已经出现在文件中,我们按照以下路径打开:
随后我们使用 UnpackMiniApp
对 __APP__.wxapkg
文件进行解码,由于解码后的文件会放在和 UnpackMiniApp
应用同目录下的 wxpack
目录中,所以我们先新建一个 wxpack
文件,然后进行解码:
解码完成后,将解码后的文件名加上 __APP__
,然后继续对子包进行解码:
注:要重命名是因为对子包解码时会生成和主包一样的文件名文件,会对主包进行覆盖。
解码完成之后我们使用 unveilr
工具进行反编译,会分别生成对应的文件夹:
然后我们将解密后子包中的 subPackages
复制到主包中覆盖对应文件夹:
然后我们将该文件夹导入到微信开发者工具:
然后在项目的 本地设置
中做如下配置:
编译代码,处理完语法错误后,就可以通过下断点来调试对应的代码:
当然我们可以通过 Ctrl+Shift+F
快捷键来全局查找关键字来找到我们需要逆向的逻辑:
注:可以重点关注
secret
、password
等查看是否存在敏感信息泄露。如果拿到比较重要的 secret,比如说云存储的 AK/SK,则可调取系统存储在云端的数据与文件。