更一篇刚出炉的解析

这次的目标是aHR0cHM6Ly93d3cua2Fua2FuZXdzLmNvbS9hLzIwMjItMDItMjMvMDAzMTAwNTE3NjUuc2h0bWw=

说难不难,说简单也不简单

慢慢分析吧

首先,确定网页源码没有视频数据,那就肯定是走接口了,找找看吧。

在上图找到了目标接口和数据。

分析接口:

 

上面的参数咱们从1到6命名

参数1不知道是啥,页面源码搜不到

参数2搜到了,在页面源码,就是一个叫omsid的东西,已解决

参数3和5 固定值,一眼看出来的东西不多解释了

参数4,一眼时间戳,也不解释了

参数5,加密sign

在该接口做请求时,任何一个参数都不能缺失,否则验签失败。

我们需要解决的就是参数1  nonce  和参数5 sign

全局搜sign会比较麻烦,结果有点多 

全局搜nonce

 

在上图第三个js有两个nonce

 

 

 基本相同哈,但是这里面都没有sign,也没有看到omsid

但是在这俩地方打断点都无法调试。

搜接口吧

只有一个结果,打上断点试试

 

 直接都出来了,跟我们在前面接口看到的参数一样

按照图里的步骤可以看到下图

 

 在_getVideo方法里,获取了参数n,将osmid加入n之后又进行了操作

我们挨个看一下都是进行了什么操作

可以看到

 

其实就是之前我们nonce的其中一个,可以看到它返回一个字典过去

有时间戳,nonce,platform和version,那这个nonce我们就获取了

然后它把omsid也放进了n里面,用c.a进行操作,同理,我们看看c.a是什么

 可以看到

我们唯一不知道就是n这个字典里的排列顺序,也就不知道这个字符串组合之后是啥样的

打断点吧

第一遍执行的时候还没有获取到omsid,咱们继续就行了 

 这时候出现了omsid,咱们也看到排列顺序:

 然后

 剩下就一个问题了

什么加密。其实很简单,一眼能看出来是md5,也可以去_()校验一下

这个c方法进去就是md5。

结束。

对了,那个nonce写成定值就行了,没必要去用js生成

然后,找个靠谱的md5加密测试网站

同一条字符串我在三个网站获取了三个结果,还以为这个网站的md5是自己改了用的。差点踩大雷。

这些东西在python里也就十几行代码。用不到写js。

结束。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值