-
-
[原创]某东直播弹幕实时抓取
-
发表于:
2020-12-19 01:36
9587
-
这次案例用的版本是9.2的,9.2以后的版本有frida检测。
对于已经拿到sign只想看弹幕的部分直接跳到四。
用的抓包工具是HttpCanary,随便进入一间直播间,可以看到弹幕走的是websocket,携带的url参数token来自于下面post返回的结果,经过分析只有st,sign,sv三个参数会变,其余都不变。
先从sign开始入手。当时我找这个sign找了一会没找出来,由于sign会跟其它参数拼接成url,所以我就搜其它参数wifiBssid,搜出来很明显就在第一个。
这里hook这个getReportString方法,把它的调用堆栈打印出来,然后去查看。
这里我就直接贴出来了,省得大家浪费时间去找,眼尖的可以看到里面有signature,不就跟我们要的sign很像吗,这里把b方法三个参数hook打印一下,
进到signature这个方法,可以看到这只是接口,那就搜索这个类,看它在哪里被实现。
被getSignFromJni方法实现了,再深入看一下,可以看到加密过程在so里面。
这里就直接hook这个函数打印参数,多调用几次,然后跟抓到的数据做对比,看哪些参数不变。经过我的测试,这些参数不用修改,可以直接拿过来用,而且都是string类型的,也不用做什么类型转换。返回值的st,sign,sv都是组成url需要的参数,而且这里的参数v3是post的body的值。
这里就直接使用rpc进行调用就可以了,根据它的参数照搬就可以了。
结果:
上面只是拿到了sign,还得拼接url进行请求,这里就不展示了,要的参数基本都有了,其它不变的参数照搬就行,我就直接post请求拿结果了。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课