对于像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
答案 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()
}
};
a
数组,将其第一个值存储在c
var上,然后将第一个值设置为b
值的模数和长度,然后将b
数组上的a
值设置为c
值。a
数组并从0开始删除b
元素...基本上删除函数中数组的第一个元素... < / LI>
a
数组。我认为您需要跟踪对您的字符串所做的更改qv
...尝试看看您是否可以在Firefox的调试器中设置断点(我不会针对此问题推动Chrome ...: D)并查看它是否最终获得了未加密的密钥,或者其中是否有更多代码......