BurpSuite抓手机端小程序包

一、前言

本篇文章利用BurpSuite + pixel4,对羊了羊小程序进行抓包和改包,尝试通关羊了羊。参考了网上的相关文章,但大部分都是失效的,已经被游戏方修复了。


嗯,这应该就是一篇水文,望海涵。

二、准备工作

2.1 BurpSuite证书配置

我这里直接讲述怎么在手机上配置BurpSuite证书。

在[上一篇博客](https://gal2xy.github.io/2023/07/15/Pixel4刷Lineage OS/#四、添加BurpSuite证书)中,讲述了一种将证书放置系统证书目录下。由于证书配置不正确的原因(但后面想了想,估计是因为手机时间的问题导致https连接失败),脑子一抽经,将手机刷机回Android10了。然后发现之前的方法不能使用了,因为adb root在这部手机系统上被限制了。于是跟着报错信息,一路查找,找了多个工具(尝试了adb_rootadbd-Insecuremagisk-overlayfsRootExplorermovecert),终于有一个有效的有用了插件AlwaysTurstUserCerts。之后在手机的设置->安全->加密与凭证->从存储设备安装,即普通的用户证书安装流程。然后根据证书的哈希值在系统证书目录下查找,惊奇的发现存在了!而且RootExplorer工具中也允许挂载系统证书目录为可读可写了!

2.2 Edxposed和JustTrustMe安装

证书配置完后,还需要在magisk上安装JustTrustMe插件来绕过SSL pinning,在Edxposed(其他xposed都行)上启动,作用域选择微信或者QQ。

2.3 手机代理到电脑上

这一步需要手机和电脑处在同一网络中,查看电脑ip,然后对手机连接的wife进行代理设置,代理ip为电脑ip,端口只要是没被占用的就行。

以上准备工作不想着重讲述,安装配置的事情都在网络上有参考文章。

三、微信小程序羊了羊抓包改包

同样的小程序在QQ上抓包比较顺利,但在微信上时网络就巨卡了。目前不知道什么原因。所以这里以QQ上的羊了羊作为例子讲解抓包改包。

首先我们先进入到羊了羊的开始游戏界面,先不进行拦截,点击挑战进入消消乐界面,我们可以看到许多流量包,其中URL为/sheep/v1/game/map_info_ex这个流量包,通过名字就可以知道是获取地图的。

在相应的响应流量包中,map_md5就是第一、二关的地图的md5值了。至于map_seed就是用于生成地图的初始种子,但我们并不知道生成算法。


既然map_md5是第一、二关的地图的md5值,那将第二个md5值覆盖为第一个md5值不就行了?!

尝试了一下,开启拦截,等到出现这个请求包,右键拦截->响应此请求,继续放行,等到这个响应到来后,篡改map_md5,再放行,确实可以,但缺点是通关了不会在名片中显示。

pixel4没有截屏功能!?)


当然,map_seed也不是改了没用的,因为毕竟是用初始种子进行加密得到的地图,而这些加密,大概率是会用到位运算的,比如什么左移、右移。假设是这样,我们将种子变得简单点不就行了!

尝试将map_seed全改为0,第二关的地图如下所示

然后还是有点难,因为虽然看着整齐,但是个数不是3的倍数。

四、总结

在寻找关键请求时,我们可以先不进行拦截,先分析一遍整个请求响应的流量包,其中一些带参数的请求可能比较关键。然后我们可以尝试开启拦截,一个接一个的放行,如果手机端因某个请求流量包的放行而触发了动作,那么可以肯定这个请求是关键的。找到关键请求之后,我们可以修改这个请求的参数或者拦截对应的响应,进一步深入学习。


BurpSuite抓手机端小程序包
http://example.com/2023/07/21/Android安全/BurpSuite抓小程序包/
作者
gla2xy
发布于
2023年7月21日
许可协议