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 class DB_Engine { var $x0b=array();var $x0c= array ();var $x0d= TRUE;var $x0e;var $x..
Decoded Output download
<?php class DB_Engine { var $x0b=array();var $x0c= array ();var $x0d= TRUE;var $x0e;var $x0f= 0;var $x10= 0;var $x11=0;var $x12= 0;function DB_Engine($x13, $x14, $x15, $x16, $x17) { $this->type= $x13; switch ($this->type) {case 'mysql' :$this->config_params = array('host'=>$x14,'user'=>$x15,'pass'=>$x16,'dbname'=>$x17);$this->connectMySQL($x14, $x15, $x16, $x17);break;default :die('Unknow DB: Change type of DB!');break;}$this->file= null;$this->line= null;$this->sql= null;$this->oprt= null;$this->showerr= true;}function connectMySQL($x14, $x15, $x16, $x17) {$this->link_id= mysql_connect($x14, $x15, $x16);if ($this->link_id === false)die('Can\'t connect to DB. Server. '.$x14.', user: '.$x15);if (!mysql_select_db($x17, $this->link_id))die('Can\'t select DB '.$x17.' ');mysql_query('SET NAMES utf8', $this->link_id);}function operation($x18=true) {if ($this->sql === null)return;$this->sql= (string) @ trim($this->sql);$this->time_query= $this->_mctime();switch ($this->type) {case 'mysql' :$x19= $this->MySql($x18);break;default :$x19= false;break;}if ($x19 !== false) {$this->time_query= round($this->_mctime() - $this->time_query, 4);$this->AllTimeQueries += $this->time_query;$x1a= & $this->sqls[];$x1a['operation']= $this->oprt;$x1a['file']= $this->file;$x1a['line']= $this->line;$x1a['query']= $this->sql;$x1a['time']= $this->time_query;$x1a['result']= sizeof($x19);$this->id= mysql_insert_id();unset ($x1a);$this->_clear();return $x19;}if ($this->showerr and $this->show_err) {if (preg_match('#^[^\']*? \'(.*?)\' in#',mysql_error(),$x1b=null))$this->sql = str_replace($x1b[1], '<b>'.$x1b[1].'</b>', $this->sql);$x1c= '<B>Ошибка DB:</B> <BR><BR>'.mysql_error().' <BR><BR> '.$this->sql.'';if (function_exists('critical_error'))critical_error($x1c, $this->file, $this->line);else die($x1c);}return false;}function MySql($x18=true) {if ($this->sql === null)return;$x1d= mysql_query($this->sql, $this->link_id);if ($x1d === false)return false;switch ($this->oprt) {case 'getOne' : $this->num_rows = mysql_numrows($x1d);$x19= mysql_fetch_assoc($x1d);if ($x19 === false)$x19= array ();$x19= (sizeof($x19) != 0) ? current($x19) : '';break;case 'getRow' : $this->num_rows = mysql_numrows($x1d);$x19= mysql_fetch_assoc($x1d);if ($x19 === false)$x19= array ();break;case 'getAll' : $this->num_rows = mysql_numrows($x1d);$x19= array ();while ($x1e= mysql_fetch_assoc($x1d))$x19[]= $x1e;break;case 'getCol' : $this->num_rows = mysql_numrows($x1d);$x19= array ();while ($x1e= mysql_fetch_assoc($x1d))$x19[]= current($x1e);break;case 'execute' :return true;}return $x19;}function prepare($x1f) {$x1f= trim($x1f);return mysql_real_escape_string($x1f);}function pre($x1f) {return $this->prepare($x1f);}function LastQuery($x20= 'query') {$x21= end($this->sqls);return $x21[$x20];}function TableExists($x22, $x23= true) {return (boolean) sizeof((array) $this->operation('getAll', "SHOW TABLE STATUS LIKE '".$this->pre($x22)."'", $x23));}function getOne($x24, $x23= true) { if(!empty($this->prefix))$x24=str_replace('#__',$this->prefix,$x24); $this->sql= $x24;$this->oprt= 'getOne';$this->showerr= (bool) $x23;return $this->operation();}function getRow($x24, $x23= true) { if(!empty($this->prefix))$x24=str_replace('#__',$this->prefix,$x24); $this->sql= $x24;$this->oprt= 'getRow';$this->showerr= (bool) $x23;return $this->operation();}function getCol($x24, $x23= true) { if(!empty($this->prefix))$x24=str_replace('#__',$this->prefix,$x24); $this->sql= $x24;$this->oprt= 'getCol';$this->showerr= (bool) $x23;return $this->operation();}function getAll($x24, $x23= true) { if(!empty($this->prefix))$x24=str_replace('#__',$this->prefix,$x24); $this->sql= $x24;$this->oprt= 'getAll';$this->showerr= (bool) $x23;return $this->operation();}function execute($x24, $x23= true, $x18 = true) { if(!empty($this->prefix))$x24=str_replace('#__',$this->prefix,$x24); $this->sql= $x24;$this->oprt= 'execute';$this->showerr= (bool) $x23;return $this->operation($x18);}function nextID($x25) { $this->sql= "SHOW TABLE STATUS LIKE '".$x25."'";$this->oprt= 'getRow';$this->showerr= true;$x26= $this->operation();return (integer) @ $x26['Auto_increment'];}function _clear() {$this->file= null;$this->line= null;$this->sql= null;$this->oprt= null;$this->showerr= true;}function _mctime() {list ($x27, $x28)= explode(' ', microtime());return $x27 + $x28;} function dump_db($x29, $x22='', $x2a=''){$x2b = $this->config_params['dbname'];$x2c=array();if ($x22=="") { $x2c = $this->getAll('SHOW TABLES '.($x22!="" ? 'FROM `'.$x2b.'`' : '')); $x2a = $x2a=="" ? $x2b : $x2a; }else $x2c[0]['Tables_in_'.$x2b]=$x22;$x2d = $x29.$x2a.".sql";if ($x22!="") { $x2e=false; $x2f = $this->getAll('SHOW TABLES'); foreach ($x2f as $x30 => $x31){if ($x31['Tables_in_'.$x2b]==$x22) { $x2e=true; break; }} if (!$x2e) return; } $x32='';foreach($x2c as $x30 => $x33) {$x33 = $x33['Tables_in_'.$x2b]; echo $x33; $x34 = ""; $x34 .= "DROP TABLE IF EXISTS `$x33`;
"; $x34 .= "CREATE TABLE `$x33` (";$x35 = $this->getAll("SHOW FIELDS FROM `".$x33."`"); foreach($x35 as $x30 => $x1e){$x34 .= "`$x1e[Field]` $x1e[Type]";if ($x1e["Default"] != "") $x34 .= " DEFAULT '$x1e[Default]'";if ($x1e["Null"] != "YES") $x34 .= " NOT NULL";if ($x1e['Extra'] != "") $x34 .= " $x1e[Extra]";$x34 .= ",";}$x34 = ereg_replace(",$","", $x34);$x35 = $this->getAll("SHOW KEYS FROM `".$x33."`");foreach($x35 as $x30 => $x1e){ $x36=$x1e['Key_name']; if(($x36 != "PRIMARY") && ($x1e['Non_unique'] == 0)) $x36="UNIQUE|$x36"; if(!isset($x37[$x36])) $x37[$x36] = array(); $x37[$x36][] = $x1e['Column_name']; } while(list($x38, $x39) = @each($x37)){ $x34 .= ","; if($x38 == "PRIMARY") $x34 .= " PRIMARY KEY (" . implode($x39, ", ") . ")"; else if (substr($x38,0,6) == "UNIQUE") $x34 .= " UNIQUE ".substr($x38,7)." (" . implode($x39, ", ") . ")"; else $x34 .= " KEY $x38 (" . implode($x39, ", ") . ")"; } $x34 .= ");
"; $x3a = fopen($x2d,"a+");fwrite($x3a, $x34);fclose($x3a); $x32=''; $x3b=array();if ($x33>""){$x3b[]=1;$x19=mysql_query("SELECT * FROM `".$x33."`", $this->link_id);$x3c= mysql_num_rows($x19); $x3d = mysql_num_fields($x19); for ($x3e=0;$x3e<$x3c;$x3e++){$x3f=mysql_fetch_array($x19);$x32.="INSERT INTO `$x33` (";for ($x40 = 0; $x40 < $x3d;$x40++) { $x41 = mysql_field_name($x19, $x40); if($x40 == ($x3d - 1)){$x32.= '`'.$x41.'`';} else{$x32.= '`'.$x41."`, ";} };$x32.=") VALUES ("; for ($x42=0;$x42 < $x3d;$x42++){ $x43 = mysql_escape_string($x3f[$x42]);$x43 = str_replace("
", '
',$x43);$x43 = str_replace("
", '
',$x43);$x43 = str_replace("
", '
',$x43);if($x42 == ($x3d - 1)){$x32.="'".$x43."'";}else{$x32.="'".$x43."',";} }$x32.= ");
";} $x32.= "
";}else { $x3b[]= $x44; }$x3a = fopen($x2d,"a+");for ($x45=0;$x45<count($x3b);$x45++){ fwrite($x3a, $x32); fclose($x3a); }}} function importModuleTable($x22, $x46){global $x47;$x48 = $_SERVER['DOCUMENT_ROOT'].'/MODULES/'.$x46.'/sqls';$x49 = $x48.'/'.$x22.'.sql';if (is_file($x49)) { $x0c = file($x49); foreach($x0c as $x4a){$x4a=trim($x4a);if ($x4a=="") continue;$this->execute($x4a);} unset($x0c); return true; }else return false; } } ?>
Did this file decode correctly?
Original Code
<?php class DB_Engine { var $x0b=array();var $x0c= array ();var $x0d= TRUE;var $x0e;var $x0f= 0;var $x10= 0;var $x11=0;var $x12= 0;function DB_Engine($x13, $x14, $x15, $x16, $x17) { $this->type= $x13; switch ($this->type) {case 'mysql' :$this->config_params = array('host'=>$x14,'user'=>$x15,'pass'=>$x16,'dbname'=>$x17);$this->connectMySQL($x14, $x15, $x16, $x17);break;default :die('Unknow DB: Change type of DB!');break;}$this->file= null;$this->line= null;$this->sql= null;$this->oprt= null;$this->showerr= true;}function connectMySQL($x14, $x15, $x16, $x17) {$this->link_id= mysql_connect($x14, $x15, $x16);if ($this->link_id === false)die('Can\'t connect to DB. Server. '.$x14.', user: '.$x15);if (!mysql_select_db($x17, $this->link_id))die('Can\'t select DB '.$x17.' ');mysql_query('SET NAMES utf8', $this->link_id);}function operation($x18=true) {if ($this->sql === null)return;$this->sql= (string) @ trim($this->sql);$this->time_query= $this->_mctime();switch ($this->type) {case 'mysql' :$x19= $this->MySql($x18);break;default :$x19= false;break;}if ($x19 !== false) {$this->time_query= round($this->_mctime() - $this->time_query, 4);$this->AllTimeQueries += $this->time_query;$x1a= & $this->sqls[];$x1a['operation']= $this->oprt;$x1a['file']= $this->file;$x1a['line']= $this->line;$x1a['query']= $this->sql;$x1a['time']= $this->time_query;$x1a['result']= sizeof($x19);$this->id= mysql_insert_id();unset ($x1a);$this->_clear();return $x19;}if ($this->showerr and $this->show_err) {if (preg_match('#^[^\']*? \'(.*?)\' in#',mysql_error(),$x1b=null))$this->sql = str_replace($x1b[1], '<b>'.$x1b[1].'</b>', $this->sql);$x1c= '<B>Ошибка DB:</B> <BR><BR>'.mysql_error().' <BR><BR> '.$this->sql.'';if (function_exists('critical_error'))critical_error($x1c, $this->file, $this->line);else die($x1c);}return false;}function MySql($x18=true) {if ($this->sql === null)return;$x1d= mysql_query($this->sql, $this->link_id);if ($x1d === false)return false;switch ($this->oprt) {case 'getOne' : $this->num_rows = mysql_numrows($x1d);$x19= mysql_fetch_assoc($x1d);if ($x19 === false)$x19= array ();$x19= (sizeof($x19) != 0) ? current($x19) : '';break;case 'getRow' : $this->num_rows = mysql_numrows($x1d);$x19= mysql_fetch_assoc($x1d);if ($x19 === false)$x19= array ();break;case 'getAll' : $this->num_rows = mysql_numrows($x1d);$x19= array ();while ($x1e= mysql_fetch_assoc($x1d))$x19[]= $x1e;break;case 'getCol' : $this->num_rows = mysql_numrows($x1d);$x19= array ();while ($x1e= mysql_fetch_assoc($x1d))$x19[]= current($x1e);break;case 'execute' :return true;}return $x19;}function prepare($x1f) {$x1f= trim($x1f);return mysql_real_escape_string($x1f);}function pre($x1f) {return $this->prepare($x1f);}function LastQuery($x20= 'query') {$x21= end($this->sqls);return $x21[$x20];}function TableExists($x22, $x23= true) {return (boolean) sizeof((array) $this->operation('getAll', "S\x48\117\x57\040\124\x41\x42\114E \123T\101\124\125\123 \x4cIKE '".$this->pre($x22)."'", $x23));}function getOne($x24, $x23= true) { if(!empty($this->prefix))$x24=str_replace('#__',$this->prefix,$x24); $this->sql= $x24;$this->oprt= 'getOne';$this->showerr= (bool) $x23;return $this->operation();}function getRow($x24, $x23= true) { if(!empty($this->prefix))$x24=str_replace('#__',$this->prefix,$x24); $this->sql= $x24;$this->oprt= 'getRow';$this->showerr= (bool) $x23;return $this->operation();}function getCol($x24, $x23= true) { if(!empty($this->prefix))$x24=str_replace('#__',$this->prefix,$x24); $this->sql= $x24;$this->oprt= 'getCol';$this->showerr= (bool) $x23;return $this->operation();}function getAll($x24, $x23= true) { if(!empty($this->prefix))$x24=str_replace('#__',$this->prefix,$x24); $this->sql= $x24;$this->oprt= 'getAll';$this->showerr= (bool) $x23;return $this->operation();}function execute($x24, $x23= true, $x18 = true) { if(!empty($this->prefix))$x24=str_replace('#__',$this->prefix,$x24); $this->sql= $x24;$this->oprt= 'execute';$this->showerr= (bool) $x23;return $this->operation($x18);}function nextID($x25) { $this->sql= "SH\117\x57 T\x41\102\x4c\x45\x20\123T\x41T\125\x53\040LI\x4b\x45\040'".$x25."'";$this->oprt= 'getRow';$this->showerr= true;$x26= $this->operation();return (integer) @ $x26['Auto_increment'];}function _clear() {$this->file= null;$this->line= null;$this->sql= null;$this->oprt= null;$this->showerr= true;}function _mctime() {list ($x27, $x28)= explode(' ', microtime());return $x27 + $x28;} function dump_db($x29, $x22='', $x2a=''){$x2b = $this->config_params['dbname'];$x2c=array();if ($x22=="") { $x2c = $this->getAll('SHOW TABLES '.($x22!="" ? 'FROM `'.$x2b.'`' : '')); $x2a = $x2a=="" ? $x2b : $x2a; }else $x2c[0]['Tables_in_'.$x2b]=$x22;$x2d = $x29.$x2a."\x2e\x73q\x6c";if ($x22!="") { $x2e=false; $x2f = $this->getAll('SHOW TABLES'); foreach ($x2f as $x30 => $x31){if ($x31['Tables_in_'.$x2b]==$x22) { $x2e=true; break; }} if (!$x2e) return; } $x32='';foreach($x2c as $x30 => $x33) {$x33 = $x33['Tables_in_'.$x2b]; echo $x33; $x34 = ""; $x34 .= "\x44\x52O\x50\040\x54AB\x4c\105 \x49F\040E\130\111S\x54\123 `$x33\x60\x3b\n"; $x34 .= "\103\122\x45\x41\x54E TAB\114\105\x20\x60$x33`\x20\x28";$x35 = $this->getAll("\123HO\127\x20F\x49\x45LD\x53\040F\x52\x4f\x4d \x60".$x33."\x60"); foreach($x35 as $x30 => $x1e){$x34 .= "\x60$x1e[Field]\140 $x1e[Type]";if ($x1e["D\145f\141\165l\x74"] != "") $x34 .= "\040\x44E\106\x41\x55\114\124\040'$x1e[Default]'";if ($x1e["N\x75\154\154"] != "Y\105\123") $x34 .= "\040\x4e\x4f\124\040\x4e\125\114\x4c";if ($x1e['Extra'] != "") $x34 .= "\x20$x1e[Extra]";$x34 .= ",";}$x34 = ereg_replace("\x2c$","", $x34);$x35 = $this->getAll("S\x48O\x57 \113\105\131S \x46RO\x4d\040\x60".$x33."\140");foreach($x35 as $x30 => $x1e){ $x36=$x1e['Key_name']; if(($x36 != "\x50\x52I\115\101\x52\131") && ($x1e['Non_unique'] == 0)) $x36="\x55N\111Q\125\105\x7c$x36"; if(!isset($x37[$x36])) $x37[$x36] = array(); $x37[$x36][] = $x1e['Column_name']; } while(list($x38, $x39) = @each($x37)){ $x34 .= "\x2c"; if($x38 == "\120\122\111\x4dAR\x59") $x34 .= "\x20\x50\x52\x49\115\x41\122\x59\040\x4b\105\131\040\x28" . implode($x39, ",\x20") . "\051"; else if (substr($x38,0,6) == "U\x4e\111\121\x55\x45") $x34 .= "\040\125N\x49Q\x55\x45\040".substr($x38,7)." (" . implode($x39, ",\040") . ")"; else $x34 .= " \x4bEY\x20$x38 \050" . implode($x39, "\054 ") . "\051"; } $x34 .= "\x29\x3b\n"; $x3a = fopen($x2d,"\x61+");fwrite($x3a, $x34);fclose($x3a); $x32=''; $x3b=array();if ($x33>""){$x3b[]=1;$x19=mysql_query("S\x45LE\103\124\040* \106\x52O\115 `".$x33."\140", $this->link_id);$x3c= mysql_num_rows($x19); $x3d = mysql_num_fields($x19); for ($x3e=0;$x3e<$x3c;$x3e++){$x3f=mysql_fetch_array($x19);$x32.="\x49\116\x53\x45\x52\124 \111N\124O \140$x33`\040(";for ($x40 = 0; $x40 < $x3d;$x40++) { $x41 = mysql_field_name($x19, $x40); if($x40 == ($x3d - 1)){$x32.= '`'.$x41.'`';} else{$x32.= '`'.$x41."\x60,\x20";} };$x32.="\051\040\126\101\x4c\125\105S \x28"; for ($x42=0;$x42 < $x3d;$x42++){ $x43 = mysql_escape_string($x3f[$x42]);$x43 = str_replace("\r\n", '\r\n',$x43);$x43 = str_replace("\r", '\r',$x43);$x43 = str_replace("\n", '\n',$x43);if($x42 == ($x3d - 1)){$x32.="'".$x43."'";}else{$x32.="'".$x43."'\054";} }$x32.= ")\073\n";} $x32.= "\n";}else { $x3b[]= $x44; }$x3a = fopen($x2d,"\x61+");for ($x45=0;$x45<count($x3b);$x45++){ fwrite($x3a, $x32); fclose($x3a); }}} function importModuleTable($x22, $x46){global $x47;$x48 = $_SERVER['DOCUMENT_ROOT'].'/MODULES/'.$x46.'/sqls';$x49 = $x48.'/'.$x22.'.sql';if (is_file($x49)) { $x0c = file($x49); foreach($x0c as $x4a){$x4a=trim($x4a);if ($x4a=="") continue;$this->execute($x4a);} unset($x0c); return true; }else return false; } }
Function Calls
None |
Stats
MD5 | cc9ffe5f6ec96f7e08258394a4f8d092 |
Eval Count | 0 |
Decode Time | 99 ms |