<?php
class xxtea {
public function encrypt($key, $salt = null) {
if (is_null($salt)) {
$strSalt = $this->salt;
} else {
$strSalt = $salt;
}
return str_replace(array('+', '/', '='), array('-', '_', '.'), base64_encode($this->xxteaEncrypt($key, $strSalt)));
}
public function decrypt($value, $salt = null) {
if (is_null($salt)) {
$strSalt = $this->salt;
} else {
$strSalt = $salt;
}
$strValue = str_replace(array('-', '_', '.'), array('+', '/', '='), $value);
return $this->xxteaDecrypt(base64_decode($strValue), $strSalt);
}
private function long2str($v, $w) {
$len = count($v);
$n = ($len - 1) << 2;
if ($w) {
$m = $v[$len - 1];
if (($m < $n - 3) || ($m > $n))
return false;
$n = $m;
}
$s = array();
for ($i = 0; $i < $len; $i++) {
$s[$i] = pack("V", $v[$i]);
}
if ($w) {
return substr(join('', $s), 0, $n);
} else {
return join('', $s);
}
}
private function str2long($s, $w) {
$v = unpack("V*", $s . str_repeat("\0", (4 - strlen($s) % 4) & 3));
$v = array_values($v);
if ($w) {
$v[count($v)] = strlen($s);
}
return $v;
}
private function int32($n) {
while ($n >= 2147483648)
$n -= 4294967296;
while ($n <= -2147483649)
$n += 4294967296;
return (int) $n;
}
private function xxteaEncrypt($str, $key) {
if ($str == "") {
return "";
}
$v = $this->str2long($str, true);
$k = $this->str2long($key, false);
if (count($k) < 4) {
for ($i = count($k); $i < 4; $i++) {
$k[$i] = 0;
}
}
$n = count($v) - 1;
$z = $v[$n];
$y = $v[0];
$delta = 0x9E3779B9;
$q = floor(6 + 52 / ($n + 1));
$sum = 0;
while (0 < $q--) {
$sum = $this->int32($sum + $delta);
$e = $sum >> 2 & 3;
for ($p = 0; $p < $n; $p++) {
$y = $v[$p + 1];
$mx = $this->int32((($z >> 5 & 0x07ffffff) ^ $y << 2) + (($y >> 3 & 0x1fffffff) ^ $z << 4)) ^ $this->int32(($sum ^ $y) + ($k[$p & 3 ^ $e] ^ $z));
$z = $v[$p] = $this->int32($v[$p] + $mx);
}
$y = $v[0];
$mx = $this->int32((($z >> 5 & 0x07ffffff) ^ $y << 2) + (($y >> 3 & 0x1fffffff) ^ $z << 4)) ^ $this->int32(($sum ^ $y) + ($k[$p & 3 ^ $e] ^ $z));
$z = $v[$n] = $this->int32($v[$n] + $mx);
}
return $this->long2str($v, false);
}
private function xxteaDecrypt($str, $key) {
if ($str == "") {
return "";
}
$v = $this->str2long($str, false);
$k = $this->str2long($key, false);
if (count($k) < 4) {
for ($i = count($k); $i < 4; $i++) {
$k[$i] = 0;
}
}
$n = count($v) - 1;
$z = $v[$n];
$y = $v[0];
$delta = 0x9E3779B9;
$q = floor(6 + 52 / ($n + 1));
$sum = $this->int32($q * $delta);
while ($sum != 0) {
$e = $sum >> 2 & 3;
for ($p = $n; $p > 0; $p--) {
$z = $v[$p - 1];
$mx = $this->int32((($z >> 5 & 0x07ffffff) ^ $y << 2) + (($y >> 3 & 0x1fffffff) ^ $z << 4)) ^ $this->int32(($sum ^ $y) + ($k[$p & 3 ^ $e] ^ $z));
$y = $v[$p] = $this->int32($v[$p] - $mx);
}
$z = $v[$n];
$mx = $this->int32((($z >> 5 & 0x07ffffff) ^ $y << 2) + (($y >> 3 & 0x1fffffff) ^ $z << 4)) ^ $this->int32(($sum ^ $y) + ($k[$p & 3 ^ $e] ^ $z));
$y = $v[0] = $this->int32($v[0] - $mx);
$sum = $this->int32($sum - $delta);
}
return $this->long2str($v, true);
}
}
$vids = array(
'LDpiIaiflqKm_1-sn4rlfQ..',
'Whv6DqoIWnTjbdVpOB_G-A..',
'_XzfjQwvFb1Iw7IOVObezA..',
'x4YLLeBVCF3hTXmQC-aSBg..',
'R7w6DO0HVWSptVxcUzfEMA..',
'RaEw9f_cUDLir6Ztfpis_A..',
'x1iZMvYg_aQGZXJqHrUwCA..',
'xSz5rd55YacQwj-sjO8VbQ..',
'VwNXGoiLtXiPHtmEFFRMVQ..',
'I8IzZN3DEq3gxtEkQf307g..',
'kf1prc571ansQlFJVeMXLA..',
'zDLp-memmjq9mkbM9WXmdg..',
'6jV7RIzIQSg8lPtfIdwbbg..',
'AxrJCwNqFm5jdeu5YJ8dPg..',
'OQl3bTsQ7pEnZyEl8kVN8g..',
'VKS7CkhAFGz5AuxG-owjCA..',
'ESmoSOB2E_9ZTxd_9y-VnQ..',
'BOjeKIzCc45zptk-_bjS7Q..',
'g97f-XmzN-9k-965anrkvA..',
'VQsElAqBu2K2GNIIUj88ug..',
'IlKrFix9OvrMOeXEW0NORg..',
'gBQXe_sPS3P9PbM9jwZGFg..',
'2k2Y8EvQvj5p2NnolYNAmQ..',
'L0II99osOogKsExJMleyFQ..',
'j08XwBlaaFf_FXpFQEG9fw..',
'Y7icpn7Ystql5gR0KlQ9-w..',
'PGbJS5W2q5Oww92xxObbFQ..',
'zv2oaf8eGU5d4eFoKfyr9A..',
'rCVGNjIiZh0GjMgrOtz_jg..',
'V-qAJ2JcBnWa2z6JduqdoQ..',
'ykHHrnnx5VGeb9TnSDuYmw..',
's75LCLqi9zMd_qK9ryjkVA..',
'roWVA9tycIQioMBXE8oEgw..',
'FkOO9v8mHl5GrgQPq4desg..',
'2bfOvqywAUjD3uMrixDSXg..',
'oOr0n0Z4Vpl7hBlt7SH0Lg..',
'kw4nushuOgtabBF0V1NH8g..',
'Px9pFI_x15fEtgH_ikD51g..',
'T7ptAH3TlQJzE5ahxwfDbA..',
'fcSWOcRfXzrokzsUJozULg..',
'ozAsO0tVEAf6PPL-Bwygyw..',
'_UYs73ER8y4-gITclUc5CQ..',
'dvO__BFcF3TvajG2Ct0krg..',
'ZKvfoj3aDj-hMhjYvsfpVg..',
'NtqVtPOw5l6dHsA9ZCmkSw..',
'ygfwGQgSoSoJOj0EvAjDeg..',
'-df2AMojyvJ4Flx8m4lRMw..',
'dJNyq2E73uPpBGs068MEuQ..',
);
foreach ($vids as $vid) {
$xxtea = new xxtea();
echo $xxtea->decrypt($vid, '!@#^~ku6&%(com)T') . PHP_EOL;
}
- Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- 246267278
246267308
246269638
246279080
246459855
247525404
247525823
247526438
247526454
247526466
247526589
247526626
247526977
247527009
247527038
247527266
247527368
247527417
247527428
247527430
247527435
247527446
247527447
247527450
247527453
247527465
247527466
247527487
247527503
247527510
247527543
247527554
247527562
247527598
247527603
247527613
247527643
247527650
247527660
247527680
247527682
247527691
247527715
247527720
247527737
247531326
247531857
247547238
preferences:
214.41 ms | 405 KiB | 331 Q