【问题标题】:Can some help me with deciphering the You tube signature for censored videos有人可以帮我破译审查视频的 You Tube 签名吗
【发布时间】:2016-05-23 15:25:18
【问题描述】:

对于 vevo 等经过审查的视频,you tube 使用签名密码对其签名进行解码。你可以参考这个链接来理解我在说什么。

YouTube signature decipher with an working example for VB.Net

请打开并阅读以上链接以理解问题。

但是最近youtube改了js文件改了密码链接-

https://s.ytimg.com/yts/jsbin/player-en_US-vflGaNMBw/base.js

找到 e.sig 后,我看到了 nr 函数

nr=function(a){
  a=a.split("");
  mr.qv(a,69);mr.qv(a,26);mr.NC(a,38);mr.qv(a,8);mr.qv(a,22);mr.y9(a,1);
  return a.join("")

Java 脚本不是我的母语,所以我无法理解这个功能。

但是,在看到下载链接后,我可以从在线 youtube 视频下载器中提供加密和解密的签名。

加密签名

-3E2D315C8113141CBBA08986DC4898B7190B7278.6349B6F283A287624084AF146535A2FEF0596458

解密的签名

097F54F65B8282E9E1C04DB6235C18C4DF52176B.0341321C5E755A7B7151ADABEDCBC1F5B0592A47

【问题讨论】:

  • 我想你可以先找到更多关于 mr 和这两个字母函数函数的信息......它们似乎都接收到 a 数组,和一个 int 参数,并且必须对其进行处理。尝试在缩小的源中找到这些功能...假设您想在自定义客户端上重现此功能,您可能会找到一些需要做什么的线索...编辑:如果您需要帮助计算它们,请在此处发布功能出... ;)
  • @joaoBeno js文件功能齐全

标签: javascript encryption youtube


【解决方案1】:

所以,函数

nr=function(a){
    a=a.split("");
    mr.qv(a,69);mr.qv(a,26);mr.NC(a,38);mr.qv(a,8);mr.qv(a,22);mr.y9(a,1);
    return a.join("")
}

只要把a分解成一个字符数组,就有这些函数:

 var mr = {
     qv: function(a, b) {
         var c = a[0];
         a[0] = a[b % a.length];
         a[b] = c
     },
     y9: function(a, b) {
         a.splice(0, b)
     },
     NC: function(a) {
         a.reverse()
     }
 };
  • qv: 它接收a 数组,将它的第一个值存储在c var 中,然后将第一个值设置为b 值和长度的模,然后设置@987654326 a 数组上的 @ 值作为 c 值。
  • y9: 它获取a 数组并从0 开始删除b 元素...基本上删除函数中数组的第一个元素...
  • NC:只需还原 a 数组即可。

我认为您需要跟踪 qv 对您的字符串所做的更改...尝试看看您是否可以在 Firefox 的调试器上设置断点(我不会为此推 Chrome...:D)看看它最终是否得到了你的未加密密钥,或者里面是否有更多的代码......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    • 2016-07-25
    • 1970-01-01
    相关资源
    最近更新 更多