VKApi рдХреЗ рдмрд┐рдирд╛ рдСрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рдпрд╣ рдкреГрд╖реНрда рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╡реАрдХреЗ рдСрдбрд┐рдпреЛ рдЯреНрд░реИрдХреНрд╕ рдХреЗ рдкрд╛рд░реНрд╕рд░ рдХреЗ рд▓рд┐рдП рдСрд░реНрдбрд░ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ред

рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ


рдХреНрдпрд╛ рд╡рд╣ рдкрд░рд┐рдЪрд┐рдд рд╣реИ?

https://m.vk.com/mp3/audio_api_unavailable.mp3?extra=AeL2rMfFyZzlD3HkyvfnvNvLx1KOqw5UDfuXCOTvttm4ts1OBJnYELvHyxvODI9fnM9YztD5A3iOyI14sxv2mNiXt3iTzdLInduXzvG9C2uVr3b5mezinfj2lJbpDhGYC25rDxbwsOPQmg1eu2Pbyxr3ntPowNLhDMrrDs8XnKu2sOuOyO8XzMf1otDmBtL6BNvllNjZx3aZuLHpq3aOBvvhzenJnZKTzKnMuwfKBI4TquffrtzKv2nymMyVDu1LzJnuwMLxwMm/BeTcserWlun3ExLVBG#AqSZntu 

рдпрджрд┐ рдРрд╕рд╛ рд╣реИ , рддреЛ рдЖрдкрдиреЗ рд╕рд╛рдЗрдЯ рдХреЗ рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓рд┐рдВрдХ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рдЕрд╡реИрдз рд▓рд┐рдВрдХред 25 рд╕реЗрдХрдВрдб рдХреА рдЖрд╡рд╛рдЬрд╝ рдХреЗ рд▓рд┐рдВрдХ рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдХрд┐ рд╕рдм рдХреБрдЫ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдпрджрд┐ рдирд╣реАрдВ , рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рд╣реА URL рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ


рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╣реА рд╕рд╡рд╛рд▓ рд╣реИ! рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╡реАрдХреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдпреВрдЖрд░рдПрд▓ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдЬреЗрдПрд╕-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднреЗрдЬрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ - рдХреБрдЫ рдкрдВрдХреНрддрд┐ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рд╢рд┐рдлреНрдЯ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдиреЗрдЧреЗрдЯрд┐рд╡ рднреАред рдФрд░ рдпрд╣ рд╕рдм рдПрдХ рдХрдВрдкреНрд░реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкреАрдбрд╝рд┐рдд рд╣реИред

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдкрд╣рд▓реЗ рдЗрд╕ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рдерд╛ред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдореЛрд▓реНрдХ рд╡реЛрдВрдЯрдХрдВрдЯреЗ рдкрд░ рд╢реБрд░реВ рд╣реЛ рдЧрдП)) рдЕрдиреНрдпрдерд╛, рдпрд╣ рд▓рд╛рдирдд рд╣реИ, рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреНрдпрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдЪрдореБрдЪ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рдПрдХ рд╕рдВрдХреЗрдд рд▓рдЯрдХрд╛ рджрд┐рдпрд╛:

рдЫрд╡рд┐

рдареАрдХ рд╣реИ, рдареАрдХ рд╣реИ, рд╣рдо рд╕рднреА рдЧреБрд▓рд╛рдо рдХрд▓реЗрдХреНрдЯрд░ рд╣реИрдВ ...

рдЖрдЧреЗ рдХреА рд╣рд▓рдЪрд▓ рдХреЗ рдмрд┐рдирд╛, рд╡рд░реНрддрдорд╛рди рдХреЛрдб


рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд┐рдХреЛрдбрд░
 var id = 0; // userid var n = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN0PQRSTUVWXYZO123456789+/=", i = { v: function(e) { return e.split("").reverse().join("") }, r: function(e, t) { e = e.split(""); for (var i, o = n + n, s = e.length; s--;) i = o.indexOf(e[s]), ~i && (e[s] = o.substr(i - t, 1)); return e.join("") }, s: function(e, t) { var n = e.length; if (n) { var i = r(e, t), o = 0; for (e = e.split(""); ++o < n;) e[o] = e.splice(i[n - 1 - o], 1, e[o])[0]; e = e.join("") } return e }, i: function(e, t) { return is(e, t ^ id) }, x: function(e, t) { var n = []; return t = t.charCodeAt(0), each(e.split(""), function(e, i) { n.push(String.fromCharCode(i.charCodeAt(0) ^ t)) }), n.join("") } }; function o() { return window.wbopen && ~(window.open + "").indexOf("wbopen") } function s(e) { if (!o() && ~e.indexOf("audio_api_unavailable")) { var t = e.split("?extra=")[1].split("#"), n = "" === t[1] ? "" : a(t[1]); if (t = a(t[0]), "string" != typeof n || !t) return e; n = n ? n.split(String.fromCharCode(9)) : []; for (var s, r, l = n.length; l--;) { if (r = n[l].split(String.fromCharCode(11)), s = r.splice(0, 1, t)[0], !i[s]) return e; t = i[s].apply(null, r) } if (t && "http" === t.substr(0, 4)) return t } return e } function a(e) { if (!e || e.length % 4 == 1) return !1; for (var t, i, o = 0, s = 0, a = ""; i = e.charAt(s++);) i = n.indexOf(i), ~i && (t = o % 4 ? 64 * t + i : i, o++ % 4) && (a += String.fromCharCode(255 & t >> (-2 * o & 6))); return a } function r(e, t) { var n = e.length, i = []; if (n) { var o = n; for (t = Math.abs(t); o--;) t = (n * (o + 1) ^ t + o) % n, i[o] = t } return i } 


PHP рдореЗрдВ рдбрд┐рдХреЛрдбрд░ рдХреЛ рдкрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
 global $n, $i, $id; $n = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN0PQRSTUVWXYZO123456789+/="; $id = 123456789; //user_id $i = [ 'v' => function($e) { return strrev($e); }, 'r' => function($e, $t){ global $n; $e = str_split($e); for ($o = $n . $n, $s = count($e); $s--;){ $i = stripos($o, $e[$s]); if(~$i){ $e[$s] = substr($o, $i - $t, 1); } } return implode("", $e); }, 's' => function($e, $t) { $n = strlen($e); if ($n) { $i = r($e, $t); $o = 0; $e = str_split($e); for (; ++$o < $n;){ $p = array_splice($e, $i[$n - 1 - $o], 1, $e[$o]); $e[$o] = $p[0]; } $e = implode("", $e); } return $e; }, 'i' => function($e, $t){ global $i, $id; $k = $i['s']; return $k($e, $t ^ $id); }, ]; function o() { return false; } function a($e){ global $n; if (!$e || strlen($e) % 4 == 1) { return !1; } $s = 0; for ($o = 0, $a = "";$s < strlen($e);) { $i = $e[$s++]; $i = strpos($n, $i); if ($i !== false) { $t = ($o % 4) ? 64 * $t + $i : $i; if ($o++ % 4) { $a .= chr(255 & $t >> (-2 * $o & 6)); } } } return $a; } function r($e, $t) { $n = strlen($e); $i = []; if ($n) { $o = $n; $t = abs($t); for (; $o--;){ $t = ($n * ($o + 1) ^ $t + $o) % $n; $i[$o] = $t; } } return $i; } function s($e){ global $i; if (!o() && strpos($e, "audio_api_unavailable") !== false) { $t = explode("?extra=", $e); $t = $t[1]; $t = explode("#", $t); $n = ("" === $t[1]) ? "" : a($t[1]); $t = a($t[0]); if (!is_string($n) || !$t){ return $e;} $n = $n ? explode(chr(9), $n) : []; for ($l = count($n); $l--;) { $r = explode(chr(11), $n[$l]); $s = array_splice($r, 0, 1, $t); $s = $s[0]; if (!$i[$s]){ return $e; } $t = $i[$s](...$r); } if ($t && "http" === substr($t, 0, 4)){ return $t;} } return $e; } 


рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ

 s("https://m.vk.com/mp3/audio_api_unavailable.mp3?extra=encodeextraurl"); 

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ PHP рдХреЗ рд╕рд╛рде рджреВрд╕рд░реА рднрд╛рд╖рд╛ рдореЗрдВ, рдХреЛрдб рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред

рдЗрд╕ рдХрд╛рд░реНрдп рдореЗрдВ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рджреБрдирд┐рдпрд╛ рдореЗрдВ рдорд╛рдирд╡-рдорд┐рдирдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

Ps: рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣рдореЗрд╢рд╛ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: gist.github.com/in4in-dev/09f32f313f11b2c10778d9e2ffe7e60e
P.s2: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ ImIeee рднреА рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ github.com/vodka2/vkaudio рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ (рдпрд╣рд╛рдВ рдЖрдк рдкрд╛рдпрдерди рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдкрд╛рдПрдВрдЧреЗ)

Source: https://habr.com/ru/post/hi428505/


All Articles