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 |
Stats
MD5 | 4db6611553a77fcc840081aa44f9bc91 |
Eval Count | 23 |
Decode Time | 158 ms |