有些人可以帮我解读被审查视频的You tube签名

时间:2016-05-23 15:25:18

标签: javascript encryption youtube

对于像vevo这样的删失视频,你使用签名密码对其签名进行解码。你可以参考这个链接来了解我的意思。

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视频下载器中提供加密和解密的sigatures。

加密签名

  

-3E2D315C8113141CBBA08986DC4898B7190B7278.6349B6F283A287624084AF146535A2FEF0596458

解密签名

  

097F54F65B8282E9E1C04DB6235C18C4DF52176B.0341321C5E755A7B7151ADABEDCBC1F5B0592A47

1 个答案:

答案 0 :(得分:0)

所以,功能

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值的模数和长度,然后将b数组上的a值设置为c值。
  • y9:它获取a数组并从0开始删除b元素...基本上删除函数中数组的第一个元素... < / LI>
  • NC:只需还原a数组。

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