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

Variables

None

Stats

MD5 83bd22d08ca4e0f711c3f6f7102e9eda
Eval Count 1
Decode Time 90 ms