小程序抓包-反编译-开发者工具审计
小程序抓包-全局代理&进程转发
无论在手机还是模拟器中在安卓系统上抓包,可能会存在以下问题:
安卓系统 7.0以下版本,不管微信任意版本,都会信任系统提供的证书
安卓系统 7.0 以上版本,微信 7.0 以下版本,微信会信任系统提供的证书
安卓系统 7.0 以上版本,微信 7.0 以上版本,微信只信任它自己配置的证书列表
相应的解决办法就是如下:
将证书安装到系统证书中(需root)
苹果手机(苹果手机不受此影响)
采用安卓系统低于7.0的模拟器
这样就很麻烦了,一般我们都是在PC端抓包
1、进程转发-Proxifier+BurpSuite
比如说我们如何抓一个微信小程序的包
我们可以先用「科来网络分析系统」找到对应的小程序进程
在Proxifier中添加代理规则
配置好代理服务器
BP代理配置
我们随便打开一个微信小程序,可以在BP上看到目标
2、全局代理
全局代理抓到的包就不只有小程序的了,比较杂乱
小程序逆向-反编译&主包&分包&调试
反编译项目一些工具地址:
1、wxpUnpacker
https://github.com/sanriqing/WxAppUnpacker
2、小锦哥小工具
https://www.xjgxcx.xiejijin.com/
3、分包-unveilr
https://github.com/r3x5ur/unveilr
4、小程序开发者工具
https://q.qq.com/wiki/tools/devtool/
1、wxpUnpacker
在用wxpUnpacker时要先配好node环境
微信小程序数据包文件路径为:WeChat Files\Applet
用解密工具解密
复制到工具wxpUnpacker路径下
执行命令,反编译结果保存在当前工具文件夹内
node .\wuWapkg.js .\wxf0f5de32acf30ecf.wxapkg
2、小锦哥小工具
3、unveilr
再来看看主包和分包,我们打开一个用户量大一点的小程序
可以看到有主包也有分包,针对不同功能,要把所有页面触发才能获得完整的包
对于多个包用unveilr工具进行反编译
.\unveilr.exe "小程序数据包文件路径"
解密结果
4、微信开发者工具
用一个小程序当一个学习的例子
在导入之前我们先用unveilr工具进行反编译
点击导入,选择包含解密后小程序数据包的文件,大部分小程序都是Node.js开发的
我们需要重点关注的.js文件(代码逻辑),和.json(存储索引)
参考资料
[1] http://www.xiaodi8.com/
[2] https://blog.csdn.net/qq_47493625/article/details/135351395