我是不会改名的 发表于 2022-4-6 00:50

某浪m3u8解密简单分析

本帖最后由 我是不会改名的 于 2022-4-6 07:36 编辑

# 某浪m3u8解密简单分析

## 准备工作

M3U8批量下载器https://www.52pojie.cn/thread-1374045-1-1.html

pc浏览器一个我用的edge

抓包软件一个 我用的fiddler

基础知识https://docs.microsoft.com/zh-cn/microsoft-edge/devtools-guide-chromium/landing/

## 具体过程

### 在浏览器中调试

从已知的信息,某浪pc客户端,基本就是网页封装的。为了方便分析,想办法在浏览器中调试。先百度搜一下,pc端的地址。嗯,很好,一搜有。https://**/ep/pc/。 打开,发现会跳转到官网。https://www.*.com



为了研究怎么跳转的,先用fiddler抓下,先打开抓包软件,再次打开网站,抓包发现,js基本上是lf-cdn-tos.bytescm.com,开头,再次用浏览器打开,网站,按下F12,C+f搜索lf-cdn-tos.bytescm.com,随便选择一个右键,屏蔽域

!(https://img02-xusong.taihe.com/7A92D00B-7EB5-49EF-BCEA-2A85682DFE78.png)

先按下F12,再次打开pc网页,随便选一个js屏蔽请求,取消屏蔽域,刷新

!(https://img02-xusong.taihe.com/9715DDC3-44D6-44C1-B92B-F0BF4C760CD7.png)

随便选一个js,在源面板打开,随便下一个断点,取消上面屏蔽的js,刷新,他会停止

!(https://img02-xusong.taihe.com/66001729-B907-46B8-B305-B535ED8BC7D7.png)

看下全部js基本加载全了,回到开头,打开地址会跳转官网,那么我们就直接,c+f搜索官网,发现有一个js里面包含,源代码中打开这个js,格式化点左下角的 { },再次搜索官网,有两个结果,发现第二个附近有这样的代码



```
`var Ze = function browserRedirect() {`

​    `Object(ve.c)() === ve.a.DESKTOP || ["/ep/pc/download", "/ep/pc/oauth"].includes(location.pathname) || window.location.replace("https://www.xuelangapp.com")`

`};
```

!(https://img02-xusong.taihe.com/5F3AB7E7-8811-4D07-B595-8764922D95FC.png)

没学过js,百度搜一下 window.location.replace 发现就是页面跳转,那么就可以根据结构猜测,

大致逻辑就是判断Object(ve.c)(),是否等于 ve.a.DESKTOP,是的话就执行第一个,不是的话就执行第二个,跳转官网,直接在这下个断点,刷新,它会停在这里,在隔壁控制台,分别执行

`Object(ve.c)()`

`ve.a.DESKTOP`

获取他们的值,发现确实不相等,想办法让他们相等,最简单办法,直接就在控制台赋值*=*

!(https://img02-xusong.taihe.com/C400758C-D7F8-4D79-9EC9-EC8438B4A631.png)

但为了后续方便,选择修改替换js,在上面添加一句话,ve.a.DESKTOP=3;保存后刷新,慢慢调试,发现基本正常了,但是登录界面,又会跳回去,大致看了下,大致逻辑一样,重复上面操作,替换另一个js,刷新,就可以登录了,扫码登录,成功进入界面。很好,点击视频,它又双叒叕跳转了,又重复上述操作,替换新的js,很好终于可以播放了
https://docs.microsoft.com/zh-cn/microsoft-edge/devtools-guide-chromium/javascript/overrides

!(https://img02-xusong.taihe.com/BC23FD94-4008-491E-BC01-4B9280A70843.png)

### !(https://img02-xusong.taihe.com/B5F72807-9751-47D9-90A8-1055FDD78969.png)

![](https://img02-xusong.taihe.com/02AFF03D-1149-4902-8B14-CF8202FEF169.png)

### 解密视频



终于可以开始愉快视频的解密了, 直接先说两个结果吧。

key地址多了个token,把添加到它到m3u8里面的key地址,再打开,发现有个data,一眼很短,估计就是key,复制key和m3u8链接到下载器里面,可以下载。

!(https://img02-xusong.taihe.com/8DF6A8A4-8157-497B-9B2E-3AE2D496793A.png)

!(https://img02-xusong.taihe.com/8F260324-0EB2-48DF-ACDF-C395ED775E4B.png)

偶然发现key后面跟了两个blob地址,一眼看过去,发现就是m3u8内容和16位的key,复制key,复制m3u8地址(不是blob)到下载器,开始下载,没问题。

!(https://img02-xusong.taihe.com/D8B236C7-CCD2-4C45-895F-0467FCB48424.png)



#### **单纯想下载视频的,后面就不用看了**

看下,key文件内容,发现里面的data是加密的了,必须想办法解密,看下key的调用情况,发现关键信息在video.a600a769.chunk.js,这个js里面,搜一下key链接地址关键词jarvis,定位到这附近,随便翻翻发现有一串代码



```
var he = de.data
                                          , we = (0,
                                        De.parse)(he)
                                          , Oe = we.encData
                                          , je = we.key
                                          , Ie = we.iv
                                          , Ge = (0,
                                        Fe.default)(Oe, je, Ie);
                                        de.data = window.btoa(Ge)
                                    }
```

!(https://img02-xusong.taihe.com/5456E96A-C3BA-4AD1-9687-939137955D4E.png)



这就是关键信息了,断个点,单步调试,进入到解密函数部分

!(https://img02-xusong.taihe.com/89C71F2C-16B0-4449-AABA-5EE3F8989150.png)

解密函数就在这里了,没学过,还看不懂,直接让它运行完,在最下面断个点,继续运行,看下特征发现里面的V,就是data的内容,根据结果推测代码流程

!(https://img02-xusong.taihe.com/CC6074D0-DDAD-4AF7-8D3C-216691615085.png)

```
      var ae = V.split(":");

将V内容,:前后内容分开,创建一个二维数组

​      if (2 === ae.length) {

​          var se = ae

se为:前面的内容

​         , ue = se.substring(16);

Ue为se字符串的后十六位

​          return {

​            iv: ue,

返回iv值,ue

​            key: ue + se.substring(0, 16),

返回key,ue值+ se的前16位

​            encData: ae

返回加密key内容,:后面的字符串



​          }

​      }
```



至此,已经得到了key,iv以及加密的key,大胆猜测就是一个AES加密,尝试解密key,在这里http://tool.chacuo.net/cryptaes,和上面提到的blob里面内容对照发现完全一样,解密完成。

!(https://img02-xusong.taihe.com/2C4F444A-F84A-4CE3-B193-7BA36908D1B7.png)

那么就很清楚了,新版V3key,将解密的key和iv,以及加密后的m3u8的key放一起了,只不过绕了一下,data里面的内容分栏两部分,用:分开,前面的是key和iv的组合, iv是字符串后十六位,key是前十六位和后十六位交换位置,:面是加密的key,利用上面拿到的信息AES解密就行了。

!(https://img02-xusong.taihe.com/401BEEE8-F3B0-4BE4-9BFE-A3924DACE022.png)

avbeta 发表于 2022-4-20 17:06

szxizhijiang 发表于 2022-4-6 08:48

都是大佬,还有人会免购就下载学浪呢,个个都是人才啊

nenocn 发表于 2022-4-27 14:27

baswcss 发表于 2022-4-19 12:42
这里有详细的视频操作教程,https://pan.baidu.com/s/1mh4b8-Wt2oz8qy_KvrrgmA?pwd=1234
提取码:123 ...

学浪视频播放key解密完整教程.mp4,
这个视频得出解密结果后,后续说还要去编码,但视频后面画面就卡住了,只有声音。
我想知道怎样去编码?

kiopc 发表于 2022-4-9 11:56

有点没看懂,AES解密那部分中的密码和偏移量怎么得来的

大漠孤舟 发表于 2022-5-25 08:41

https://student-api.iyincaishijiao.com/ep/pc/login
网站打开后,登录界面,闪一下就没有了。

gigimsn 发表于 2022-4-8 07:50

李佑辰 发表于 2022-4-7 20:51
到这一步你已经块成功了 亲测教程没问题!

大神 楼主 这个 方法 绝对有效 现在卡在 抓到了 key

{"request_id":"202204062259200102081660471B9DF597","code":0,"message":"success","data":"89da2fb3ff6cf1efc1ff412074244301:XNLAmSFPoh0izsiPU0abH7zBV8MAzXiBtaxu9yVA4AA="}

可是楼主 发的解密 没弄白。解不出来 真的KEY自己也是有点笨大神 能指点一下 怎么解密出来吗?》

qzsyz 发表于 2022-4-6 06:40

厉害,高手

icjhao 发表于 2022-4-6 07:06

这个是用来破解某浪的会员还是?

1wang 发表于 2022-4-6 07:10

学到了,不错

ciker_li 发表于 2022-4-6 07:32

学习学习!

小豆丁 发表于 2022-4-6 07:42

楼主真的好强啊!                              

WYSS2545 发表于 2022-4-6 08:00

这个可以!!!谢谢大佬

God丶Z 发表于 2022-4-6 08:21

是新浪吗?

ehcapa 发表于 2022-4-6 08:23

谢谢,学习一下~

budong1682008 发表于 2022-4-6 08:30

都是大神!
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 某浪m3u8解密简单分析