Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

eval("\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\x74\x65\x28\x62\x61\x73\x65\x36\x34..

Decoded Output download

?><?php
require(DIR_SYSTEM . 'library/pos/fpdf.php');
require(DIR_SYSTEM ."library/pos/dompdf/dompdf_config.inc.php");
set_include_path(DIR_SYSTEM . 'library/pos');
require(DIR_SYSTEM . 'library/pos/Zend/Loader/Autoloader.php');
class PosCore extends Zend_Loader_Autoloader
{
	public $key ='';
	public $url = 'index.php';
	public $domain = 'magetop.com';
	private $publicKey = '1ojAkBGVi4QZVGvnFB6E';
	private $keyFile = '1ojAkBnFB6EZVGvnFBjAkBGVi4QZVGvnFB6EGVi4Q1ojAkBGVi4QZVGv6E1o';
    private $trial = 10;
    private $isTrial = true;
	public function __construct($url= 'index.php',$key = '')
	{
		$domain = HTTP_CATALOG;
		$domain = trim($domain,'/');
		$this->domain = $domain;
		$this->url = $url;
		$this->key = $key;
		$this->keyFile = DIR_LOGS.md5($this->domain);
		parent::getInstance();
	}

	public function setKey($key)
	{
		$this->key = $key;
	}
	public function setDomain($domain)
	{
		$this->domain = $domain;
	}
	public function setRedirectUrl($url)
	{
		$this->url = $url;
	}

	public function setTrial()
	{
		$myfile = fopen($this->keyFile, "w+");
		$txt = '0|'.time();
		$txt = $this->PosEcrypt($txt);
		fwrite($myfile, $txt);
		fclose($myfile);
	}

    public function uninstall()
    {
        unlink($this->keyFile);
    }

    public function checkTrial()
    {
        if(!$this->isTrial)
        {
          return false;
        }
        $trial = $this->trial;
        if(!file_exists($this->keyFile))
        {
            $this->setTrial();
            return true;
        }
        $myfile = fopen($this->keyFile, "r+");
        $time = fread($myfile,filesize($this->keyFile));
        fclose($myfile);
        if($time == '')
        {
            $this->setTrial();
            return true;
        }else{
            $decrypt = $this->PosDcrypt($time);
            $tmp = explode('|',$decrypt);
            if(count($tmp) != 2)
            {
                $this->setTrial();
                return true;
            }else{
                if($tmp[0] != $this->domain)
                {
                    $ttime = isset($tmp[1])? (int)$tmp[1]:0;
                    $length = time() - (int)$ttime;
                    $day = $length / (3600*24);
                    if(round($day) >= $trial)
                    {
                        ob_start();
                        $url = html_entity_decode($this->url);
                        header('Location:'.$url);
                    }
                    return true;
                }else{
                    return true;
                }
            }

        }
    }

	public function getRemainDays()
	{
		$trial = $this->trial;
		if(!file_exists($this->keyFile))
		{
			$this->setTrial();
			return $trial;
		}
		$myfile = fopen($this->keyFile, "r+");
		$time = fread($myfile,filesize($this->keyFile));
		fclose($myfile);
		$time = $this->PosDcrypt($time);
		$tmp = explode('|',$time);
		$time = isset($tmp[1])? (int)$tmp[1]:0;
		$length = time() - $time;
		$day = $length / (3600*24);
		return ($trial - round($day));
	}

	public function getCurrentLicense()
	{
		$myfile = fopen($this->keyFile, "r+");
		$time = fread($myfile,filesize($this->keyFile));
		fclose($myfile);
		return $this->PosDcrypt($time);
	}

	public function valid($license)
	{
        if(!$this->isTrial)
        {
            return true;
        }
		if(strpos($this->domain,'magetop.com') !== false)
		{
			return true;
		}

		$result = $this->sendData($license);

		if(isset($result['status']) and $result['status'] == 1)
		{
			$string = $this->domain.'|'.time();
			$encrypted = $this->PosEcrypt($string);
			$myfile = fopen($this->keyFile, "w+");
			$txt = $encrypted;
			fwrite($myfile, $txt);
			fclose($myfile);
			return true;
		}else{
			$current = $this->getCurrentLicense();
			$tmp = explode('|',$current);
			if(count($tmp) == 2)
			{
				$tmp[0] = 0;
			}
			$string = implode('|',$tmp);
			$encrypted = $this->PosEcrypt($string);
			$myfile = fopen($this->keyFile, "w+");
			$txt = $encrypted;
			fwrite($myfile, $txt);
			fclose($myfile);
			return false;
		}
	}

	private function PosEcrypt($string)
	{
		$key = $this->publicKey;
		$key = md5(md5(md5($key)));
		$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
		return $encrypted;
	}

	private function PosDcrypt($encrypted)
	{
		$key = $this->publicKey;
		$key = md5(md5(md5($key)));
		$decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($encrypted), MCRYPT_MODE_CBC, md5(md5($key))), "");
		return $decrypted;
	}

	public function drawBarcode($text,$height)
	{
		$image =  Zend_Barcode::draw(
			'Upca',
			'image',
			array(
				'text' => $text,
				'barHeight' => $height
			)
		);
		return $image;
	}
	public function convertMnPt($size,$dpi = 72)
	{
		$h = ($size * $dpi) / 25.4;
		return $h;
	}
	public function convertMnPx($size,$dpi = 96)
	{
		return $size* 3.779528;
	}
	public function createCheckDigit($code) {
		$evensum = 0;
		$oddsum = 0;
		if ($code) {
			for ($counter=0;$counter<=strlen($code)-1;$counter++) {
				$codearr[]=substr($code,$counter,1);
			}
			for ($counter=0;$counter<=count($codearr)-1;$counter++) {
				if ( $counter&1 ) {
					$evensum = $evensum + $codearr[$counter];
				} else {
					$oddsum = $oddsum + $codearr[$counter];
				}
			}
			$oddsum = $oddsum *3;
			$oddeven = $oddsum + $evensum;
			for ($number=0;$number<=9;$number++) {
				if (($oddeven+$number)%10==0) {
					$checksum = $number;
				}
			}
			return $checksum;
		} else {
			return false;
		}
	}

	public function createUPC($code) {
		$this->checkTrial();
		if ($code!="") {
			$checkdigit = $this->createCheckDigit($code);
			$upc = $code . $checkdigit;
			return $upc;
		} else {
			return false;
		}
	}

	public function validateUPC($upc) {
		$this->checkTrial();
		if ($upc!="") {
			$checkdigit = substr($upc, -1);
			$code = substr($upc, 0, -1);

			$checksum = $this->createCheckDigit($code);
			if ($checkdigit == $checksum) {
				return true;
			} else {
				return false;
			}
		} else {
			return false;
		}
	}

	public function barcodeImage($upc,$height)
	{
		$this->checkTrial();
		$image = $this->drawBarcode($upc,$height);
		$img = DIR_CACHE.'barcode-'.$upc.'.png';
		imagepng($image,$img);
		return $img;
	}

	public function getPdf($html,$sheetWidth,$sheetHeight)
	{
		$this->checkTrial();
		$dompdf = new DOMPDF();
		$dompdf->load_html($html);
		$paper_size = array(0,0,$sheetWidth,$sheetHeight);
		$dompdf->set_paper($paper_size);
		$dompdf->render();
		$dompdf->stream("barcode.pdf", array("Attachment" => true));
	}

	private function sendData($key)
	{
		return array();
	}
	public function getErrorMsg($key)
	{
		return 'Invalidate';
	}

    public function htmlStringToReceipt($html)
    {
        if(!$this->valid($this->key))
        {
            return '';
        }
        $html = str_replace('\"','"',$html);
        $html = str_replace("\'","'",$html);
        $regex = '/src="(.*)"/isU';
        preg_match_all($regex,$html,$result);
        if($result[1])
        {
            foreach($result[1] as $img)
            {
                $b64image = base64_encode(file_get_contents($img));
                $html = str_replace($img,'data:image/png;base64,'.$b64image,$html);
            }
        }
        $regex = "/src='(.*)'/isU";
        preg_match_all($regex,$html,$result);
        if($result[1])
        {
            foreach($result[1] as $img)
            {
                $b64image = base64_encode(file_get_contents($img));
                $html = str_replace($img,'data:image/png;base64,'.$b64image,$html);
            }
        }
        return $html;

    }
}
?>

Did this file decode correctly?

Original Code

eval("\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\x74\x65\x28\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F\x64\x65\x28'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'\x29\x29\x29\x3B");

Function Calls

gzinflate 13
daicdx16441 1
dgznbo16443 1
doyvud16442 1
base64_decode 13

Variables

$a base64_decode
$b gzinflate
$str 7RlrU9vK9bMzk/+w0fhWMgg/CCENjskQmyS00FBCbufehNHI0tpWI0vqak2g..

Stats

MD5 4db6611553a77fcc840081aa44f9bc91
Eval Count 23
Decode Time 158 ms