0x01 用到的环境
- node环境
- wxappUnpacker
- 微信开发者工具
- 网易mumu模拟器(Android6版本)
- mt管理器(模拟器中的文件管理工具)
0x02 编译阶段
- 首先找到小程序的安装包,可以找个手机,点开小程序后,找到手机文件目录, 一般是这样的目录。
/data/data/com.tencent.mm/MicromMsg/c6dxxxxxxxxxxxxx/appbrand/pkg/*.wxapkg
注:此时必须root
mt管理器
然后自己想办法现在把这些包从手机里导出来(如果很多wxapkg建议清理一下,重启目标小程序。)
0x03 反编译wxapkg获取源文件
Github上已经有大神写的node.js版本的,当然也有其它版本的,例如python版本,不用管什么版本的,能用就行了。
GitHub地址:
https://github.com/qwerty472123/wxappUnpacker
进入到下载好的反编译脚本目录下,在node命令窗口中依次安装需要的依赖。
项目中列出来的需要安装的依赖不全,如果报错,看下issues就行了,下面是在我能运行状态下安装的依赖。
1. 解包主包
- windows系统使用: `./bingo.bat testpkg/master-xxx.wxapkg`
- Linux系统使用: `./bingo.sh testpkg/master-xxx.wxapkg`
2. 解包子包
- windows系统使用: `./bingo.bat testpkg/sub-1-xxx.wxapkg -s=../master-xxx`
- Linux系统使用: `./bingo.sh testpkg/sub-1-xxx.wxapkg -s=../master-xxx`
实际运行结果
./bingo.sh /Users/zy/Documents/pentest_tools/xcx/rongegou/_1549897879_353.wxapkg
用VScode打开查看源码
0x04 微信开发者工具调试
下载微信开发者工具
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
项目-导入项目
点击编译就可以运行,后续就可以自己调试
0x05 解决方法:
在微信社区寻求答案,发现选择最好的方式都是选择云函数的方法,避免把密钥写到前端程序中