Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php eval("?>".base64_decode("PD9waHANCkNsYXNzIEpTX1VucGFjayB7DQoJZnVuY3Rpb24gZXhwbG9kZV9..
Decoded Output download
?>b'<?php
Class JS_Unpack {
function explode_by($begin, $end, $data) {
$data = explode($begin, $data);
$data = explode($end, $data[1]);
return $data[0];
}
function JS_charCodeAt($str, $index){
$char = mb_substr($str, $index, 1, \'UTF-8\');
if (mb_check_encoding($char, \'UTF-8\'))
{
$ret = mb_convert_encoding($char, \'UTF-32BE\', \'UTF-8\');
return hexdec(bin2hex($ret));
} else {
return null;
}
}
function Get($data) {
$get = self::explode_by(\');}(\',\'));\',$data);
$get = str_replace("\'",\'\',$get);
$get = explode(\',\',$get);
return $get;
}
function Unpack($w, $i, $s, $e) {
$lIll = 0;
$ll1I = 0;
$Il1l = 0;
$ll1l = array();
$l1lI = array();
while (true) {
if ($lIll < 5) {
array_push($l1lI, $w[$lIll]);
} else if ($lIll < strlen($w)) {
array_push($ll1l, $w[$lIll]);
}
$lIll++;
if ($ll1I < 5) {
array_push($l1lI, $i[$ll1I]);
} else if ($ll1I < strlen($i)) {
array_push($ll1l, $i[$ll1I]);
}
$ll1I++;
if ($Il1l < 5) {
array_push($l1lI, $s[$Il1l]);
} else if ($Il1l < strlen($s)) {
array_push($ll1l, $s[$Il1l]);
}
$Il1l++;
if (strlen($w) + strlen($i) + strlen($s) + strlen($e) == count($ll1l) + count($l1lI) + strlen($e)) {
break;
}
}
$lI1l = join(\'\', $ll1l);
$I1lI = join(\'\', $l1lI);
$ll1I = 0;
$l1ll = array();
for ($lIll = 0 ; $lIll < count($ll1l); $lIll += 2) {
$ll11 = -1;
if (self::JS_charCodeAt($I1lI,$ll1I) % 2) {
$ll11 = 1;
}
array_push($l1ll, chr(intval(substr($lI1l, $lIll, 2), 36) - $ll11));
$ll1I++;
if ($ll1I >= count($l1lI)) {
$ll1I = 0;
}
}
return join(\'\',$l1ll);
}
function Start($data) {
for ($i=0; $i < 3; $i++) {
$get = self::Get($data);
$data = self::Unpack($get[0],$get[1],$get[2],$get[3]);
}
return $data;
}
}
?>'
Did this file decode correctly?
Original Code
<?php eval("?>".base64_decode("PD9waHANCkNsYXNzIEpTX1VucGFjayB7DQoJZnVuY3Rpb24gZXhwbG9kZV9ieSgkYmVnaW4sICRlbmQsICRkYXRhKSB7DQoJICAgICRkYXRhID0gZXhwbG9kZSgkYmVnaW4sICRkYXRhKTsNCgkgICAgJGRhdGEgPSBleHBsb2RlKCRlbmQsICRkYXRhWzFdKTsNCgkgICAgcmV0dXJuICRkYXRhWzBdOw0KCX0NCglmdW5jdGlvbiBKU19jaGFyQ29kZUF0KCRzdHIsICRpbmRleCl7DQoJICAgICRjaGFyID0gbWJfc3Vic3RyKCRzdHIsICRpbmRleCwgMSwgJ1VURi04Jyk7DQoJICAgIGlmIChtYl9jaGVja19lbmNvZGluZygkY2hhciwgJ1VURi04JykpDQoJICAgIHsNCgkgICAgICAgICRyZXQgPSBtYl9jb252ZXJ0X2VuY29kaW5nKCRjaGFyLCAnVVRGLTMyQkUnLCAnVVRGLTgnKTsNCgkgICAgICAgIHJldHVybiBoZXhkZWMoYmluMmhleCgkcmV0KSk7DQoJICAgIH0gZWxzZSB7DQoJICAgICAgICByZXR1cm4gbnVsbDsNCgkgICAgfQ0KCX0NCglmdW5jdGlvbiBHZXQoJGRhdGEpIHsNCgkgICAgJGdldCA9IHNlbGY6OmV4cGxvZGVfYnkoJyk7fSgnLCcpKTsnLCRkYXRhKTsNCgkgICAgJGdldCA9IHN0cl9yZXBsYWNlKCInIiwnJywkZ2V0KTsNCgkgICAgJGdldCA9IGV4cGxvZGUoJywnLCRnZXQpOw0KCSAgICByZXR1cm4gJGdldDsNCgl9DQoJZnVuY3Rpb24gVW5wYWNrKCR3LCAkaSwgJHMsICRlKSB7DQoJICAgICRsSWxsID0gMDsNCgkgICAgJGxsMUkgPSAwOw0KCSAgICAkSWwxbCA9IDA7DQoJICAgICRsbDFsID0gYXJyYXkoKTsNCgkgICAgJGwxbEkgPSBhcnJheSgpOw0KCSAgICB3aGlsZSAodHJ1ZSkgew0KCSAgICAgICAgaWYgKCRsSWxsIDwgNSkgew0KCSAgICAgICAgICAgIGFycmF5X3B1c2goJGwxbEksICR3WyRsSWxsXSk7DQoJICAgICAgICB9IGVsc2UgaWYgKCRsSWxsIDwgc3RybGVuKCR3KSkgew0KCSAgICAgICAgICAgIGFycmF5X3B1c2goJGxsMWwsICR3WyRsSWxsXSk7DQoJICAgICAgICB9DQoJICAgICAgICAkbElsbCsrOw0KCSAgICAgICAgaWYgKCRsbDFJIDwgNSkgew0KCSAgICAgICAgICAgIGFycmF5X3B1c2goJGwxbEksICRpWyRsbDFJXSk7DQoJICAgICAgICB9IGVsc2UgaWYgKCRsbDFJIDwgc3RybGVuKCRpKSkgew0KCSAgICAgICAgICAgIGFycmF5X3B1c2goJGxsMWwsICRpWyRsbDFJXSk7DQoJICAgICAgICB9DQoJICAgICAgICAkbGwxSSsrOw0KCSAgICAgICAgaWYgKCRJbDFsIDwgNSkgew0KCSAgICAgICAgICAgIGFycmF5X3B1c2goJGwxbEksICRzWyRJbDFsXSk7DQoJICAgICAgICB9IGVsc2UgaWYgKCRJbDFsIDwgc3RybGVuKCRzKSkgew0KCSAgICAgICAgICAgIGFycmF5X3B1c2goJGxsMWwsICRzWyRJbDFsXSk7DQoJICAgICAgICB9DQoJICAgICAgICAkSWwxbCsrOw0KCSAgICAgICAgaWYgKHN0cmxlbigkdykgKyBzdHJsZW4oJGkpICsgc3RybGVuKCRzKSArIHN0cmxlbigkZSkgPT0gY291bnQoJGxsMWwpICsgY291bnQoJGwxbEkpICsgc3RybGVuKCRlKSkgew0KCSAgICAgICAgICAgIGJyZWFrOw0KCSAgICAgICAgfQ0KCSAgICB9DQoJICAgICRsSTFsID0gam9pbignJywgJGxsMWwpOw0KCSAgICAkSTFsSSA9IGpvaW4oJycsICRsMWxJKTsNCgkgICAgJGxsMUkgPSAwOw0KCSAgICAkbDFsbCA9IGFycmF5KCk7DQoJICAgIGZvciAoJGxJbGwgPSAwIDsgJGxJbGwgPCBjb3VudCgkbGwxbCk7ICRsSWxsICs9IDIpIHsNCgkgICAgICAgICRsbDExID0gLTE7DQoJICAgICAgICBpZiAoc2VsZjo6SlNfY2hhckNvZGVBdCgkSTFsSSwkbGwxSSkgJSAyKSB7DQoJICAgICAgICAgICAgJGxsMTEgPSAxOw0KCSAgICAgICAgfQ0KCSAgICAgICAgYXJyYXlfcHVzaCgkbDFsbCwgY2hyKGludHZhbChzdWJzdHIoJGxJMWwsICRsSWxsLCAyKSwgMzYpIC0gJGxsMTEpKTsNCgkgICAgICAgICRsbDFJKys7DQoJICAgICAgICBpZiAoJGxsMUkgPj0gY291bnQoJGwxbEkpKSB7DQoJICAgICAgICAgICAgJGxsMUkgPSAwOw0KCSAgICAgICAgfQ0KCSAgICB9DQoJICAgIHJldHVybiBqb2luKCcnLCRsMWxsKTsNCgl9DQoJZnVuY3Rpb24gU3RhcnQoJGRhdGEpIHsNCgkJZm9yICgkaT0wOyAkaSA8IDM7ICRpKyspIHsgDQoJICAgICAgICAkZ2V0ID0gc2VsZjo6R2V0KCRkYXRhKTsNCgkgICAgICAgICRkYXRhID0gc2VsZjo6VW5wYWNrKCRnZXRbMF0sJGdldFsxXSwkZ2V0WzJdLCRnZXRbM10pOw0KCSAgICB9DQoJICAgIHJldHVybiAkZGF0YTsNCgl9DQp9DQo/Pg==")); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | 83bd22d08ca4e0f711c3f6f7102e9eda |
Eval Count | 1 |
Decode Time | 90 ms |