关于西瓜视频加密算法的总结

前段时间遇到一个视频加密的网站。西瓜视频

首先先通过抓包软件抓取接口,一般抓取的接口都是json,

接口就不给你们写了,自己可以用抓包软件抓取,,

我们请求URL,记得加cookie 得到结果如下图,只有一部分

可以看出视频的地址是

但不是真实的地址。真实地址是通过加密算法算出来,

以上就是视屏的真实地址,但是他有以上好几个参数获取

1首先要获取视频的唯一id、

可以在以上获取

tag_id 就是视屏的唯一id

2,然后获取r值(r值就是随机数去后面的)

r = str(random.random())[2:]

然后计算s值

# 计算s值

url = 'http://i.snssdk.com/video/urls/v/1/toutiao/mp4/%s' % vid
n = urlparse(url).path + '?r=' + r
sb = bytes(n, encoding="utf8")
c = binascii.crc32(sb)
调用函授计算s值
def right_shift(self, val, n):
   return val >> n if val >= 0 else (val + 0x100000000) >> n
s = self.right_shift(c, 0)

计算完成然后凭借地址进行请求

# 拼接url
url = url + '?r=%s&s=%s' % (r, s)

请求的地址如下

我们找不到视频地址

他的视频地址进行base64加密了,

最后一步匹配地址然后进行解密就OK了

解密得到真实的地址,然后我们就可以下载了。。。。。

猜你喜欢

转载自blog.csdn.net/yang_bingo/article/details/83058946