【问题标题】:Youtube decipher signature not working as expectedYoutube 解密签名未按预期工作
【发布时间】:2014-11-22 09:13:21
【问题描述】:

嗨,我正在尝试破译 youtube 页面中存在的签名。我将原始签名传递给下面的函数,因为它在 youtube html5player js(http://s.ytimg.com/yts/jsbin/html5player-en_US-vflr38Js6/html5player.js) 中存在。但是这个函数只是删除了第一个和最后两个字符。我是缺少任何步骤请赐教。谢谢。

var ar = {
    KF: function(a, b) {
        a.splice(0, b);
    },
    Xm: function(a) {
        a.reverse();
    },
    BT: function(a, b) {
        var c = a[0];
        a[0] = a[b % a.length];
        a[b] = c;
    }
};

function br(a) {
    a = a.split("");

    ar.BT(a, 63);
    ar.KF(a, 1);
    ar.Xm(a, 43);
    ar.BT(a, 46);
    ar.KF(a, 2);
    ar.Xm(a, 0);
    ar.KF(a, 3);
    return a.join("")
};

console.log(br("6A51A51911872F6C22D0BD925F0AC6865F8BBB63AE24.8933FFE6E311091075A664E5B940181409139CEAE0"));

原件:

6A51A51911872F6C22D0BD925F0AC6865F8BBB63AE24.8933FFE6E311091075A664E5B940181409139CEAE0

结果:

A51911872F6C22D0BD925F0AC6865F8BBB630E24.8933FFE6E3110910756664E5B940181409139CEA

预期结果如下:

8C06A0DDD566FD3C3B278CFD2BFE39AFD8A0B5C3.3AFF1E5C1C378DB9751628A61FEE0130041F556F

【问题讨论】:

    标签: javascript youtube decode encryption


    【解决方案1】:

    解密的签名是正确的。您做对了,但请始终记住使用最新算法来解密加密签名。在这里,我可以看到您正在使用旧的 HTML5 js 播放器文件。因此,如果您使用的是旧文件,那么解密后的签名将不适用于视频。

    【讨论】:

    • 嘿,谢谢你的回复。这是我在源代码中可以找到的最新的 html 播放器 js。你能告诉我新的 html5 播放器 js 是什么样的吗?
    • 错了。这是最新的文件://s.ytimg.com/yts/jsbin/html5player-en_US-vflEhuJxd/html5player.js。对于最新的 HTML5 播放器 js 文件,您已解析网页并检查网页源代码中 ytplayer.config 的 js 组件
    • 嗨,第一,我强迫 youtube 使用 html5,但 ytplayer.config 只显示 swf 文件……第二,我使用了你的新播放器,只有相同的功能……但我的视频仍然没有下载,我得到403错误空白文件
    • 我只在 localhost 中进行测试。还有其他步骤,比如添加 itag 吗?
    • 如果您遇到问题,可以在这里查看方法:github.com/bitnol/CipherAPI/blob/master/modules.php
    猜你喜欢
    • 2021-02-18
    • 2020-04-13
    • 2020-12-26
    • 2016-07-06
    • 1970-01-01
    • 2015-03-14
    • 2016-01-18
    • 2015-09-09
    • 1970-01-01
    相关资源
    最近更新 更多