IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> python解密qiqiuyun(气球云)sdk并爬取其视频m3u8 -> 正文阅读

[网络协议]python解密qiqiuyun(气球云)sdk并爬取其视频m3u8

hls和m3u8概念大家先去了解一下

本文主要讲述解密过程(因为爬取的网站已经关闭,只能讲述了)

首先是主网站headers

里面关键字段timestamp 和 token

key的话调试跟踪一下很简单就能拿到

token = key +?timestamp

headers携带就行

m3u8部分:

通过https://api.xxx.com/public/getVideoToken链接访问拿到videoToken

访问https://play.qiqiuyun.net/sdk_api/play时携带videoToken并获取playlist_url

访问playlist_url获取第一层视频源,里面有几种不同的播放格式,例如高清,超高清,普清,

标注为shd,hd等

我选择了高清shd

进行访问获取到:

整个视频的切片m3u8片段,组合起来就是整个源

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:20
#EXT-X-ALLOW-CACHE:YES
#EXT-X-MEDIA-SEQUENCE:0

#EXT-X-KEY:METHOD=AES-128,URI="https://play.qiqiuyun.net/sdk_api/video/hls_clef/shd?xxxx",IV=0x847d31f581e85e7b71a4cd617fb71e49
#EXTINF:10.080,
https://xxxx-pub.pubssl.qiqiuyun.net/xxxx/xxxxx
#EXT-X-KEY:METHOD=AES-128,URI="https://play.qiqiuyun.net/sdk_api/video/hls_clef/shd?xxxx",IV=0x847d31f581e85e7b71a4cd617fb71e49
#EXTINF:10.080,
https://xxxx-pub.pubssl.qiqiuyun.net/xxxx/xxxxx

...................

发现是AES-128且有iv填充应该是aes cbc算法,然后通过EXT-X-KEY:METHOD=AES-128,URI=中的key链接拿到key以后发现是20位,iv是32位,正常应该key是16位,iv也是16位,

所以key应该是做了处理,iv也是,跟踪了一会发现,iv是锁了hex

用python 转变过来就行,转之前记得把0x删除留后面的32位

bytes.fromhex(iv)

通过hex还原到16位,拿到了iv,

尝试删除key后4位,保留前16位进行解密,

下载的m3u8进行解密视频,发现播放不了

说明key不对

去看js源码:

发现js对key做了动态处理

通过他们自己的算法把20位变成了16位

虽然很多行代码,看了思路,还是比较简单的,很容易实现

于是用python写了随机20转16,

nice没啥问题

然后下载,

进行批量下载合并,至此完成整个处理逻辑

我实现的是sdk 版本v1,

看了代码里面还有sdk v2 v3

哈哈,都差不了多少。于是登录同事账号,下载他花了999购买的怎样维系家庭课程,进行白嫖。学习学习怎样维护家庭关系。虽然还没结婚,可以提前学习学习。

还等什么,关注我,并进群,获取解密代码sososo

?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-15 18:40:09  更:2021-12-15 18:41:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 7:15:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码