使用 AsyncHttpServer + Frida 实现某宝直播 sign 参数生成

本文介绍了如何通过抓包、Jadx源码分析、Frida hook技术来定位和理解某宝直播sign参数的生成过程。通过分析找到InnerSignImpl类的关键方法getUnifiedSign,并成功构造调用,最终使用Frida将AsyncHttpServer服务注入以获取所需参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

每一个想学习的念头,都有可能是未来的你在向自己求救。

最近有个朋友需要一些某直播间关于猫砂的一些数据,于是就有了这篇文章 ~

1.小黄鸡三连击(抓包)

在这里插入图片描述
通过抓包分析先锁定 x-sign 和 x-mini-wua两个参数。

2.使用 Jadx 进行源码分析

首先搜索 x-sign 这个参数,通过搜索查看最后确定第二个搜索结果是我们想要的。

点进去,可以看到 x-sign 是从一个 Map 对象中获取的,继续看这个 Map 对象,他的生成式通过 iSign.getUnifiedSign(hashMap, hashMap2, str2, str3, z2) 这个方法生成。

此时直接在 getUnifiedSign 方法上鼠标右键跳到声明,这个时候有的小伙伴看到跳转后的代码蒙了,这是一个接口,我们要实现主动调用最起码要有个类,这可怎么整?莫慌,此时继续在这个接口类的名字上右键查找应用,可以看到有多个结果,但是看到有个 AbstractSignImpl 类实现了ISign 这个接口。在这里插入图片描述点击进去之后我们在 AbstractSignImpl 这个类中发现了 getUnifiedSign 方法,但是这个方法默认返回了 null, 此时依旧不用慌,在类名 AbstractSignImpl 继续右键查看应用,可以到看到三个结果,第一个就是当前类不用管,第二个结果对应的类中没有 getUnifiedSign 方法,在第三个结果中我们可以看到 InnerSignImpl 类继承了 AbstractSignImpl 类并重写了 getUnifiedSign 方法,可以看到 getUnifiedSign 方法实现的具体逻辑。
在这里插入图片描述

3.使用 Frida hook 分析

上面我们已经分析到 InnerSignImpl 这个类,我们现在使用 frida hook 验证我们的分析。
在这里插入图片描述
输出打印:

通过 Frida hook 我们确定 InnerSignImpl 类的 getUnifiedSign 就是需要的,至于这个方法的参数类型和具体参数内容上面截图和打印内容已经给出来了,我们现在只需要关心怎么主动调用这个方法就可以了。查看 InnerSignImpl 类发现它并没有构造方法,但是我们在 getUnifiedSign 方法中看到有个字符串内容[getUnifiedSign]sg unified sign is null, please call ISign init(),英语咱也看不懂,反正猜测就是在调用 getUnifiedSign 方法之前需要先调用 init 这个方法。
在这里插入图片描述
看来是绕不过去了,看一下 init 方法有个参数是一个 mtopsdk.mtop.global.MtopConfig 类,这个类有一个构造方法,使用 Frida hook:

输出:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cJ9LXgTm-1607355797092)(https://raw.githubusercontent.com/h1code2/picture/main/article/20201207234226.png)]
完美,这样的话等于 MtopConfig 和 InnerSignImpl 两个类我们都可以构造出来了。接下来我们直接使用 Frida 简单实现一下试试:
在这里插入图片描述
输出:

通过输出内容可以看到我们已经拿到了之前抓包需要的所有参数。

4.使用 Frida 将 AsyncHttpServer 服务注入

直接上代码好了:
在这里插入图片描述
注入:

会提示:
在这里插入图片描述
requests 通过5555端口请求参数:

开心:

最后说一下,这里只做了搜索接口的演示,其他接口都是一样的操作,如果你生成的参数有问题,多半是那个data的内容转义问题。

更多爬虫/逆向相关内容可以进球讨论.
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

h1code2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值