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 /* This file is protected by copyright law and provided under license. Reverse engin..

Decoded Output download


class MySql {
private $con;
private $server;
private $username;
private $password;
private $database;
private $mysqli;
var $query;
var $error;
var $error_msg;
var $TotalQueryInPage;
var $WriteTotalQuery;
var $requestObj;
function __construct($registry) {
$this->server = DB_SERVER;
$this->username = DB_USERNAME;
$this->password = DB_PASSWORD;
$this->database = DB_DATABASE;
$this->requestObj = $registry->get('requestObj');
$this->error = false;
$this->error_msg = '';
$this->TotalQueryInPage = array();
$this->WriteTotalQuery = false;
try {
if (defined('ENVIRONMENT') &&ENVIRONMENT == "Local") {
$this->con = mysqli_connect($this->server,$this->username,$this->password,'',0,'/data/mysqld.sock');
}else {
$this->con = mysqli_connect($this->server,$this->username,$this->password);
}
if (mysqli_connect_errno()) {
throw new Exception('Error : Could not connect to database - '.mysqli_connect_error());
exit;
}
if (mysqli_select_db($this->con,$this->database) === false) {
throw new Exception('Error : Database selection failed.'.$this->error());
exit;
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return;
}
return true;
}
function __destruct() {
if ($this->WriteTotalQuery) {
if (count($this->TotalQueryInPage) >0) {
$BreakPoint = chr(13) .chr(13) .'--------------------'.chr(13) .chr(13);
$this->WriteTotalQuery = implode($BreakPoint,$this->TotalQueryInPage);
$this->WriteTotalQuery = chr(13) .chr(13) .'--------------------'.chr(13) .chr(13) .$this->WriteTotalQuery;
$this->errorLogWrite($this->WriteTotalQuery);
}
}
if ($this->error == true) {
$to = '[email protected]';
$from = 'do-not-reply@'.$_SERVER['HTTP_HOST'] .'.com';
$subject = $_SERVER['HTTP_HOST'] ." check sql error log.";
$message = $this->error_msg;
$message = nl2br($message);
}
try {
if ($this->mysqli) {
$this->mysqli->close();
}
if ($this->con) {
if (!mysqli_close($this->con))
throw new Exception('Error : MySQL connection close. '.mysqli_error());
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
return true;
}
function errorLogWrite($text) {
$this->error = true;
$text = 'Caught exception: '.$text ."
";
$myFile = DIR_LOGS .'sql.log';
if (get_File_Size($myFile,'MB') >2) {
@rename($myFile,DIR_LOGS .'sql_till_'.date('d-M-Y-H-i-s-u') .'.log');
}
$myFile = DIR_LOGS .'sql.log';
if ($fh = fopen($myFile,'a+')) {
$stringData = chr(13) .'=================================================================';
$stringData .= chr(13) .date('d-M-Y H-i') .chr(13);
$stringData .= chr(13) .$this->requestObj->server['HTTP_HOST'] .$this->requestObj->server['REQUEST_URI'] .' == '.$this->requestObj->server['REMOTE_ADDR'] .chr(13) .chr(13);
$stringData .= $text;
$stringData .= chr(13) .'================================================================='.chr(13);
$this->error_msg .= $stringData;
fwrite($fh,$stringData);
fclose($fh);
}
return NULL;
}
function error($sql = NULL) {
global $_SERVER;
$errNo = mysqli_errno($this->con);
$str = "  Error Number => ".$errNo;
$str .= "  Error => ".mysqli_error($this->con);
if ($sql != NULL) {
$str .= chr(13) .chr(13) .$sql;
}
if ($errNo == 1040 ||$errNo == 2002 ||$errNo == 1226) {
$to = '[email protected]';
$from = 'do-not-reply@'.$_SERVER['HTTP_HOST'] .'.com';
$subject = $_SERVER['HTTP_HOST'] ." check sql error log.";
$message = $str .chr(13) .chr(13) .serialize($_SERVER);
$message = nl2br($message);
exit;
}
return $str;
}
function connectMysqli() {
if (!$this->mysqli) {
$this->mysqli = new mysqli($this->server,$this->username,$this->password,$this->database);
}
}
function callProcedure($sql) {
if (trim($sql) == '') {
return;
}
try {
$this->conectMysqli();
$resultPicks = $this->mysqli->query($sql);
if ($resultPicks == false) {
throw new Exception('MySql SQL '.$this->error($sql));
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
unset($resultPicks);
}
function callProcedureSelect($sql) {
if (trim($sql) == '') {
return;
}
try {
$this->conectMysqli();
$resultPicks = $this->mysqli->query($sql);
if ($resultPicks == false) {
throw new Exception('MySql SQL '.$this->error($sql));
}
while ($row = $resultPicks->fetch_assoc()) {
$data[] = $row;
}
return $data;
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
return $resultPicks;
}
function select($sql = "") {
$sql = trim($sql);
if (empty($sql)) {
return false;
}
$this->TotalQueryInPage[] = $sql;
try {
$try = preg_match("/^select/i",$sql);
if ($try === 0) {
throw new Exception('Error : Invalid use of select query - '.$sql);
}
if (!($this->con)) {
throw new Exception('Error : MySQL connection closed. - '.mysqli_connect_error());
exit;
}
$this->query = $sql;
$results = mysqli_query($this->con,$sql);
if (mysqli_errno($this->con)) {
throw new Exception('Error : MySQL result failed. '.$this->error($sql));
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return NULL;
}
$data = $this->mysqlFetchAssoc($results);
mysqli_free_result($results);
return $data;
}
function GetSqlSetString($filedAry) {
$return = NULL;
while (list($key,$value) = each($filedAry)) {
$return .= '`'.$key .'` = \''.mysqli_real_escape_string($this->con,$value) .'\', ';
}
$return = substr($return,0,strlen($return) -2);
$return = str_replace('``','',$return);
return $return;
}
function insert($tableName = NULL,$insertAry = NULL) {
try {
if (trim($tableName) == '') {
throw new Exception('Table name required.');
}
if (!is_array($insertAry)) {
throw new Exception('Table field array is required.');
}
if (!($this->con)) {
throw new Exception('Error : MySQL connection closed.');
}
$sql = "INSERT INTO ".$tableName .' SET '.$this->GetSqlSetString($insertAry);
$this->query = $sql;
$results = mysqli_query($this->con,$sql);
if ($results == false) {
throw new Exception('Error : MySQL result failed.'.$this->error($sql));
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
$InsertId = mysqli_insert_id($this->con);
return $InsertId;
}
function update($tableName = NULL,$updateAry = NULL,$whereCond = NULL) {
try {
if (trim($tableName) == '') {
throw new Exception('Error : Table name required.');
}
if (trim($whereCond) == '') {
throw new Exception('Error : Where condition required.');
}
if (!is_array($updateAry)) {
throw new Exception('Error : Table field array is required.');
}
if (!($this->con)) {
throw new Exception('Error : MySQL connection closed.');
}
$sql = "UPDATE ".$tableName .' SET '.$this->GetSqlSetString($updateAry) .' WHERE '.$whereCond;
$this->query = $sql;
$results = mysqli_query($this->con,$sql);
if ($results == false) {
throw new Exception('Error : MySQL result failed.'.$this->error($sql));
}else {
$rslt = mysqli_affected_rows($this->con);
if ($rslt == 0) {
return true;
}else {
return $rslt;
}
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
return NULL;
}
function delete($tableName = NULL,$whereCond = NULL,$alias = NULL) {
try {
if (trim($tableName) == '') {
throw new Exception('Error : Table name required.');
}
if (trim($whereCond) == '') {
throw new Exception('Error : Where condition required.');
}
if (!($this->con)) {
throw new Exception('Error : MySQL connection closed.');
}
$sql = "DELETE ".$alias ." FROM ".$tableName .' WHERE '.$whereCond;
$this->query = $sql;
$results = mysqli_query($this->con,$sql);
if ($results == false) {
throw new Exception('Error : MySQL result failed. '.$this->error($sql));
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
return mysqli_affected_rows($this->con);
}
function sql_query($sql = NULL) {
$sql = trim($sql);
try {
if (trim($sql) == '') {
throw new Exception('Error : SQL statement missing.');
}
if (!($this->con)) {
throw new Exception('Error : MySQL connection closed.');
}
$this->query = $sql;
$results = mysqli_query($this->con,$sql);
if ($results == false) {
throw new Exception('Error : MySQL result failed. '.$this->error($sql));
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
if (preg_match("/^update/i",$sql)) {
$rslt = mysqli_affected_rows($this->con);
if ($rslt == 0) {
return true;
}else {
return $rslt;
}
return $results;
}
if (preg_match("/^select/i",$sql)) {
return $data = $this->mysqlFetchAssoc($results);
}
if (!preg_match("/^truncate/i",$sql) &&!preg_match("/^delete/i",$sql) &&!preg_match("/^LOAD DATA/i",$sql)) {
mysqli_free_result($results);
}
return NULL;
}
function fields($tableName = NULL) {
try {
if (trim($tableName) == '') {
throw new Exception('Table name required.');
}
if (!($this->con)) {
throw new Exception('MySql connection close');
}
$sql = "SHOW COLUMNS FROM ".$tableName;
$this->query = $sql;
$results = mysqli_query($this->con,$sql);
if ($results == false) {
throw new Exception('MySql SQL '.$this->error($sql));
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
$data = $this->mysqlFetchAssoc($results);
mysqli_free_result($results);
return $data;
}
function tables() {
try {
if (trim($this->database) == '') {
throw new Exception('Databse name is not available.');
}
if (!($this->con)) {
throw new Exception('MySql connection close');
}
$sql = "SHOW TABLES FROM ".$this->database;
$this->query = $sql;
$results = mysqli_query($this->con,$sql);
if ($results == false) {
throw new Exception('MySql SQL '.$this->error($sql));
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
$data = $this->mysqlFetchAssoc($results);
mysqli_free_result($results);
return $data;
}
function changeTablePrefix($old,$new) {
$table_rs = $this->tables();
for ($i = 0;$i <count($table_rs);$i++)
{
$tempNew = str_replace($old,$new,$table_rs[$i]['Tables_in_'.DB_DATABASE]);
echo $sql = "RENAME TABLE `".$table_rs[$i]['Tables_in_'.DB_DATABASE] ."`  TO `".$tempNew ."`; ";
echo "<br>";
}
return NULL;
}
function mysqlFetchAssoc($results) {
$count = 0;
$data = array();
while ($row = mysqli_fetch_assoc($results)) {
$row = array_map('ArrayStripcslashes',$row);
$data[$count] = $row;
$count++;
}
return $data;
}
function getInsertUpdateArray($tblName) {
$RS = $this->fields($tblName);
$forCnt = count($RS);
$strAry = array();
for ($i = 0;$i <$forCnt;$i++)
{
$strAry[] = '\''.$RS[$i]['Field'] .'\'##=> $'.$RS[$i]['Field'];
}
$br = '<br>';
$tab = chr(9) .chr(9);
$str = str_replace('##',$tab,implode(','.$br,$strAry));
echo $rntStr = html_entity_decode('array( 	'.$br .$str .$br .');');
return NULL;
}
function getQuery() {
echo $this->query;
return NULL;
}
function ExplainQuery() {
$sql = 'EXPLAIN '.$this->query;
try {
$results = mysqli_query($this->con,$sql);
if ($results == false) {
throw new Exception('MySql SQL '.$this->error($sql));
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
$data = $this->mysqlFetchAssoc($results);
return $data;
}
function fetch_array($db_query) {
return mysqli_fetch_array($db_query,MYSQLI_ASSOC);
}
function not_null($value) {
if (is_array($value)) {
if (sizeof($value) >0) {
return true;
}else {
return false;
}
}else {
if ((is_string($value) ||is_int($value)) &&($value != '') &&($value != 'NULL') &&(strlen(trim($value)) >0)) {
return true;
}else {
return false;
}
}
}
function deletePastMonthBackup() {
if ($handle = opendir(DATABASE_BACKUP_PATH)) {
$lastmonth = mktime(0,0,0,date("m") -1,date("d"),date("Y"));
while (false !== ($file = readdir($handle))) {
if ($file != '.'and $file != '..'and $file != 'index.php'and $file != '.htaccess') {
$x_time = filemtime(DATABASE_BACKUP_PATH .$file);
$x_ext = pathinfo(DATABASE_BACKUP_PATH .$file,PATHINFO_EXTENSION);
if ($x_time <$lastmonth and strtolower($x_ext) == 'sql') {
@unlink(DATABASE_BACKUP_PATH .$file);
}
}
}
closedir($handle);
}
return NULL;
}
function getDatabaseDump() {
$time_offset = "525";
$time_a = ($time_offset * 120);
$time = date("h_i",time() +$time_a);
$fileName = date("F_d_Y_".$time) .'_'.$this->database .".sql";
$backup_file = DATABASE_BACKUP_PATH .$fileName;
$mysqlBase = $this->fetch_array(mysqli_query($this->con,'SELECT @@basedir as basedir'));
$mysqlBase = $mysqlBase['basedir'];
$sql = $mysqlBase .'bin/mysqldump -h'.$this->server .' -u'.$this->username .' -p'.$this->password .' '.$this->database .' > '.$backup_file;
try {
$results = exec($sql);
if ($results == false)
throw new Exception('MySql SQL '.$results);
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
return NULL;
}
function getDatabaseBackup() {
ini_set('max_execution_time',0);
$this->deletePastMonthBackup();
$time_offset = "525";
$time_a = ($time_offset * 120);
$time = date("h_i",time() +$time_a);
$fileName = date("F_d_Y_".$time) .'_'.$this->database .".sql";
$backup_file = DATABASE_BACKUP_PATH .$fileName;
if (!file_exists($backup_file)) {
$Database_Back_Up = true;
}else {
$Database_Back_Up = false;
}
if ($Database_Back_Up == true) {
$fp = fopen($backup_file,'w');
$schema = '# Database Backup For '.TITLE ."
".
'# Copyright (c) '.date('Y') .' '.TITLE ."
".
'#'."
".
'# Server version: '.mysqli_get_server_info($this->con) ."
".
'#'."
".
'# PHP Version: '.phpversion() ."
".
'#'."
".
'# Database Name: '.$this->database ."
".
'# Database Host: '.$this->server ."
".
'#'."
".
'# Generation Time: '.date("F d, Y  h:i A") ."

";
fputs($fp,$schema);
$schema = NULL;
$sql = 'SHOW TABLES';
try {
$tables_query = mysqli_query($this->con,$sql);
if ($tables_query == false) {
throw new Exception('MySql SQL '.$this->error($sql));
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
while ($tables = $this->fetch_array($tables_query)) {
list(,$table) = each($tables);
mysqli_query($this->con,"ANALYZE TABLE `".$table ."`");
mysqli_query($this->con,"OPTIMIZE TABLE `".$table ."`");
$schema .= "
".'-- --------------------------------------------------------';
$schema .= "

".'DROP TABLE IF EXISTS `'.$table .'`;'."
".
'CREATE TABLE IF NOT EXISTS `'.$table .'` ('."
";
$table_list = array();
$sql_dsp = "SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '".$this->database ."' AND TABLE_NAME = '".$table ."'";
try {
$fields_query = mysqli_query($this->con,$sql_dsp);
if ($fields_query == false) {
throw new Exception('MySql SQL '.$this->error($sql_dsp));
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
while ($fields = $this->fetch_array($fields_query)) {
if ($table == "ds_orders"&&$fields['COLUMN_NAME'] == "ccno") {
}else {
$table_list[] = $fields['COLUMN_NAME'];
$schema .= '  `'.$fields['COLUMN_NAME'] .'` '.$fields['COLUMN_TYPE'];
if (isset($fields['COLLATION_NAME'])) {
$schema .= ' collate '.$fields['COLLATION_NAME'];
}
if ($fields['IS_NULLABLE'] != 'YES') {
$schema .= ' NOT NULL';
}
if ($fields['COLUMN_DEFAULT'] == 'CURRENT_TIMESTAMP') {
if (strlen($fields['COLUMN_DEFAULT']) >0)
$schema .= ' default '.$fields['COLUMN_DEFAULT'];
}
else {
if (strlen($fields['COLUMN_DEFAULT']) >0)
$schema .= ' default \''.$fields['COLUMN_DEFAULT'] .'\'';
}
if (isset($fields['EXTRA'])) {
$schema .= ' '.$fields['EXTRA'];
}
if (strlen($fields['COLUMN_COMMENT']) >0) {
$schema .= ' COMMENT \''.str_replace('\'','\'\'',$fields['COLUMN_COMMENT']) .'\'';
}
$schema .= ','."
";
}
}
$schema = preg_replace("/,
$/",'',$schema);
$index = array();
$sql_that = "SHOW KEYS FROM `".$table ."`";
try {
$keys_query = mysqli_query($this->con,$sql_that);
if ($keys_query == false) {
throw new Exception('MySql SQL '.$this->error($sql_that));
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
while ($keys = $this->fetch_array($keys_query)) {
$kname = $keys['Key_name'];
if (!isset($index[$kname])) {
$index[$kname] = array(
'unique'=>!$keys['Non_unique'],
'fulltext'=>($keys['Index_type'] == 'FULLTEXT'?'1': '0'),
'columns'=>array()
);
}
$index[$kname]['columns'][] = $keys['Column_name'];
}
while (list($kname,$info) = each($index)) {
$schema .= ','."
";
$columns = implode($info['columns'],', ');
if ($kname == 'PRIMARY') {
$schema .= '  PRIMARY KEY ('.$columns .')';
}elseif ($info['fulltext'] == '1') {
$schema .= '  FULLTEXT '.$kname .' ('.$columns .')';
}elseif ($info['unique']) {
$schema .= '  UNIQUE '.$kname .' ('.$columns .')';
}elseif ($info['COMMENT']) {
$schema .= '  COMMENT '.$kname .' ('.$columns .')';
}else {
$schema .= '  KEY '.$kname .' ('.$columns .')';
}
}
$Engine = '';
$Charset = '';
$Collate = '';
$AutoIncrement = '';
$sql = "SELECT AUTO_INCREMENT, ENGINE FROM information_schema.TABLES 
				  		  WHERE TABLE_SCHEMA = '".$this->database ."' AND TABLE_NAME = '".$table ."'";
$getEngine = $this->select($sql);
if (strlen($getEngine[0]['ENGINE']) >0) {
$Engine = ' ENGINE='.$getEngine[0]['ENGINE'];
}
if (strlen($getEngine[0]['AUTO_INCREMENT']) >0) {
$AutoIncrement = ' AUTO_INCREMENT='.$getEngine[0]['AUTO_INCREMENT'];
}
$sql = "SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '".$this->database ."'";
$getSchemata = $this->select($sql);
if (strlen($getSchemata[0]['DEFAULT_CHARACTER_SET_NAME']) >0) {
$Charset = ' DEFAULT CHARSET='.$getSchemata[0]['DEFAULT_CHARACTER_SET_NAME'];
}
if (strlen($getSchemata[0]['DEFAULT_COLLATION_NAME']) >0) {
$Collate = ' COLLATE='.$getSchemata[0]['DEFAULT_COLLATION_NAME'];
}
$schema .= "
".') '.$Engine .$Charset .$Collate .$AutoIncrement .' ;'."

";
fputs($fp,$schema);
$schema = NULL;
$table_fields_string = "`".implode('`,`',$table_list) ."`";
$sql_qd = "SELECT ".$table_fields_string ." from `".$table ."`";
try {
$rows_query = mysqli_query($this->con,$sql_qd);
if ($rows_query == false) {
throw new Exception('MySql SQL '.$this->error($sql_qd));
}
}catch (Exception $e) {
$this->errorLogWrite($e->getMessage());
return false;
}
$schema_qd = 'INSERT INTO `'.$table .'` ('.$table_fields_string .') VALUES '."
";
$schema_qd_temp = $schema_qd;
$rec_count = mysqli_num_rows($rows_query);
$cnt = 1;
while ($rows = $this->fetch_array($rows_query)) {
$schema = $schema_qd;
$schema_qd = '';
$schema .= '(';
reset($table_list);
while (list(,$i) = each($table_list)) {
if (!isset($rows[$i])) {
$schema .= 'NULL, ';
}elseif ($this->not_null($rows[$i])) {
$row = mysqli_real_escape_string(($rows[$i]));
$row = preg_replace("/
#/","
".'\#',$row);
$schema .= '\''.$row .'\', ';
}else {
$schema .= '\'\', ';
}
}
if ($cnt == $rec_count ||($cnt %50) == 0) {
$schema = preg_replace('/, $/','',$schema) .');'."
";
$schema_qd = $schema_qd_temp;
}else {
$schema = preg_replace('/, $/','',$schema) .'),'."
";
}
$cnt++;
fputs($fp,$schema);
}
$schema = NULL;
}
fclose($fp);
return NULL;
}
}
}
function get_File_Size($file,$type) {
switch ($type) {
case "KB":
$filesize = filesize($file) * .0009765625;
break;
case "MB":
$filesize = (filesize($file) * .0009765625) * .0009765625;
break;
case "GB":
$filesize = ((filesize($file) * .0009765625) * .0009765625) * .0009765625;
break;
}
if ($filesize <= 0) {
return $filesize = 0;
}else {
return round($filesize,2);
}
}
function ArrayStripcslashes($value) {
return stripcslashes($value);
}
function ArrayEscapestring($value) {
return mysqli_real_escape_string($value);
}

Did this file decode correctly?

Original Code

<?php /* This file is protected by copyright law and provided under license. Reverse engineering of this file is strictly prohibited. */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');$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};$OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};$O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};$O0O000O0O=$O0O000O00.$OOO000000{11};$O0O000O00=$O0O000O00.$OOO000000{3};$O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};$OOO0O0O00=__FILE__;$OO00O0000=25200;eval($OOO0000O0('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NGY2KTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdFbnRlcnlvdXdraFJIWUtOV09VVEFhQmJDY0RkRmZHZ0lpSmpMbE1tUHBRcVNzVnZYeFp6MDEyMzQ1Njc4OSsvPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='));return;?>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b2clfoYPb2yZFMy5htOLCl9xfBaZGUxYBaYOTrlgWaYTT0HpKXp9tMc1dMY0DB9Vwo5vfy9VfBxShtO2CBx1cULIGXppcJEPDbYgCbkZCbLPkucidualhULIGXppcJEPF2l6cB9MhtO2CBx1cULINjEpwuShFMa0fbkVwuOZfBA7tm1lduYlwuShFMa0fbkVwociduYlKXp9tm1lduYlwuShDBCIhtipF19zfukpdMFPkucidualhUn8golzb2lVftILfMySfBAphUEMkJILfMySfBAIwT0IkZFpwtCMhtO2CBx1cUEiNUEmTlaHTtFpwtCMhuY0FMxldJi0FMlshtO2CBx1cULpwe4XhULIGXpZcbO1FM4Ifuk1cTShgBaSF2AIGXpZcbO1FM4IcMySF2A7tm0hgWp9tMc1dMY0DB9VwoOldoa0caniF3OYd250DrkiC2s1FtIpwuShDBCIhtOPCB5LdoAINUnvFoaVcolZhrOnarytWaYyb0knW0saAy9WWaOwhULIGXPLdoyzfo1vdmOPwe0IdBs0DB1lheESHtXXRoOifoAPwM0JhUEsHUxLCbOlhtkLwJLScoy0cUIJBUwphTShf2ipdoAIhociduYlwtr9NUEPkocpdoAINUnZcByLcolZhtOPCB5LdoAphULIGXppcJEPkocpdoAIwT0IkZ4mCB5LwtOMDBxlwtr9wtFVRJfidMWIkocpdoAIwT0Ik2lVcoa4RmnPFtfidMWIkocpdoAIwT0IkZ5PfoyjC2azFZFpwuShkuigfolscUE9wocpdoasfolscUirWaOnWLyTOa9tWAYRaangAryAUtEVkocpdoApKXPLGy9lGuWINUnXCbOPDB5MdZirWaOnWLyTOa9tWAYRaangAryAUtEVkocpdoASAryAUrlKOL9gOaiAOA5TUA9KhTShDBCIhtO4b3OpdBAINtOSCbY0dB9VfoIICB5LwuY0FmOvdo93cbwPkuigcbi0hUE9NUEmF3ySkZLIGXpEfB5SDB5qhrOnarytWaYyb0knW0saAy9WWaOwwt4LcMlScUL7tm0hgWp9tMYSd3YlcolZhtOPCB5LdoApKXp9tmklfuaZdJnKaAxHKXp9tMc1dMY0DB9VwoflfrOifoyJCbYlOuasFtIpwuShkuOpdBagd2cMF2a0we0IwjAZYUw7tJO0DB1l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

Function Calls

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

Variables

$O000O0O00 True
$O0O000O00 fgets
$O0O000O0O fgetc
$O0O00OO00 fread
$OO00O0000 25200
$OO00O00O0 class MySql { private $con; private $server; private $usern..
$OOO000000 fg6sbehpra4co_tnd
$OOO00000O strtr
$OOO0000O0 base64_decode
$OOO000O00 fopen
$OOO0O0O00 index.php

Stats

MD5 92ac6c782413673675e7fdcd99ea9c25
Eval Count 3
Decode Time 203 ms