支付宝小程序反编译流程
前言
在平常测试微信小程序的时候,会对微信小程序进行一下反编译,看看里面有没有泄露敏感信息,如小程序的key、secret、敏感接口,硬编码等。针对一些金融类的小程序,可能还要对其反编译后获取源码,定位加解密算法,配着脚本实现渗透测试。这块相关的知识,网上有比较多的案例,就不细说了。
前段时间某运营商,提出针对支付宝中小程序的渗透测试,就在想能不能把支付宝中小程序像微信一样反编译,看看有没有敏感信息泄露。网上找了一圈,关于支付宝小程序反编译案例较少,参考了网上一些教程,简单记录一下支付宝小程序反编译的过程。。。
前期准备
- 已经root过的手机(这块模拟器也行-模拟器默认支持支付宝)
- 安卓adb(安装官网下载最新版本的 Platform Tools-包含 ADB)
定位源码包位置
1、连上手机以后Windows进入adb shell然后su切换为管理员权限
adb shell && su |
2、然后直接进入支付宝小程序存放目录
cd /data/data/com.eg.android.AlipayGphone/files/nebulaInstallApps/ |
然后,就可以看到该目录下,对应的小程序列表
可以按照时间排序,查看最新打开的支付宝小程序
ls -lt |
排在最上面的就是最近打开的小程序,从上往下按时间降序,一般都是图中一长串数字的.
【*】6开头短数字的目录我看的是支付宝加载的服务包。
3、然后随便进入一个小程序目录查看
cd 6d478a9eea58c23d3de0a047a9534d70 |
这个tar文件就是小程序的源码包,然后让这个文件复制到sdcard目录
cp 2021004100610928.tar /sdcard/ |
然后直接adb pull将源码包导出来
adb pull /sdcard/2021004100610928.tar |
导出后直接解压文件就可以查看源码了
最终导出来之后效果图如下
3、小程序源码使用的是js,而通常会加密、混淆等,如上图的js文件,对于我们分析会有一定的阻碍。
方法还是有的,只需要对js进行美化即可帮助我们分析,这里推荐一个js美化在线工具:
结尾
支付宝下程序源码包获取还是比较简单的。不需要像微信小程序那样解密,反编译之类的。
tar压缩文件即为小程序的源码包。这个包没有加密,使用adb pull拿出来,直接解压即可。解压后对js格式化下代码,就可以分析了。js代码没有混淆,条理很清晰
[备注]支付宝小程序抓包
在查找小程序反编译的时候,看到52pojie一篇关于小程序抓包的文章,可以参考下!