本教程只负责教学如何下视频,不负责登录破解。
流程目录:
一,浏览器chrome分析链接
二,起一个本地服务
三,本地js代理
四,player.js分析
五,获取m3u8文件以及key
六,批量下载合并ts
七,所需工具下载链接
一,16byte的key的解密过程
一,浏览器chrome分析链接
本教程基于浏览器chrome,如果没有请在页面下方下载chrome安装包,放心是官方程序。
安装好chrome,打开链接,按F12查看资源,如图所示:

可以看到,其中player.js就是我们要分析的对象,就是通过这个js来做播放的。
复制其中的代码,通过在线代码格式化网站,如https://tool.oschina.net/codeformat/js/,将代码格式化,如图:

将格式化后的代码另存为player.js,这样就得到了待分析的js文件。
二,起一个本地服务准备好player.js
后面我们会做本地代理,所以需要在本地跑一个服务,将player.js挂在服务上,这里服务我用的python的flask框架,非常简单。服务已经封装好了,直接双击run.bat就可以,无需安装python环境。上一步准备好的player.js已经放在了文件夹内。若未来player.js有更新,可以将新的直接替换进来即可。整个程序包请到最下面对应链接下载。

运行起来后,打开chrome浏览器,在地址栏内输入url: http://127.0.0.1:2333/

如果看到出现上面的返回界面,说明运行成功。
三,本地js代理
我们要分析player.js,那就需要在其中打印log,所以做代理是必不可少的步骤。注意,这一步需要安装一个代理插件,叫做resres,如图:

至于如何安装插件,百度一下即可,这一步可能需要科学上网。或者下载文章中的reres附件离线安装。安装好插件后,这一步的目的,就是让目标网站加载player.js的时候,去加载我们本地的player.js,这样我们就可以通过更改本地js的代码,来追踪debug。
上面第一栏里填写目标网站的js的url地址: .*player.polyv.net/script/player.js
第二栏里写要替换的js的url地址: http://127.0.0.1:2333/
然后保存。同时勾选下面的enable按钮。注意,上一步的本地服务要保持开启才行。
四,player.js分析
这时就可以在player.js里面做log打印了。分析过程不赘述,关键的信息有两个地方要打印,一个在onKeyLoading这个函数里,我们这需要在这里打印参数t,如下:

另一个地方需要找解密后的key,如图:

五,获取m3u8文件以及key
注意,如果更改没生效,就把本地服务重启一下,或者查看一下res插件是否勾选了enable。生效以后,刷新目标网站,查看console控制台,可以看到:

在这里,可以看到要下载的m3u8的地址baseurl,真实的key地址reluri,解密后并转化为hex的key值,以及iv值。这里key值就是解密后的值了,和baseurl一起要记录下来以备后用。特别注意,这里一个视频对应一个key,不同的网站,key是否通用需要具体情况具体分析。
六,批量下载合并ts
拿到m3u8的baseurl地址,以及解密后的key值,其实就可以自己写脚本自动化下载了。这里为了方便,使用了一个批量下载工具,已经放到了下面的链接里,叫m3u8批量下载工具。注意,下载后可能会被报毒,请加入白名单,软件本身没有毒。
使用过程:
1.打开工具,注意有的杀毒会报毒,要加入白名单,或者关闭杀毒软件。首先将上一步拿到的key填入"文件/链接"栏,如图所示。注意,第一步一定要先写key,否则会报错。复制粘贴入key值后,点击添加。

3. 点击全部开始, 工具即可自动下载并合并生成mp4文件,直到显示转码完成,执行结束。如图所示:

4.点击基本,打开当前下载目录,即下载转码好的mp4视频文件。如图所示:

此方法下载的视频即为原视频,既没有水印,清晰度又高。至此,整个流程结束。
如有任何问题,请联系微信:we_like_u
七,所需工具下载链接
1. chrome安装包:
2. 本地服务程序包
本地服务程序包3. chrome扩展reres插件离线安装包
gieocpkbblidnocefjakldecahgeeica-1.8.1-Crx4Chrome.com.zip
4.m3u8批量下载工具
M3U8批量下载工具












