经过分析发现:ctime为当前时间,可以用python实现
vid, pid vurl pwd(为时间戳)都是变化的(剩下的是固定值)
vurl是由:网址+sdtfrom+guid+vkey+platform拼接而来,其中只有网址(不同视频网址不同)和vkey是变化的
2:先分析vurl(它最难),只有找到了vkey和网站的变化即可
发现vkey是playvinfo这个网站返fvkey,网站是这个playvinfo返回数据的fn
3:现在的问题变化为拿到playvifo这个网站
发现这个网站变化的有3个:ckey,fiowid,vid, 在initiator里面开始找
发现fiowid其实就是pid, vid是网站的一部分,可以切割
实际上只处理ckey和fiowid就可以了
4:发现ckey是通过一个函数生成的
进去这个函数
6:发下它返回了一个me函数
点进me函数里面看看
7:发现它为aes加密
也可以点击进去看看
8:在python里面实现aes加密
aes加密搞定ckey搞定
9:看看明文是怎么来的
wn(加密的明文)dt:| qn:经过算法写成 gn:通过拼接
10:搞出qn的算法在pytho面实现
gn是 vid+时间戳+mg3c3b04ba(固定)+appver+guid'+platform(固定)+网站(固定)组成
vid是网站注册的一部分可以直接切割网站hq
到这里,aes加密和它明文传的完全搞定 ckey搞定
11:搞fiowid,和找ckey的方法一样
12:直接使用js代码实现fiowid
13:变量全部拿完,可以给playvinfo发请求,拿到它返回的值
成功拿到了返回值,拿到了fn 和vkey
14:问题回到了最初
ctime:
vid:通过切割网站获取
pwd:时间戳
pid:和fiowid一样直接把playvinfo这个网站通过算法得到的直接使用
vurl:中的变量只有:网站和vkey,这2个在pialvinfo网站中的返回值都有
15:所以变量问题都解决,接下来就是代码的书写,这个交给大家自己完成