微信小程序反编译

一、环境配置

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 快捷键来全局查找关键字来找到我们需要逆向的逻辑:

注:可以重点关注 secretpassword 等查看是否存在敏感信息泄露。如果拿到比较重要的 secret,比如说云存储的 AK/SK,则可调取系统存储在云端的数据与文件。

posted @ 2025-05-22 11:54  lostin9772  阅读(25)  评论(0)    收藏  举报