Abema.tv dash license key final
<?php
// https://abema.tv/video/episode/90-1222_s1_p2
$license = '{
"keys": [
{
"kty": "oct",
"k": "DcQj6t1NsGzp5cvCTVePQkDAiM7JG2PP3im8iQmGpf24.MsJLphYekRoUBxL2vVmLaa5.4cd9f88c1b929d0a7d5c3c9c3731eb9d",
"kid": "cBGTQj_kRk2Ulhin7ubgAQ"
}
],
"type": "temporary"
}';
$license = json_Decode($license);
$kenc = explode(".",$license->keys[0]->k);
$kenc1 = $kenc[0];
$kenc2 = substr($kenc[1],0,-1);
$kiv = pack("H*",$kenc[2]);
$kid = $license->keys[0]->kid;
$deviceid = "AF6qx1eHXU3RZZ";
function bcdechex($dec) {
$hex = "";
do {
$last = bcmod($dec, 16);
$hex = dechex($last).$hex;
$dec = bcdiv(bcsub($dec, $last), 16);
} while($dec>0);
return $hex;
}
function b58decode($k)
{
$alphabet= "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
for ($i=0;$i<strlen($k);$i++)
$res = @bcadd($res,bcmul(strpos($alphabet,$k[$i]),bcpow(58, (strlen($k) - 1 - $i))));
return pack("H*",bcdechex($res));
}
function rc4($r,$n)
{
for ($i = 0; $i < 256; $i++)
$t[$i] = $i;
$o = $u = 0;
for ($i = 0; $i < 256; ++$i)
{
$o = ($o + $t[$i] + $r[($i % sizeof($r))]) % 256;
$u = $t[$i];
$t[$i] = $t[$o];
$t[$o] = $u;
}
$i = $o = 0;
for ($s = [], $a = 0; $a < sizeof($n); $a++)
{
$o = ($o + $t[($i = ($i + 1) % 256)]) % 256;
$u = $t[$i];
$t[$i] = $t[$o];
$t[$o] = $u;
$s[$a] = $n[$a] ^ $t[($t[$i] + $t[$o]) % 256];
}
return $s;
}
$r = [44, 128, 188, 10, 35, 20];
$kr = [
[200, 196, 157, 49, 219, 232, 69, 76, 83, 241, 90, 229, 150, 242, 92, 15, 84, 148, 229, 112, 54, 1, 119, 2, 169, 57, 211, 105, 136, 202, 103, 168],
[234, 169, 154, 104, 251, 227, 123, 14, 69, 153, 122, 248, 216, 214, 90, 81, 11, 135, 195, 113, 29, 23, 116, 2, 161, 38, 253, 115, 142, 200, 42, 189],
[200, 165, 201, 110, 242, 224, 40, 65, 59, 242, 81, 195, 162, 188, 101, 3, 79, 254, 234, 10, 16, 95, 72, 35, 164, 67, 164, 71, 240, 227, 121, 199],
[245, 130, 172, 48, 216, 131, 115, 127, 66, 236, 28, 185, 136, 252, 90, 79, 119, 243, 179, 12, 72, 39, 98, 61, 137, 71, 249, 115, 214, 177, 21, 172],
[89, 223, 151, 248, 170, 122, 131, 80, 144, 118, 56, 163, 241, 252, 134, 140, 142, 29, 185, 213, 230, 84, 127, 54, 179, 36, 10, 155, 207, 175, 138, 50],
[14, 100, 3, 93, 159, 22, 163, 57, 95, 210, 206, 203, 142, 255, 17, 137, 104]];
$a = pack("C*",...rc4($r,$kr[4]));
$c = hash_hmac("sha256", $kid.$deviceid, $a, true);
$f = hash_hmac("sha256", $deviceid, $c, true);
$d = hash_hmac("sha256", $kid, $c, true);
$w = rc4(rc4($r,$kr[5]),array_values(unpack("C*",$d)));
$l = pack("C*",...rc4(rc4($r,$kr[5]),array_values(unpack("C*",$f))));
$v = pack("C*",...rc4($w,array_values(unpack("C*",b58decode($kenc2)))));
$keyblow = openssl_decrypt($v,"bf-ecb",$l,OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING);
$keyfinal = openssl_decrypt(b58decode($kenc1),"aes-128-cbc",$keyblow,OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING,$kiv);
$keyfinal = bin2hex((base64_decode(str_replace("-","+",$keyfinal))));
Comentarios
Publicar un comentario