[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linterna-magica-commit] [413] Fixed youtube-dl decryption code.
From: |
Ivaylo Valkov |
Subject: |
[linterna-magica-commit] [413] Fixed youtube-dl decryption code. |
Date: |
Sun, 28 Jul 2013 17:48:49 +0000 |
Revision: 413
http://svn.sv.gnu.org/viewvc/?view=rev&root=linterna-magica&revision=413
Author: valkov
Date: 2013-07-28 17:48:48 +0000 (Sun, 28 Jul 2013)
Log Message:
-----------
Fixed youtube-dl decryption code. Tested against youtube-dl. Shold fix bugs
#39402. See r408 and r406.
Revision Links:
--------------
http://svn.sv.gnu.org/viewvc/?view=rev&root=linterna-magica&revision=408
http://svn.sv.gnu.org/viewvc/?view=rev&root=linterna-magica&revision=406
Ticket Links:
------------
http://savannah.gnu.org/bugs/?39402
Modified Paths:
--------------
trunk/src/lm_site_youtube.js
Modified: trunk/src/lm_site_youtube.js
===================================================================
--- trunk/src/lm_site_youtube.js 2013-07-28 11:45:08 UTC (rev 412)
+++ trunk/src/lm_site_youtube.js 2013-07-28 17:48:48 UTC (rev 413)
@@ -286,87 +286,85 @@
sig = sig[0].replace(/s=/, '');
this.log("DEBUG: sig3: "+sig+" len "+sig.length);
+ sig = sig.split("");
// Borrowed from youtube-dl (Public domain)
- l = sig.length;
-
- this.log("DEBUG sig len "+l);
+ if (l == 79)
+ {
+ sig = sig[54] + sig.slice(55,78).reverse().join("")+
+ sig[39] + sig.slice(40,54).reverse().join("") +
+ sig[78] + sig.slice(35,39).reverse().join("") +
+ sig[0] + sig.slice(30,34).reverse().join("") +
+ sig[34] + sig.slice(10,29).reverse().join("") +
+ sig[29] + sig.slice(1,9).reverse().join("") + sig[9];
+ }
if (l == 81)
{
- sig = sig.charAt(6) + sig.slice(3,6) + sig.charAt(33) +
- sig.slice(7,24) + sig.charAt(0) + sig.slice(25, 33) +
- sig.charAt(2) + sig.slice(34,53) + sig.charAt(24) +
- sig.slice(54,81);
+ sig = sig[56] + sig.slice(57,80).reverse().join("") +
+ sig[41] + sig.slice(42,56).reverse().join("") +
+ sig[80] + sig.slice(35,41).reverse().join("") +
+ sig[0] + sig.slice(30,34).reverse().join("") +
+ sig[34] + sig.slice(10,29).reverse().join("") +
+ sig[29] + sig.slice(1,9).reverse().join("") +
+ sig[9];
}
else if (l == 82)
- {
- this.log("DEBUG "+typeof(sig.slice(67,79)));
- sig = sig.charAt(36) +
- sig.slice(67,79).split('').reverse().join('') +
- sig.charAt(81) +
- sig.slice(40,66).split('').reverse().join('') +
- sig.charAt(33) +
- sig.slice(36,39).split('').reverse().join('') +
- sig.charAt(40) + sig.charAt(35) + sig.charAt(0) +
- sig.charAt(67) +
- sig.slice(0,32).split('').reverse().join('') +
sig.charAt(34);
+ {
+ sig = sig[36] +
+ sig.slice(68,80).reverse().join('') +
+ sig[81] +
+ sig.slice(41,67).reverse().join('') +
+ sig[33] +
+ sig.slice(37,40).reverse().join('') +
+ sig[40] + sig[35] + sig[0] +
+ sig[67] +
+ sig.slice(1,33).reverse().join('') + sig[34];
}
else if (l == 83)
{
- sig = sig.charAt(6) + sig.slice(3,6) +
- sig.charAt(33) + sig.slice(7,24) +
- sig.charAt(0) + sig.slice(25,33) +
- sig.charAt(53) + sig.slice(34,53) +
- sig.charAt(24) + sig.slice(54,83);
+ sig = sig[6] + sig.slice(3,6).join("") +
+ sig[33] + sig.slice(7,24).join("") +
+ sig[0] + sig.slice(25,33).join("") +
+ sig[53] + sig.slice(34,53).join("") +
+ sig[24] + sig.slice(54,83).join("");
}
else if (l == 84)
{
- sig = sig.slice(36,83).split('').reverse().join('')+
- + sig.charAt(2) +
- sig.slice(26,35).split('').reverse().join('') +
- sig.charAt(3) +
- sig.slice(1,25).split('').reverse().join('') +
- sig.chaAt(26);
-
+ sig = sig.slice(37,84).reverse().join('')+
+ + sig[2] +
+ sig.slice(27,36).reverse().join('') +
+ sig[3] +
+ sig.slice(4,26).reverse().join('') +
+ sig[26];
}
else if (l == 85)
{
- sig = sig.charAt(76) +
- sig.slice(76,82).split('').reverse().join('') +
- sig.charAt(83) +
- sig.slice(60,75).split('').reverse().join('') +
- sig.charAt(0) +
- sig.slice(50,59).split('').reverse().join('') +
- sig.charAt(1) +
- sig.slice(2,49).split('').reverse().join('');
+ sig = sig.slice(2,8).join("") +
+ sig[0] + sig.slice(9,21).join("") + sig[65] +
+ sig.slice(22,65).join("") + sig[84] +
+ sig.slice(66,82).join("") + sig[21];
}
else if (l == 86)
{
- sig = sig.slice(2,63) + sig.charAt(82) +
- sig.slice(64,82) + sig.charAt(63);
-
+ sig = sig.slice(2,63).join("") + sig[82] +
+ sig.slice(64,82).join("") + sig[63];
}
else if (l == 87)
{
- sig = sig.charAt(62) +
- sig.slice(62,82).split('').reverse().join('') +
- sig.charAt(83) +
- sig.slice(52,61).split('').reverse().join('') +
- sig.charAt(0) +
- sig.slice(2,51).split('').reverse().join('');
+ sig = sig.slice(4,23).join("") + sig[86] +
sig.slice(24,85).join("");
}
else if (l == 88)
{
- sig = sig.charAt(48) +
- sig.slice(67,81).split('').reverse().join('') +
- sig.charAt(82) +
- sig.slice(62,66).split('').reverse().join('') +
- sig.charAt(85) +
- sig.slice(48,61).split('').reverse().join('') +
- sig.charAt(67) +
- sig.slice(12,47).split('').reverse().join('') +
- sig.charAt(3) +
- sig.slice(3,11).split('').reverse().join('') +
- sig.charAt(2) + sig.charAt(12);
+ sig = sig[48] +
+ sig.slice(68,82).reverse().join('') +
+ sig[82] +
+ sig.slice(63,67).reverse().join('') +
+ sig[85] +
+ sig.slice(49,62).reverse().join('') +
+ sig[67] +
+ sig.slice(13,48).reverse().join('') +
+ sig[3] +
+ sig.slice(4,12).reverse().join('') +
+ sig[2] + sig[12];
}
sig = "signature="+sig;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [linterna-magica-commit] [413] Fixed youtube-dl decryption code.,
Ivaylo Valkov <=