吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6295|回复: 71
收起左侧

[Web逆向] 某e通的m3u8文件解密

  [复制链接]
熊猫拍板砖 发表于 2023-9-14 16:16
菜鸡一个,研究某利威失败,就找个网站研究一下重拾信心,然后看到有人说某e通的m3u8加密了,然后就研究了一下
感觉没有任何难度
直接搜索 [xiaoe] 就可以找到解密的位置,我就不贴图了

跟进去之后有个L函数,调试了一下,32位,应该是md5,那就随便找个md5调戏一下,结果一致,
那就复制粘贴,本地调戏,把L替换成md5,完事,然后发现最后面的 k.decode 要解码 u,感觉u像base64
然后本地调戏和他k.decode对比下,一样,那就替换成 atob 搞定

懒汉一个,就不贴图了

appid 是网址最前面那个app开头的字符串

注意,仅做学习使用,不要乱搞,乱搞我不负责


function r(r, n) {
    var t = (65535 & r) + (65535 & n);
    return (r >> 16) + (n >> 16) + (t >> 16) << 16 | 65535 & t;
}

function n(n, t, e, u, o, c) {
    return r((f = r(r(t, n), r(u, c))) << (a = o) | f >>> 32 - a, e);
    var f, a;
}

function t(r, t, e, u, o, c, f) {
    return n(t & e | ~t & u, r, t, o, c, f);
}

function e(r, t, e, u, o, c, f) {
    return n(t & u | e & ~u, r, t, o, c, f);
}

function u(r, t, e, u, o, c, f) {
    return n(t ^ e ^ u, r, t, o, c, f);
}

function o(r, t, e, u, o, c, f) {
    return n(e ^ (t | ~u), r, t, o, c, f);
}

function c(n) {
    for (var c = 1732584193, f = -271733879, a = -1732584194, i = 271733878, h = 0; h < n.length; h += 16) {
        var l = c, v = f, g = a, d = i;
        c = t(c, f, a, i, n[h + 0], 7, -680876936), i = t(i, c, f, a, n[h + 1], 12, -389564586),
            a = t(a, i, c, f, n[h + 2], 17, 606105819), f = t(f, a, i, c, n[h + 3], 22, -1044525330),
            c = t(c, f, a, i, n[h + 4], 7, -176418897), i = t(i, c, f, a, n[h + 5], 12, 1200080426),
            a = t(a, i, c, f, n[h + 6], 17, -1473231341), f = t(f, a, i, c, n[h + 7], 22, -45705983),
            c = t(c, f, a, i, n[h + 8], 7, 1770035416), i = t(i, c, f, a, n[h + 9], 12, -1958414417),
            a = t(a, i, c, f, n[h + 10], 17, -42063), f = t(f, a, i, c, n[h + 11], 22, -1990404162),
            c = t(c, f, a, i, n[h + 12], 7, 1804603682), i = t(i, c, f, a, n[h + 13], 12, -40341101),
            a = t(a, i, c, f, n[h + 14], 17, -1502002290), c = e(c, f = t(f, a, i, c, n[h + 15], 22, 1236535329), a, i, n[h + 1], 5, -165796510),
            i = e(i, c, f, a, n[h + 6], 9, -1069501632), a = e(a, i, c, f, n[h + 11], 14, 643717713),
            f = e(f, a, i, c, n[h + 0], 20, -373897302), c = e(c, f, a, i, n[h + 5], 5, -701558691),
            i = e(i, c, f, a, n[h + 10], 9, 38016083), a = e(a, i, c, f, n[h + 15], 14, -660478335),
            f = e(f, a, i, c, n[h + 4], 20, -405537848), c = e(c, f, a, i, n[h + 9], 5, 568446438),
            i = e(i, c, f, a, n[h + 14], 9, -1019803690), a = e(a, i, c, f, n[h + 3], 14, -187363961),
            f = e(f, a, i, c, n[h + 8], 20, 1163531501), c = e(c, f, a, i, n[h + 13], 5, -1444681467),
            i = e(i, c, f, a, n[h + 2], 9, -51403784), a = e(a, i, c, f, n[h + 7], 14, 1735328473),
            c = u(c, f = e(f, a, i, c, n[h + 12], 20, -1926607734), a, i, n[h + 5], 4, -378558),
            i = u(i, c, f, a, n[h + 8], 11, -2022574463), a = u(a, i, c, f, n[h + 11], 16, 1839030562),
            f = u(f, a, i, c, n[h + 14], 23, -35309556), c = u(c, f, a, i, n[h + 1], 4, -1530992060),
            i = u(i, c, f, a, n[h + 4], 11, 1272893353), a = u(a, i, c, f, n[h + 7], 16, -155497632),
            f = u(f, a, i, c, n[h + 10], 23, -1094730640), c = u(c, f, a, i, n[h + 13], 4, 681279174),
            i = u(i, c, f, a, n[h + 0], 11, -358537222), a = u(a, i, c, f, n[h + 3], 16, -722521979),
            f = u(f, a, i, c, n[h + 6], 23, 76029189), c = u(c, f, a, i, n[h + 9], 4, -640364487),
            i = u(i, c, f, a, n[h + 12], 11, -421815835), a = u(a, i, c, f, n[h + 15], 16, 530742520),
            c = o(c, f = u(f, a, i, c, n[h + 2], 23, -995338651), a, i, n[h + 0], 6, -198630844),
            i = o(i, c, f, a, n[h + 7], 10, 1126891415), a = o(a, i, c, f, n[h + 14], 15, -1416354905),
            f = o(f, a, i, c, n[h + 5], 21, -57434055), c = o(c, f, a, i, n[h + 12], 6, 1700485571),
            i = o(i, c, f, a, n[h + 3], 10, -1894986606), a = o(a, i, c, f, n[h + 10], 15, -1051523),
            f = o(f, a, i, c, n[h + 1], 21, -2054922799), c = o(c, f, a, i, n[h + 8], 6, 1873313359),
            i = o(i, c, f, a, n[h + 15], 10, -30611744), a = o(a, i, c, f, n[h + 6], 15, -1560198380),
            f = o(f, a, i, c, n[h + 13], 21, 1309151649), c = o(c, f, a, i, n[h + 4], 6, -145523070),
            i = o(i, c, f, a, n[h + 11], 10, -1120210379), a = o(a, i, c, f, n[h + 2], 15, 718787259),
            f = o(f, a, i, c, n[h + 9], 21, -343485551), c = r(c, l), f = r(f, v), a = r(a, g),
            i = r(i, d);
    }
    return [ c, f, a, i ];
}

