前言
日常工作中经常会遇到对小程序的渗透测试,微信小程序的源码是保存在用户客户端本地,在渗透的过程中我们需要提取小程序的源码进行问题分析,本篇介绍如何在苹果电脑 MacOS 系统上提取微信小程序的源码。
0x01 微信小程序提取
在苹果电脑 MacOS 操作系统上,微信小程序的源码统一保存地址如下:
/Users/【电脑用户名】/Library/Containers/com.tencent.xinWeChat/Data/.wxapplet/packages/
这里保存了电脑访问过的所有小程序源码文件夹,文件夹名字是随机生成的,可以根据首次访问小程序的时间来推定你要的小程序源码具体是在哪个文件夹。
cd 命令进入指定文件夹,里面会有个随机数字的文件夹(例如:51),再 cd 命令进入就可以找到小程序的源文件 __APP__.wxapkg
,这个文件可以用 cp 命令复制到指定文件夹,用于后续逆向还原小程序代码。
0x02 微信小程序逆向
1、工具安装
这里使用 wxappUnpacker
工具进行小程序源码逆向还原,原来的作者项目删除了,这里贴一个别人收藏保存的项目地址。
- 项目地址:https://github.com/geilige/wxappUnpacker
该工具是基于 Node 进行开发的,因此需要安装 Node 环境,并且安装以下依赖环境。
- Node 官网地址:https://nodejs.org/zh-cn
npm install esprima -g
npm install css-tree -g
npm install cssbeautify -g
npm install vm2 -g
npm install uglify-es -g
npm install js-beautify -g
npm install escodegen -g
2、工具使用
将源码文件拷贝出来,然后使用小程序反编译工具 wxappUnpacker 还原代码即可。
node wuWxapkg.js __APP__.wxapkg
执行成功后,即可在工具目录下看到对应名称还原后的源码文件夹。
至此,微信小程序源码提取逆向还原成功,后续便是渗透审计分析问题了。