【原创】分析某动漫网站视频地址

好奇心过重的一个朋友问我这个动漫网站的播放源地址是什么,刚开始的时候我觉得那不简单吗,F12直接看network情况就可以了,不过当打开F12的时候会自动跳转到首页,这时我就想估计是某段js监控着开发者工具。

视频网站

没关系,这不影响我们后面的操作,我们打开源代码看看是什么原因导致的。

这个禁用原理是利用console打印日志的异步策略。
当使用console打印对象的时候(RegExp/Date/Array/Dom)输出的是引用,也就是说,显示到控制台上的是最新的值,而不是执行输出那一刻的值。所以每次显示的时候都会重新获取信息,如果不一致就会跳到首页。

禁用开发者工具JS

不过这不是我们研究的目的,还需要知道他的视频播放地址,我们继续看源码找到对应的HTML。

视频播放相关HTML

首先我们看到一堆播放器的参数,其中播放地址是加密的,初步的想法应该是用js生成iframe嵌套进去生成的页面。

那现在接下来要怎么做?既然开发者工具看不到network,我们就打开花瓶等其他捉包工具看网站的访问情况。这里要说明一下为什么不一开始不用花瓶,主要是因为禁用开发者工具想说一下。

好了,我们看花瓶的捉包情况。
首先有我们第一次访问的地址,其次还有一个带参数的地址,这个就是我们所需要的视频页面,里面也有我们需要的播放地址了。

花瓶抓包情况

到这里已经解决那个好奇心过重朋友的问题了,不过既然到这一步了,继续研究这个地址的生成。
上面我们看到播放器的一些参数,其中两个url地址是这样的。

第十集
原文 http://www.zzzfun.com/static/danmu/ksyun.php?kdoc?key=56418158389
密文 JTZCJTY0JTZGJTYzJTNGJTZCJTY1JTc5JTNEJTM1JTM2JTM0JTMxJTM4JTMxJTM1JTM4JTMzJTM4JTM5

第十一集
原文 http://www.zzzfun.com/static/danmu/ksyun.php?kdoc?key=56418243634
密文 JTZCJTY0JTZGJTYzJTNGJTZCJTY1JTc5JTNEJTM1JTM2JTM0JTMxJTM4JTMyJTM0JTMzJTM2JTMzJTM0

经过对比了解发现,密文前大半都是相同的而后面不同都是JTM?,所以可以推断应该是key是根据这个来生成的,然后把位置按这样的顺序对比发现,JTM?的数字/字母跟原文的key刚好是相差4,由此可以的推出key的生成规则,整个url就可以得到了。

密文对比

其实,到这里本以为要结束的,可是我手贱打开其他视频看看是不是也一样,发现尴尬的事情出来了,居然不一样。

其他视频地址

现在如果再按照上面的解密推断就比较困难了,因为地址变了、参数内容也包含有数字符号英文,这样是不是没有办法呢?那当然不会,方法还是有很多的。

首先想到前端肯定是需要解析密文让播放器识别地址的,所以可以通过浏览器调试脚本。由于这个网站禁用了开发者工具,需要把这个页面保存到本地再把跳转到首页的js删掉就可以进行调试了。

先看播放器id再去搜有用到的地方,定位到大概率是播放器初始化的函数。

逐步调试得到url解密方式,原来是用base64decode再unescape就可以得到需要的参数了。

好了,本文基本结束了,最后分析需要有耐心做任何事都需要一步一步来。

不积跬步,无以至千里;不积小流,无以成江海

你可能感兴趣的:(【原创】分析某动漫网站视频地址)