billy74 发表于 2022-12-26 17:34

M3U8 KEY解密探讨--已解决

本帖最后由 billy74 于 2023-1-9 10:58 编辑

已自行解决
感谢各位大神



这个很有意思
先上M3U8地址:
https://streamows.yunxuetang.com/orgs/yxtcon/kng/files/202005/556bed9f7b1f4588b95b768350b76d95_1121410324_720p_enc.m3u8
可以直接下载,打开发现是METHOD=AES-128,AES加密的
内容大概长这样



IV已经有了,开始找key,
key地址:https://drm.media.baidubce.com/v ... &playerId=pid-1-5-1
这个key地址需要token,来找Token 地址如下
https://api-component.yxt.com/v1/authex/bce/valid?f=https://streamows.yunxuetang.com/orgs/yxtcon/kng/files/202005/556bed9f7b1f4588b95b768350b76d95_1121410324_720p_enc.m3u8&m=job-kesfazg9e3n56xje&e=1672082481&k=abc
得到一个json
{"videoKeyId":"job-kesfazg9e3n56xje","playerId":"pid-1-5-1","encryptedVideoKey":"f07d7ccef73d053117ff6d912afd16f3"}
想必这个encryptedVideoKey应该就是KEY了,但是拿到了KEY跟IV之后怎么办呢?
如何计算出真正的私有KEY呢?


我翻找了一下js文件,得到这个,应该是算法,但是苦于看不同代码,只好来求助大神
key: "decrypt",
                value: function(e, t, i, n, r, a) {
                  var s = this._key
                      , o = e ^ s
                      , u = n ^ s
                      , d = i ^ s
                      , l = t ^ s
                      , f = undefined
                      , c = undefined
                      , h = undefined
                      , p = s.length / 4 - 2
                      , m = undefined
                      , g = 4
                      , y = this._tables
                      , _ = y
                      , v = y
                      , b = y
                      , T = y
                      , S = y;
                  for (m = 0; m < p; m++)
                        f = _ ^ v ^ b ^ T ^ s,
                        c = _ ^ v ^ b ^ T ^ s,
                        h = _ ^ v ^ b ^ T ^ s,
                        l = _ ^ v ^ b ^ T ^ s,
                        g += 4,
                        o = f,
                        u = c,
                        d = h;
                  for (m = 0; m < 4; m++)
                        r[(3 & -m) + a] = S << 24 ^ S << 16 ^ S << 8 ^ S ^ s,
                        f = o,
                        o = u,
                        u = d,
                        d = l,
                        l = f
                }
            }]),
            e
      }();
      i["default"] = o,
      t.exports = i["default"]
    }
    , {}],
    24:
希望大神能给指点一二,解密有点迷糊,光知道需要找key跟iv 然后就不知道怎么办了,还望知道的兄弟指点一二

hecoter12138 发表于 2022-12-27 13:08

billy74 发表于 2022-12-27 12:57
探讨学习,小白确实不懂这个应该如何下断分析,只是想学习这个过程

给你分析下这个帖子为啥没人解答:
1. 没CB,没诚意。就算现在CB一点用没有,但是啥都没有就给你解答估计也没啥人想做。
2. 怕侵权,不敢回复。这种课程都是有版权的,现在疫情放开,网课的时代基本结束,一些网课平台再想赚钱只能从发律师函,靠打击侵权挣钱,对于这些小视频网站来说,现在正是打击盗版侵权的好时候。
3. 分享算法之后官方修复。分析一个网站的解密算法都要费一段时间,在网站公开分享之后官方发现会修复,那又得分析一遍,因此分享算法这种事得不偿失。
4. 怕分享之后被别有用心之人拿去卖钱,被网警发现之后自己免不了是破坏计算机系统罪,搞不好要留案底,坐牢。

OVVO 发表于 2022-12-26 18:51


这个么

QAQ666 发表于 2022-12-26 18:28

hecoter12138 发表于 2022-12-26 18:48

V1lFeEsyaGJJcmRZSWlMYw==

lxyhslx 发表于 2022-12-26 19:38

学习了 感谢

dujiu3611 发表于 2022-12-26 20:31

能说一下怎么找到KEY在吗?学习学习,多谢分析

china08 发表于 2022-12-27 05:52

最近一直再研究,key和iv好找,就是后面的还没研究明白

wumark 发表于 2022-12-27 08:12

本帖最后由 wumark 于 2023-1-8 08:39 编辑


怎么找到KEY

billy74 发表于 2022-12-27 09:04

OVVO 发表于 2022-12-26 18:51
这个么

是的 大佬 就是这个 请教如何进行下载的啊

billy74 发表于 2022-12-27 09:06

hecoter12138 发表于 2022-12-26 18:48
V1lFeEsyaGJJcmRZSWlMYw==

大佬 这个是啥 私有key?看着不太像啊
页: [1] 2 3
查看完整版本: M3U8 KEY解密探讨--已解决