function f(r) {
    for (var n = "", t = 0; t < 4 * r.length; t++) n += "0123456789abcdef".charAt(r[t >> 2] >> t % 4 * 8 + 4 & 15) + "0123456789abcdef".charAt(r[t >> 2] >> t % 4 * 8 & 15);
    return n;
}

function a(r) {
    for (var n = 1 + (r.length + 8 >> 6), t = new Array(16 * n), e = 0; e < 16 * n; e++) t[e] = 0;
    for (e = 0; e < r.length; e++) t[e >> 2] |= (255 & r.charCodeAt(e)) << e % 4 * 8;
    return t[e >> 2] |= 128 << e % 4 * 8, t[16 * n - 2] = 8 * r.length, t;
}

function hexMD5(r){
    return f(c(a(r)));
}

function Strdecode(t) {
    var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "appbgzjnopv1917";
    e = hexMD5(e);
    var r = 3
        , n = +(t = decodeURIComponent(t)).substr(-r)[1]
        , i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
        , a = i.split("").reduce((function(t, e, r) {
            return t[e] = r,
                t
        }
    ), {})
        , o = t[0]
        , s = i.indexOf(o)
        , c = hexMD5(e + o).substr(s % 8, s % 8 + 7).split("").map((function(t) {
            return t.charCodeAt()
        }
    ));
    t = t.substr(1, t.length - r - 1);
    for (var u = "", l = 0, f = 0, h = 0; h < t.length; h++) {
        for (f = f == c.length ? 0 : f,
                 l = a[t[h]] - f - c[f++]; l < 0; )
            l += 65;
        u += i[l],
        n && (u += t.slice(h + 1, h + 1 + n),
            h += n)
    }

    return atob(u)
}

function Decode(encodeString,appid){
    return Strdecode(encodeString.substring("[xiaoe]".length,encodeString.length),appid)
}

免费评分

参与人数 13威望 +1 吾爱币 +30 热心值 +11 收起 理由
shishangyayi + 1 我很赞同!
涛之雨 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
milanduo + 1 + 1 热心回复!
fjk2001 + 1 热心回复!
redme + 1 + 1 热心回复!
Bob5230 + 1 + 1 谢谢@Thanks!
furry + 1 + 1 我很赞同!
kkik123 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
xxlq123 + 1 谢谢@Thanks!
wenzijun + 1 + 1 热心回复!
w28768266 + 1 + 1 谢谢@Thanks!
yjn866y + 1 + 1 谢谢@Thanks!
xifangczy + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 熊猫拍板砖 发表于 2023-9-15 00:19
qnmdwapj 发表于 2023-9-15 00:16
虽然不明所以,但看起来很有用的样子~~

我怎么感觉你这个用户名有点针对性呢
kunkun520 发表于 2023-9-14 17:31
要不继续研究某利威,我也被难住了,没找到相似的案例
 楼主| 熊猫拍板砖 发表于 2023-9-14 20:49
飘渺云水间 发表于 2023-9-14 18:16
大佬不需要看,小白看不懂!

看不懂就别看了,没必要,有这时间搞两把游戏多舒坦
 楼主| 熊猫拍板砖 发表于 2023-9-16 21:45
本帖最后由 熊猫拍板砖 于 2023-9-16 21:57 编辑
w460270218 发表于 2023-9-16 20:56
你都没试就说不可能,我这边亲测是可以下载的。

ts文件本来就是流媒体文件,还有,ts文件还要分加密和不加密两种,你改成m3u8就解密了,那可是真牛
m3u8文件只是存放ts链接的,所以,为啥要多此一举?你直接下载ts文件就行,为啥还要改名?
还有,你那下载是一个ts切片,其它的呢?你要把所有的视频播放一遍才能找到全部ts文件切片
yjn866y 发表于 2023-9-14 16:47
你辛苦了,,,,
baliao 发表于 2023-9-14 17:40
感谢分享!
cbkxh 发表于 2023-9-14 17:43
看不太懂啊,谢谢分享
laustar 发表于 2023-9-14 18:14
谢谢@Thanks!
飘渺云水间 发表于 2023-9-14 18:16
cbkxh 发表于 2023-9-14 17:43
看不太懂啊,谢谢分享

大佬不需要看,小白看不懂!

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
szxizhijiang + 1 + 1 用心讨论,共获提升!

查看全部评分

lyd2199 发表于 2023-9-14 18:27
你辛苦了
lieber 发表于 2023-9-14 19:42
表示完全看不懂
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 10:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表