前言

在平常测试微信小程序的时候,会对微信小程序进行一下反编译,看看里面有没有泄露敏感信息,如小程序的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

image.png

排在最上面的就是最近打开的小程序,从上往下按时间降序,一般都是图中一长串数字的.

【*】6开头短数字的目录我看的是支付宝加载的服务包。

3、然后随便进入一个小程序目录查看

cd 6d478a9eea58c23d3de0a047a9534d70
ls

img

这个tar文件就是小程序的源码包,然后让这个文件复制到sdcard目录

cp 2021004100610928.tar /sdcard/

然后直接adb pull将源码包导出来

adb pull /sdcard/2021004100610928.tar

导出后直接解压文件就可以查看源码了

img

image.png

最终导出来之后效果图如下

img

3、小程序源码使用的是js,而通常会加密、混淆等,如上图的js文件,对于我们分析会有一定的阻碍。

方法还是有的,只需要对js进行美化即可帮助我们分析,这里推荐一个js美化在线工具:

https://tool.lu/js/

image.png

结尾

支付宝下程序源码包获取还是比较简单的。不需要像微信小程序那样解密,反编译之类的。

tar压缩文件即为小程序的源码包。这个包没有加密,使用adb pull拿出来,直接解压即可。解压后对js格式化下代码,就可以分析了。js代码没有混淆,条理很清晰

[备注]支付宝小程序抓包

在查找小程序反编译的时候,看到52pojie一篇关于小程序抓包的文章,可以参考下!

https://www.52pojie.cn/thread-1050690-1-1.html