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 // Copyright VeryCo Tech Co,. LTD $OOO0O0O00=__FILE__;$OOO000000=urldecode('%74%68%..

Decoded Output download


class TUser extends ObjectModel
{
public $Code;
public $Name;
public $Description;
public $PWD;
public $PWDExpiry;
public $RoleID;
public $RoleIDOthers;
public $LastVisitTime;
public $DeptID;
public $DeptIDOthers;
public $NotLogin;
public $NotViewUser;
public $Theme;
public $AdminDept;
public $CurrStatus;
public $SessionNo;
public $SessionDate;
public $IpLimit;
public $IpAddress;
public $AutoDept;
protected $table="sys_user";
public	function __construct($code = NULL)
{
}
public function Load($code)
{
$query  = "SELECT A.*,B.AdminDept FROM {$this->table} A ";
$query .= "LEFT JOIN sys_department B ON B.Code=A.DeptID ";
$query .= "WHERE A.Code='$code'";
return parent::getRecord($query);
}
public function loadEx($code,$fields="*")
{
$query  = "SELECT {$fields} FROM {$this->table} WHERE Code='$code'";
return parent::getRecord($query);
}
public function canDelete($code)
{
return "1";
}
public function delete($code)
{
$query = "DELETE FROM sys_user_session WHERE Code = '{$code}'";
if (Db::getInstance()->Execute($query))
$query = "DELETE FROM sys_user WHERE Code = '{$code}'";
if (Db::getInstance()->Execute($query))
return  "1";
return "-1";
}
public function execSave($xmlContent,$table)
{
$xmlObj = TXMLObject::getInstance();
$xmlObj->loadXML($xmlContent);
Db::getInstance()->startTrans();
for ($I=0;$I<$xmlObj->currNode->childNodes->length;$I++)
{
$xmlNode = $xmlObj->currNode->childNodes->item($I);
$act =  $xmlNode->attributes->getNamedItem('ACTION')->nodeValue;
if ($act=="1")
{
$Code = $xmlNode->attributes->getNamedItem('Code')->nodeValue;
$Code = strtoupper($Code);
$xmlObj->createXMLAttribute($xmlNode,"PWD",md5($Code));
}
$query = $this ->createXMLSQL($xmlNode,$this->table);
Db::getInstance()->Execute($query);
$Code = Db::getInstance()->Insert_ID();
}
Db::getInstance()->commitTrans();
$xmlRoot = $xmlObj->createXMLResult(0,"");
if ($Code)
$xmlObj->createXMLAttribute($xmlRoot,"Code",$Code);
echo $xmlObj->xmlDoc->saveXML();
return true;
}
public function checkCodeExists($code)
{
$query = "SELECT Code FROM {$this->table} WHERE Code='{$code}'";
$cursor = Db::getInstance()->ExecuteS($query);
return count($cursor)>0;
}
public function Save($data,$table)
{
$UserID = TUser::currentUser();
Db::getInstance()->startTrans();
for ($I=0;$I<count($data);$I++)
{
$item = $data[$I];
$act =  $item['ACTION'];
if ($act=="1")
{
$Code = $item['Code'];
if ($this->checkCodeExists($Code))
{
return -10077;
}
$Code = strtoupper($Code);
$item["PWD"] = md5($Code);
}
$item["COperator"] = $UserID;
$item["CDate"] = date("Y-m-d H:i:s");
$query = $this ->createJSONSQL($item,$this->table);
Db::getInstance()->Execute($query);
}
Db::getInstance()->commitTrans();
$arrResult = $this->createJSONResult(0);
if ($Code)
$arrResult['Code'] = $Code;
return $this->encodeToJSON($arrResult);
}
public function removeRole($userCodes,$roleCode)
{
$query = "UPDATE sys_user SET RoleIDOthers=REPLACE(RoleIDOthers,'[{$roleCode}]','') WHERE Code in ({$userCodes})";
Db::getInstance()->Execute($query);
$query = "UPDATE sys_user SET RoleID='' WHERE Code in ({$userCodes}) AND RoleID='$roleCode'";
Db::getInstance()->Execute($query);
return  "1";
}
public function clearPassword($code)
{
$code = strtoupper($code);
$PWD = md5($code);
$query = "UPDATE {$this->table} SET PWD='{$PWD}' WHERE Code = '{$code}'";
Db::getInstance()->Execute($query);
return  "1";
}
public function refreshDept($code,$deptCode)
{
$query = "UPDATE {$this->table} SET DeptID='{$deptCode}' WHERE Code = '{$code}'";
Db::getInstance()->Execute($query);
}
public function refreshVisitTime($code,$visitTime)
{
$query = "UPDATE {$this->table} SET LastVisitTime='{$visitTime}' WHERE Code = '{$code}'";
Db::getInstance()->Execute($query);
}
public function checkLogin($userCode,$password,$randNum="",$times=0)
{
if ($userCode=="") return -2101;
$VA_LOGIN_TIME_RANGE = "00:00:00 ~ 23:59:59";
if($userCode != "admin"&&!Tools::checkTimeRange($VA_LOGIN_TIME_RANGE))
return -2102;
$clientIP = Tools::getClientIP();
$Dictionary =  TDictionary::getInstance();
$result = $Dictionary->loadDictionaries("SYS_PARAM",NULL,"'SEC_RETRY','SEC_RETRY_TIMES','SEC_RETRY_MINS'");
foreach ($result as $row)
{
$$row['Code'] = $row['V2'];
}
if ($SEC_RETRY=="Y")
{
$loginTimes = Event::checkLoginTimes($userCode,$SEC_RETRY_MINS);
if ($loginTimes >= $SEC_RETRY_TIMES)
return -2103;
}
if (!$this->Load($userCode))
{
Event::addEvent($userCode,2,"USERNAME=($userCode)");
return -2104;
}
$PWD = "ab4fa405a50cbbcf7f36b4745094a97e";
if ($times>0)
{
for ($i=1;$i<$times;$i++)
{
$PWD = md5($PWD.$randNum);
}
}
else
{
$PWD = md5($PWD.$randNum);
}
$result = 0;
if($password != $PWD)
{
if ($this->NotLogin!="N")
{
return -2105;
}
$PWD = "";
if ($times>0)
{
$PWD = $this->PWD;
for ($i=1;$i<$times;$i++)
{
$PWD = md5($PWD.$randNum);
}
}
else
{
$PWD = md5($this->PWD.$randNum);
}
if($password != $PWD)
{
$password=Tools::maskstr($password,2,1);
Event::addEvent($userCode,$clientIP,3,$password);
return -2106;
}
}
else
$result = 1;
if ($this->IpLimit == "Y"&&trim($this->IpAddress))
{
$ips = explode("
",$this->IpAddress);
if(!in_array($clientIP,$ips))
return -2107;
}
return $result;
}
public function checkAMRLogin($userCode,$password,$randNum="")
{
if ($userCode=="") return -1;
$VA_LOGIN_TIME_RANGE = "00:00:00 ~ 23:59:59";
if($userCode != "admin"&&!Tools::checkTimeRange($VA_LOGIN_TIME_RANGE))
return -2;
$clientIP = Tools::getClientIP();
$Dictionary =  TDictionary::getInstance();
$result = $Dictionary->loadDictionaries("SYS_PARAM",NULL,"'SEC_RETRY','SEC_RETRY_TIMES','SEC_RETRY_MINS'");
foreach ($result as $row)
{
$$row['Code'] = $row['V2'];
}
if ($SEC_RETRY=="Y")
{
$loginTimes = Event::checkLoginTimes($userCode,$SEC_RETRY_MINS);
if ($loginTimes >= $SEC_RETRY_TIMES)
return -3;
}
if (!$this->Load($userCode))
{
Event::addEvent($userCode,2,"USERNAME=($userCode)");
return -4;
}
if ($this->NotLogin!="N")
{
return -5;
}
$password = md5(strtoupper($userCode).$password);
if($password != $this->PWD)
{
$password=Tools::maskstr($password,2,1);
Event::addEvent($userCode,$clientIP,3,$password);
return -6;
}
return 0;
}
public function isAuthorized()
{
if(!session_is_registered("LG_ID") ||$_SESSION["LG_ID"]=="")
{
return false;
sleep( 1 );
if (session_is_registered( "LG_ID") &&$_SESSION["LG_ID"] == "")
{
return false;
}
}
if ($this->Code == ""||$this->DeptID =="")
$this->loadEx($_SESSION["LG_ID"],"Code,DeptID");
return true;
}
static public function currentDept()
{
return $_SESSION["LG_DEPT_ID"];
}
static public function currentUser()
{
return $_SESSION["LG_ID"];
}
static public function currentCustomer()
{
return "0000100001";
}
static public function currentBranch()
{
return $_SESSION["LG_BRNACH"];
}
static public function currentAdminDept()
{
return $_SESSION["LG_ADMIN_DEPT"];
}
static public function checkAction($funcID,$action)
{
if (TUser::currentUser() == "admin")
{
$USER_FUNC_ID_STR="[011][01101][011011][011012][011013][011014][01122]";
if (Tools::findIDEx($USER_FUNC_ID_STR,$funcID))
return true;
}
$arrAct = explode(",",$action);
foreach ($arrAct as $act)
{
$actStr = $funcID."-".$act;
$USER_FUNC_ID_STR=$_SESSION["LG_ACTs"];
if (Tools::findIDEx($USER_FUNC_ID_STR,$actStr))
return true;
}
return false;
}
public function checkPermission($SYS_FUNCTIONS)
{
$SCRIPT_NAME = $_SERVER["SCRIPT_NAME"];
$USER_FUNC_ID_STR=$_SESSION["LG_FUNCs"];
if($_SESSION["LG_ID"]=="admin")
$USER_FUNC_ID_STR.="[011][01101][011011][011012][011013][011014]";
$USER_FUNC_ID_STR.="[01122]";
if(!stristr($SCRIPT_NAME,"/general"))
{
return true;
}
else
{
$SCRIPT_NAME=substr($SCRIPT_NAME,9);
$SCRIPT_NAME=ltrim($SCRIPT_NAME,"/");
if(stristr($SCRIPT_NAME,"/"))
$SCRIPT_NAME1=strtolower(substr($SCRIPT_NAME,0,strripos($SCRIPT_NAME,"/")));
if($SCRIPT_NAME1==""||$SCRIPT_NAME1=="status_bar"||$SCRIPT_NAME1=="navigator"||$SCRIPT_NAME1=="sys"||$SCRIPT_NAME1=="mytable"||stristr($SCRIPT_NAME,"desktop") ||stristr($SCRIPT_NAME,"public"))
{
return true;
}
else
{
while(list($ID,$FUNC_NAME)=each($SYS_FUNCTIONS))
{
if(($SCRIPT_NAME1=="file_folder") ||($SCRIPT_NAME1=="netdisk") ||($SCRIPT_NAME1=="picture")||($SCRIPT_NAME1=="workflow"))
{
if(substr($FUNC_NAME,0,strlen($SCRIPT_NAME1)) == $SCRIPT_NAME1 &&Tools::findIDEx($USER_FUNC_ID_STR,$ID))
{
return true;
break;
}
}
else
{
$FUNC_NAME=strtolower(substr($FUNC_NAME,0,strripos($FUNC_NAME,"/")));
if($SCRIPT_NAME1 == $FUNC_NAME &&Tools::findIDEx($USER_FUNC_ID_STR,$ID))
{
return true;
break;
}
}
}
}
}
return false;
}
public function refreshPWD($code,$oldPWD,$newPWD,$vcode)
{
$PWDExpiry = date("Y-m-d H:i:s");
if (!$this->loadEx($code,'PWD')) return -90020;
$RAND_NUM = $_SESSION["LG_RAND"];
$CURR_PWD = md5($this->PWD.$RAND_NUM);
if($oldPWD != $CURR_PWD) return -90005;
$CURR_PWD = md5($newPWD.$RAND_NUM);
if($vcode != $CURR_PWD) return -90005;
$query = "UPDATE sys_user SET PWD='{$newPWD}',PWDExpiry='{$PWDExpiry}' WHERE Code='{$code}'";
Db::getInstance()->Execute($query);
return 0;
}
public function updatePWD($code,$newPWD)
{
$code = strtoupper($code);
$newPWD = md5($code.$newPWD);
$PWDExpiry = date("Y-m-d H:i:s");
if (!$this->loadEx($code,'PWD')) return -90020;
$query = "UPDATE sys_user SET PWD='{$newPWD}',PWDExpiry='{$PWDExpiry}' WHERE Code='{$code}'";
Db::getInstance()->Execute($query);
$pwdresult = $this->createJSONResult(0);
$pwdresult['Code'] = $code;
return $this->encodeToJSON($pwdresult);
}
public function refreshStatus($userCode,$status)
{
$query = "UPDATE sys_user SET CurrStatus='{$status}' WHERE Code='{$userCode}'";
Db::getInstance()->Execute($query);
}
public function refreshOnlineStatus($userCode,$currTime,$currSID)
{
if (defined('_SESSION_DB_'))
{
$query = "UPDATE sys_sessions SET session_expires='{$currTime}',session_user='$userCode' WHERE session='{$currSID}'";
Db::getInstance()->Execute($query);
}
else
{
$where = "";
$where = parent::createWhere($where,"UCode","'".$userCode."'","=","_");
$query = "UPDATE sys_user_online SET LoginTime='{$currTime}',SID='{$currSID}' ".$where;
Db::getInstance()->Execute($query);
if (Db::getInstance()->Affected_Rows() == 0)
{
$query = "DELETE FROM sys_user_online $where OR UCode='' ";
Db::getInstance()->Execute($query);
$query = "INSERT INTO sys_user_online VALUES('{$userCode}','$currTime','$currSID')";
Db::getInstance()->Execute($query);
}
}
}
public function clearOnlineStatus($userCode="")
{
global $ONLINE_REF_SEC;
$currTime = time()-$ONLINE_REF_SEC-5 ;
if (defined('_SESSION_DB_'))
{
$query = "UPDATE sys_sessions SET session_user = '' WHERE session_expires<'{$currTime}' ";
if ($userCode != "")
$query .= "OR session_user = '$userCode'";
Db::getInstance()->Execute($query);
}
else
{
$query = "DELETE FROM sys_user_online where LoginTime< {$currTime} OR UCode=''";
Db::getInstance()->Execute($query);
if ($userCode!="")
{
$query = "";
$query = parent::createWhere($query,"UCode","'".$userCode."'","=",$userCode);
$query = "DELETE FROM sys_user_online ".$query;
Db::getInstance()->Execute($query);
}
}
}
public function checkOnlineStatus($userCode="")
{
if (defined('_SESSION_DB_'))
{
if ($userCode=="")
$userCode = $_SESSION["LG_ID"];
$query = "select session,session_ip from sys_sessions where session_user='{$userCode}'";
$cursor = Db::getInstance()->ExecuteS($query);
foreach($cursor as $ROW)
{
$SID=$ROW["session"];
return (dechex(crc32($SID)) == $_COOKIE["VA_SID_".$userCode]);
}
}
else
{
if ($userCode=="")
$userCode = $_SESSION["LG_ID"];
$query = "select SID from sys_user_online where UCode='{$userCode}'";
$cursor = Db::getInstance()->ExecuteS($query);
foreach($cursor as $ROW)
{
$SID=$ROW["SID"];
return (dechex(crc32($SID)) == $_COOKIE["VA_SID_".$userCode]);
}
}
return true;
}
public function getUserCount()
{
if (defined('_SESSION_DB_'))
{
$query="select count(session) uCount from sys_sessions WHERE session_user<>''";
$result = Db::getInstance()->ExecuteS($query);
return $result[0]['uCount'] == 0 ?1 : $result[0]['uCount'];
}
else
{
$query="select count(UCode) uCount from sys_user_online";
$result = Db::getInstance()->ExecuteS($query);
return $result[0]['uCount'] == 0 ?1 : $result[0]['uCount'];
}
}
public function getRegisterUsers()
{
$query="select count(Code) Code from {$this->table}";
$result = Db::getInstance()->ExecuteS($query);
return $result[0]['Code'] == 0 ?1 : $result[0]['Code'];
}
public function getData($userCode,$fields="*")
{
$query = parent::createWhere($query,"Code","'".$userCode."'","=",$userCode);
if ($fields=="")
$fields = "*";
$query = "SELECT {$fields} FROM sys_user ".$query;
return Db::getInstance()->ExecuteS($query);
}
public function savepwd($xmlContent) 
{
$xmlObj = new TXMLObject($xmlContent);
Db::getInstance()->startTrans();
$UserID = $this->currentUser();
for ($I=0;$I<$xmlObj->currNode->childNodes->length;$I++)
{
$xmlNode = $xmlObj->currNode->childNodes->item($I);
$Code = $xmlNode->attributes->getNamedItem('Code')->nodeValue;
$PWD = $xmlNode->attributes->getNamedItem('PWD')->nodeValue;
$xmlObj->createXMLAttribute($xmlNode,"COperator",$UserID);
$xmlObj->createXMLAttribute($xmlNode,"CDate",date("Y-m-d H:i:s"));
$xmlObj->createXMLAttribute($xmlNode,"PWD",md5($Code.$PWD));
$xmlObj->createXMLAttribute($xmlNode,"PWDExpiry",date("Y-m-d H:i:s"));
$query = $this ->createXMLSQL($xmlNode,$this->table);
Db::getInstance()->Execute($query);
}
Db::getInstance()->commitTrans();
$xmlRoot = $xmlObj->createXMLResult(0,"");
if ($Code)
$xmlObj->createXMLAttribute($xmlRoot,"Code",$Code);
return $xmlObj->xmlDoc->saveXML();
}
public function search($PAGE_SIZE,$PAGE_INDEX,$deptCode,$userCode,$userName,$roleCode="",$createType="xml")
{
$dbo = Db::getInstance();
$where = "";
$where = parent::createWhere($where,"A.Code","'%".$userCode."%'","LIKE",$userCode);
$where = parent::createWhere($where,"A.Name","'%".$userName."%'","LIKE",$userName);
$where = parent::createWhere($where,"A.DeptID","'".$deptCode."%'","LIKE",$deptCode);
if ($roleCode!="")
{
$where = parent::createWhere($where,"(A.RoleIDOthers LIKE '%[$roleCode]%' OR A.RoleID","'".$roleCode."')","=",$roleCode);
}
if ($PAGE_INDEX >= 0)
{
$query  = "SELECT COUNT(*) FROM sys_user A ";
$query .= "LEFT JOIN sys_department B on B.Code=A.DeptID ";
$query .= "LEFT JOIN sys_roles C on C.Code=A.RoleID ";
$query .= $where;
$cursor = $dbo->ExecuteS($query,false);
$TOTAL_ITEMS = 0;
if($ROW=mysql_fetch_array($cursor))
{
$TOTAL_ITEMS=$ROW[0];
$TOTAL_ITEMS=intval($TOTAL_ITEMS);
}
$PAGES = 0;
$PAGE_START = 0;
Db::calcPages($TOTAL_ITEMS,$PAGE_SIZE,&$PAGE_INDEX,&$PAGES,&$PAGE_START);
}
else
{
}
$query  = "SELECT A.Code,A.Name,A.Description,B.Name DeptName,C.Name RoleName FROM sys_user A ";
$query .= "LEFT JOIN sys_department B on B.Code=A.DeptID ";
$query .= "LEFT JOIN sys_roles C on C.Code=A.RoleID ";
$query .= $where." ORDER BY A.Description ";
if ($PAGE_INDEX>=0)
$query .= "LIMIT {$PAGE_START}";
$cursor = $dbo->ExecuteS($query,$createType!="xml");
return $this->buildResult($cursor,$TOTAL_ITEMS,$PAGES,$PAGE_INDEX,$PAGE_SIZE,$createType);
}
public function searchUser($PAGE_SIZE,$PAGE_INDEX,$deptCode,$userCode,$userName,$roleCode="",$createType="xml")
{
$dbo = Db::getInstance();
$where = "";
$where = parent::createWhere($where,"A.Code","'%".$userCode."%'","LIKE",$userCode);
$where = parent::createWhere($where,"A.Name","'%".$userName."%'","LIKE",$userName);
if ($deptCode == "")
{
$where = parent::createWhere($where,"A.DeptID","'".$deptCode."'","=",'_');
}
else
{
$where = parent::createWhere($where,"A.DeptID","'".$deptCode."'","=",$deptCode);
}
if ($roleCode!="")
{
$where = parent::createWhere($where,"(A.RoleIDOthers LIKE '%[$roleCode]%' OR A.RoleID","'".$roleCode."')","=",$roleCode);
}
if ($PAGE_INDEX >= 0)
{
$query  = "SELECT COUNT(*) FROM sys_user A ";
$query .= "LEFT JOIN sys_department B on B.Code=A.DeptID ";
$query .= "LEFT JOIN sys_roles C on C.Code=A.RoleID ";
$query .= $where;
$cursor = $dbo->ExecuteS($query,false);
$TOTAL_ITEMS = 0;
if($ROW=mysql_fetch_array($cursor))
{
$TOTAL_ITEMS=$ROW[0];
$TOTAL_ITEMS=intval($TOTAL_ITEMS);
}
$PAGES = 0;
$PAGE_START = 0;
Db::calcPages($TOTAL_ITEMS,$PAGE_SIZE,&$PAGE_INDEX,&$PAGES,&$PAGE_START);
}
else
{
}
$query  = "SELECT A.Code,A.Name,A.Description,B.Name DeptName,C.Name RoleName FROM sys_user A ";
$query .= "LEFT JOIN sys_department B on B.Code=A.DeptID ";
$query .= "LEFT JOIN sys_roles C on C.Code=A.RoleID ";
$query .= $where." ORDER BY A.Code ";
if ($PAGE_INDEX>=0)
$query .= "LIMIT {$PAGE_START}";
$cursor = $dbo->ExecuteS($query,$createType!="xml");
return $this->buildResult($cursor,$TOTAL_ITEMS,$PAGES,$PAGE_INDEX,$PAGE_SIZE,$createType);
}
public function addSession($userCode,$sessionNo,$transCount,$sessionDate,$sessionContent)
{
$query = "INSERT INTO sys_user_session VALUES('$userCode','$sessionNo','$transCount','$sessionDate','$sessionContent')";
Db::getInstance()->Execute($query);
$query = "UPDATE sys_user SET SessionNo=SessionNo+1,SessionDate='$sessionDate' WHERE Code='$userCode'";
Db::getInstance()->Execute($query);
}
public function getSession($userCode,$sessionNo)
{
$where = "";
$where = parent::createWhere($where,"Code","'".$userCode."'","=","_");
$where = parent::createWhere($where,"SessionNo","'".$sessionNo."'","=","_");
$query  = "SELECT SessionContent FROM sys_user_session  ";
$query .= $where;
$cursor = Db::getInstance()->ExecuteS($query,true);
if (count($cursor)==0) return -10066;
$resultArr = $this->createJSONResult();
$resultArr["content"] = $cursor[0]["SessionContent"];
return $this->encodeToJSON($resultArr);
}
public function searchSession($PAGE_SIZE,$PAGE_INDEX,$userCode,$createType="xml")
{
$dbo = Db::getInstance();
$where = "";
$where = parent::createWhere($where,"A.Code","'".$userCode."'","=",$userCode);
if ($PAGE_INDEX >= 0)
{
$query  = "SELECT COUNT(*) FROM sys_user_session A ";
$query .= $where;
$cursor = $dbo->ExecuteS($query,false);
$TOTAL_ITEMS = 0;
if($ROW=mysql_fetch_array($cursor))
{
$TOTAL_ITEMS=$ROW[0];
$TOTAL_ITEMS=intval($TOTAL_ITEMS);
}
$PAGES = 0;
$PAGE_START = 0;
Db::calcPages($TOTAL_ITEMS,$PAGE_SIZE,&$PAGE_INDEX,&$PAGES,&$PAGE_START);
}
else
{
}
$query  = "SELECT a.Code,b.Name,a.SessionNo,A.SessionDate,a.Transactions FROM sys_user_session A ";
$query .= "LEFT JOIN sys_user b ON  b.Code=A.Code ";
$query .= $where." ORDER BY A.Code,A.SessionNo DESC ";
if ($PAGE_INDEX>=0)
$query .= "LIMIT {$PAGE_START}";
$cursor = $dbo->ExecuteS($query,$createType!="xml");
if ($createXML == "array") return $cursor;
return $this->buildResult($cursor,$TOTAL_ITEMS,$PAGES,$PAGE_INDEX,$PAGE_SIZE,$createType);
}
private static $_instance;
public static function getInstance()
{
if(!isset(self::$_instance))
{
self::$_instance = new TUser();
}
return self::$_instance;
}
}

Did this file decode correctly?

Original Code

<?php // Copyright VeryCo Tech Co,. LTD
$OOO0O0O00=__FILE__;$OOO000000=urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');$OO00O0000=25472;$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$O0O0000O0='OOO0000O0';eval(($$O0O0000O0('JE9PME9PMDAwMD0kT09PMDAwMDAwezE3fS4kT09PMDAwMDAwezEyfS4kT09PMDAwMDAwezE4fS4kT09PMDAwMDAwezV9LiRPT08wMDAwMDB7MTl9O2lmKCEwKSRPMDAwTzBPMDA9JE9PME9PMDAwMCgkT09PME8wTzAwLCdyYicpOyRPTzBPTzAwME89JE9PTzAwMDAwMHsxN30uJE9PTzAwMDAwMHsyMH0uJE9PTzAwMDAwMHs1fS4kT09PMDAwMDAwezl9LiRPT08wMDAwMDB7MTZ9OyRPTzBPTzAwTzA9JE9PTzAwMDAwMHsxNH0uJE9PTzAwMDAwMHswfS4kT09PMDAwMDAwezIwfS4kT09PMDAwMDAwezB9LiRPT08wMDAwMDB7MjB9OyRPTzBPTzAwME8oJE8wMDBPME8wMCwxMTY4KTskT08wME8wME8wPSgkT09PMDAwME8wKCRPTzBPTzAwTzAoJE9PME9PMDAwTygkTzAwME8wTzAwLDM4MCksJzkvRG1XR3hIdnFsTEZCUFUrNWdBYTRydzNoWFluTTB5c0NaTlNvSVFKRWJjVDJmZUtpcDZWUno3a09qdDE4dWQ9JywnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLycpKSk7ZXZhbCgkT08wME8wME8wKTs=')));return;?>
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

Function Calls

fread 3
strtr 2
fclose 1
OOO0000O0 1
urldecode 1
str_replace 1
base64_decode 2

Variables

$O0O0000O0 OOO0000O0
$OO00O0000 25472
$OO00O00O0 class TUser extends ObjectModel { public $Code; public ..
$OO0OO0000 fopen
$OO0OO000O fread
$OO0OO00O0 strtr
$OOO000000 th6sbehqla4co_sadfpnr
$OOO0000O0 base64_decode
$OOO0O0O00 index.php

Stats

MD5 3d050ace15618cac56f71e9ebdb40921
Eval Count 3
Decode Time 341 ms