@jzp113
2019-08-20T08:09:26.000000Z
字数 975
阅读 780
api
逆向
<?php
//Enter your code here, enjoy!
$uc_key="f4fna96cdnf27i8W9Jd7bV6T1sadf9z5Zcaaby0W6ob88raaf126OOo659HUhoji";
function rc4($key, $str) {
$s = array();
for ($i = 0; $i < 256; $i++) {
$s[$i] = $i;
}
$j = 0;
for ($i = 0; $i < 256; $i++) {
$j = ($j + $s[$i] + ord($key[$i % strlen($key)])) % 256;
$x = $s[$i];
$s[$i] = $s[$j];
$s[$j] = $x;
}
$i = 0;
$j = 0;
$res = '';
for ($y = 0; $y < strlen($str); $y++) {
$i = ($i + 1) % 256;
$j = ($j + $s[$i]) % 256;
$x = $s[$i];
$s[$i] = $s[$j];
$s[$j] = $x;
$res .= $str[$y] ^ chr($s[($s[$i] + $s[$j]) % 256]);
}
return $res;
}
function decode($sourse, $key){
$key = md5($key);
$keya = md5(substr($key, 0, 16));
$keyb = md5(substr($key, 16, 16));
$cryptkey = $keya.md5($keya.substr($sourse, 0, 4));
$body = rc4($cryptkey, base64_decode(substr($sourse,4)));
return substr($body,26);
}
function encode($sourse, $key){
$key = md5($key);
$keya = md5(substr($key, 0, 16));
$keyb = md5(substr($key, 16, 16));
$keyc = "f4fn";
$body = $keyc.base64_encode(rc4($keya.md5($keya.$keyc), "0000000000".substr(md5($sourse.$keyb), 0, 16).$sourse));
return $body;
}
$result = decode($en_body, $uc_key);