记录下某CDX网校的m3u8 Key解密过程

(编辑:jimmy 日期: 2024/10/30 浏览:2)

WuJ1n9 发表于 2022-7-28 17:23
没有专门文章,我是根据发你的帖子总结的,实测可以下载51CTO
把变量改成for循环里“x.manifextLoadingT ...

[JavaScript] 纯文本查看 复制代码
                    for (var n in i && (e.manifestLoadingTimeOut = i,                    e.levelLoadingTimeOut = i,                    e.fragLoadingTimeOut = i),                    s._options.liveSyncDurationCount && (e.liveSyncDurationCount = s._options.liveSyncDurationCount),                    s._options.defaultBandwidth && (e.defaultBandwidth = s._options.defaultBandwidth),                    s._options.isLive && (s._options.hlsFrameChasing && (e.hlsFrameChasing = s._options.hlsFrameChasing),                    s._options.chasingFirstParagraph && (e.chasingFirstParagraph = s._options.chasingFirstParagraph),                    s._options.chasingSecondParagraph && (e.chasingSecondParagraph = s._options.chasingSecondParagraph),                    s._options.chasingFirstSpeed && (e.chasingFirstSpeed = s._options.chasingFirstSpeed),                    s._options.chasingSecondSpeed && (e.chasingSecondSpeed = s._options.chasingSecondSpeed)),                    s._options.nudgeMaxRetry && (e.nudgeMaxRetry = s._options.nudgeMaxRetry),                    s._options.maxMaxBufferLength && (e.maxMaxBufferLength = s._options.maxMaxBufferLength),                    s._options.maxBufferSize && (e.maxBufferSize = s._options.maxBufferSize),                    s._options.fragLoadingRetryDelay && (e.fragLoadingRetryDelay = s._options.fragLoadingRetryDelay),                    s._options.maxBufferLength && (e.maxBufferLength = s._options.maxBufferLength),                    s._options.hlsBandWidthUpCacheTime && (e.abrBandWidthUpCacheTime = s._options.hlsBandWidthUpCacheTime),                    s._options.seamlessHandover && (e.seamlessHandover = s._options.seamlessHandover),                    s._options.accessKeyId && (e.accessKeyId = s._options.accessKeyId),                    s._options.accessKeySecret && (e.accessKeySecret = s._options.accessKeySecret),                    s._options.securityToken && (e.securityToken = s._options.securityToken),                    s._options.app && (e.app = s._options.app),                    s._options.stream && (e.stream = s._options.stream),                    s._options.domain && (e.domain = s._options.domain),                    o && (e._sce_dlgtqredxx = o),                    e.enableWorker = s._options.enableWorker,                    e.debug = s._options.debug,                    s._stopLoadAsPaused = s._options.hlsOption.stopLoadAsPaused,                    s._options.hlsOption)                        e[n] = s._options.hlsOption[n];                    b.IS_IE11 && o && (e.enableWorker = !1),                    s._hls = new Hls(e),                    u(s, s._hls),                    s._setLevels(),                    s._loadSourced = !1,                    s._hls.attachMedia(s.tag),                    s._hls.on(Hls.Events.FRAG_PARSING_USERDATA, function(e, t) {                        t && t.dataContent && t.dataContent.length && s.trigger(_.Player.SeiFrame, t.dataContent)                    }),

改成  btoa(String.fromCharCode.apply(null, new Uint8Array(e._sce_dlgtqredxx)))
对吧,返回的还是空字符串呢。