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('CiBnb3RvIEU3WENLOyBXOTFodjogPz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xh..
Decoded Output download
goto E7XCK; W91hv: ?>
</div>
<div class="container">
<pre>
___ ____ _ _ _____ _____ _____ _ _ ____ _____
| \/ (_) | | |_ _| / ___| / __ (_) | / ___|| _ |
| . . |_| | | __| | ___ \ `--. _ _ ___ _ _ | / \/_| |_ _ _/ /___ | |_| |
| |\/| | | | |/ /| |/ __| `--. \ | | / __| | | | | | | | __| | | | ___ \____ |
| | | | | | <_| |\__ \/\__/ / |_| \__ \ |_| | | \__/\ | |_| |_| | \_/ |.___/ /
\_| |_/_|_|_|\_\___/___/\____/ \__,_|___/\__,_| \____/_|\__|\__, \_____/\____/
__/ |
|___/
</pre>
<h2>Satpol PP Webshell Scanner</h2>
<form method="POST">
<label>Lokasi Ngentod:</label><br>
<input type="text" name="dir" value="<?php goto QKZZK; m2Qqo: if (isset($_POST["delete_file"])) { $fileToDelete = $_POST["delete_file"]; $message = ''; if (file_exists($fileToDelete)) { unlink($fileToDelete); $message = "File berhasil dihapus: {$fileToDelete}"; } else { $message = "File tidak ditemukan: {$fileToDelete}"; } $_SESSION["message"] = $message; scanFiles($directory, $malicious_patterns); header("Content-Type: text/html"); echo file_get_contents($_SERVER["PHP_SELF"]); die; } goto DRh8g; DRh8g: $malicious_patterns = array("eval(", "base64_decode(", "exec(", "system(", "passthru(", "shell_exec(", "proc_open(", "popen(", "assert(", "gzuncompress(", "gzinflate(", "str_rot13("); goto LhWJL; py9Jp: if (isset($_POST["scan"])) { scanFiles($directory, $malicious_patterns); } goto zG9q_; n4EGz: ?>
</pre>
</div>
</div>
</body>
</html>
<?php goto yz8iI; QKZZK: echo htmlspecialchars($directory); goto xEkbw; UoXgG: if (isset($_SESSION["message"])) { ?>
<p style="color: green;"> <?php echo $_SESSION["message"]; unset($_SESSION["message"]); ?>
</p>
<?php } goto sl3AW; zG9q_: ?>
<!DOCTYPE html>
<html>
<head>
<title>PHP Webshell Scanner</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: black;
color: #00FF00;
overflow: auto;
height: 100vh;
position: relative;
}
.container {
max-width: 600px;
margin: auto;
padding: 20px;
z-index: 1;
position: relative;
}
h2 {
text-align: center;
}
.box {
border: 1px solid #ccc;
padding: 10px;
background: rgba(0, 0, 0, 0.7);
color: white;
}
.danger {
color: red;
font-weight: bold;
}
.warning {
color: orange;
}
input, button {
padding: 5px;
margin-top: 5px;
}
a {
text-decoration: none;
color: #00FF00;
}
pre {
font-family: "Courier New", Courier, monospace;
}
@keyframes matrix {
0% { transform: translateY(0); opacity: 1; }
100% { transform: translateY(100%); opacity: 0; }
}
.matrix-background {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 0;
pointer-events: none;
background: black;
overflow: hidden;
height: 200%;
}
.matrix-line {
position: absolute;
width: 100%;
height: 100%;
color: #00FF00;
font-family: "Courier New", Courier, monospace;
font-size: 14px;
opacity: 0.2;
animation: matrix 2s infinite;
white-space: nowrap;
}
.matrix-line:nth-child(even) {
animation-duration: 1s;
}
.matrix-line:nth-child(odd) {
animation-duration: 3s;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
// Tangani penghapusan file dengan AJAX
$("form.delete-file").submit(function(event) {
event.preventDefault(); // Mencegah reload halaman
var form = $(this);
$.ajax({
type: "POST",
url: "", // URL yang sama dengan halaman saat ini
data: form.serialize(), // Kirim data form
success: function(response) {
// Perbarui tampilan setelah penghapusan
$("#scan-results").html($(response).find("#scan-results").html());
$("#scan-log").html($(response).find("#scan-log").html());
}
});
});
});
</script>
</head>
<body>
<div class="matrix-background">
<?php goto AdK5j; RGawn: echo file_exists("scan_log.txt") ? htmlspecialchars(file_get_contents("scan_log.txt")) : "Belum ada scan yang dilakukan."; goto n4EGz; AdK5j: for ($i = 0; $i < 100; $i++) { ?>
<div class="matrix-line"><?php echo rand(0, 9); ?>
</div>
<?php } goto W91hv; rj9X_: function scanFiles($dir, $patterns) { $logFile = "scan_log.txt"; file_put_contents($logFile, "Scan dimulai pada: " . date("Y-m-d H:i:s") . "
"); $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir)); $results = array(); foreach ($files as $file) { if ($file->isFile() && pathinfo($file, PATHINFO_EXTENSION) === "php") { $content = file_get_contents($file->getRealPath()); $reason = ''; $foundPatterns = array(); foreach ($patterns as $pattern) { if (stripos($content, $pattern) !== false) { if (!in_array($pattern, $foundPatterns)) { $foundPatterns[] = $pattern; } } } if (count($foundPatterns) > 0) { $danger = in_array("eval(", $foundPatterns) || in_array("base64_decode(", $foundPatterns) ? " Penyakit Kelamin" : " Suuzon"; $reason = "File ini mengandung: " . implode(", ", $foundPatterns); $results[] = array($file->getRealPath(), $danger, $reason); file_put_contents($logFile, "{$danger}: " . $file->getRealPath() . " - {$reason}
", FILE_APPEND); } } } usort($results, function ($a, $b) { $order = array(" Suuzon" => 1, " Penyakit Kelamin" => 0); return $order[$a[1]] - $order[$b[1]]; }); $_SESSION["scan_results"] = $results; } goto m2Qqo; E7XCK: session_start(); goto rj9X_; xEkbw: ?>
" size="50">
<button type="submit" name="scan">Mulai Entot</button>
</form>
<?php goto UoXgG; LhWJL: $directory = isset($_POST["dir"]) ? $_POST["dir"] : __DIR__; goto py9Jp; mf5bn: ?>
</div>
<br>
<h3>Log Scan:</h3>
<div id="scan-log" class="box">
<pre><?php goto RGawn; yz8iI: function getDomainFromPath($path) { $relativePath = str_replace("/var/www/", '', $path); return $relativePath; } goto E5oUl; sl3AW: ?>
<div id="scan-results">
<?php goto ib9j0; ib9j0: if (isset($_SESSION["scan_results"])) { ?>
<h3>Hasil Scan:</h3>
<div class="box">
<?php if (empty($_SESSION["scan_results"])) { ?>
<p>Tidak ada file Suuzon ditemukan.</p>
<?php } else { ?>
<ul>
<?php foreach ($_SESSION["scan_results"] as $result) { ?>
<li class="<?php echo $result[1] == " Penyakit Kelamin" ? "danger" : "warning"; ?>
">
<?php echo $result[1]; ?>
-
<a href="http://<?php echo getDomainFromPath($result[0]); ?>
" target="_blank">
<?php echo getDomainFromPath($result[0]); ?>
</a> <br>
<small><?php echo isset($result[2]) ? $result[2] : "Alasan tidak ditemukan"; ?>
</small> <br>
<form method="POST" class="delete-file" style="display: inline;">
<input type="hidden" name="delete_file" value="<?php echo $result[0]; ?>
">
<button type="submit">Hapus File</button>
</form>
</li>
<?php } ?>
</ul>
<?php } ?>
</div>
<?php } goto mf5bn; E5oUl:
Did this file decode correctly?
Original Code
<?php eval(base64_decode('CiBnb3RvIEU3WENLOyBXOTFodjogPz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPHByZT4KIF9fXyAgX19fXyBfIF8gICBfX19fXyAgICAgX19fX18gICAgICAgICAgICAgICAgICAgX19fX18gXyBfICAgICAgICAgIF9fX18gIF9fX19fIAp8ICBcLyAgKF8pIHwgfCB8XyAgIF98ICAgLyAgX19ffCAgICAgICAgICAgICAgICAgLyAgX18gKF8pIHwgICAgICAgIC8gX19ffHwgIF8gIHwKfCAuICAuIHxffCB8IHwgX198IHwgX19fIFwgYC0tLiBfICAgXyBfX18gXyAgIF8gIHwgLyAgXC9ffCB8XyBfICAgXy8gL19fXyB8IHxffCB8CnwgfFwvfCB8IHwgfCB8LyAvfCB8LyBfX3wgYC0tLiBcIHwgfCAvIF9ffCB8IHwgfCB8IHwgICB8IHwgX198IHwgfCB8IF9fXyBcXF9fX18gfAp8IHwgIHwgfCB8IHwgICA8X3wgfFxfXyBcL1xfXy8gLyB8X3wgXF9fIFwgfF98IHwgfCBcX18vXCB8IHxffCB8X3wgfCBcXy8gfC5fX18vIC8KXF98ICB8Xy9ffF98X3xcX1xfX18vX19fL1xfX19fLyBcX18sX3xfX18vXF9fLF98ICBcX19fXy9ffFxfX3xcX18sIFxfX19fXy9cX19fXy8gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fLyB8ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxfX18vICAgICAgICAgICAgICAgCjwvcHJlPgoKICAgICAgICA8aDI+U2F0cG9sIFBQIFdlYnNoZWxsIFNjYW5uZXI8L2gyPgogICAgICAgIDxmb3JtIG1ldGhvZD0iUE9TVCI+CiAgICAgICAgICAgIDxsYWJlbD5Mb2thc2kgTmdlbnRvZDo8L2xhYmVsPjxicj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImRpciIgdmFsdWU9Ijw/cGhwICBnb3RvIFFLWlpLOyBtMlFxbzogaWYgKGlzc2V0KCRfUE9TVFsiXHg2NFwxNDVceDZjXHg2NVx4NzRcMTQ1XDEzN1wxNDZceDY5XHg2Y1wxNDUiXSkpIHsgJGZpbGVUb0RlbGV0ZSA9ICRfUE9TVFsiXHg2NFwxNDVceDZjXDE0NVwxNjRceDY1XDEzN1x4NjZceDY5XDE1NFwxNDUiXTsgJG1lc3NhZ2UgPSAnJzsgaWYgKGZpbGVfZXhpc3RzKCRmaWxlVG9EZWxldGUpKSB7IHVubGluaygkZmlsZVRvRGVsZXRlKTsgJG1lc3NhZ2UgPSAiXDEwNlwxNTFceDZjXHg2NVw0MFwxNDJcMTQ1XHg3MlwxNTBceDYxXDE2M1wxNTFceDZjXHgyMFx4NjRceDY5XHg2OFx4NjFceDcwXDE2NVx4NzNceDNhXDQweyRmaWxlVG9EZWxldGV9IjsgfSBlbHNlIHsgJG1lc3NhZ2UgPSAiXHg0NlwxNTFceDZjXHg2NVw0MFwxNjRcMTUxXDE0NFx4NjFceDZiXDQwXHg2NFx4NjlceDc0XDE0NVwxNTVceDc1XHg2Ylx4NjFcMTU2XDcyXHgyMHskZmlsZVRvRGVsZXRlfSI7IH0gJF9TRVNTSU9OWyJceDZkXDE0NVwxNjNceDczXDE0MVx4NjdcMTQ1Il0gPSAkbWVzc2FnZTsgc2NhbkZpbGVzKCRkaXJlY3RvcnksICRtYWxpY2lvdXNfcGF0dGVybnMpOyBoZWFkZXIoIlx4NDNcMTU3XDE1Nlx4NzRcMTQ1XDE1NlwxNjRceDJkXDEyNFx4NzlceDcwXHg2NVx4M2FceDIwXDE2NFx4NjVcMTcwXHg3NFx4MmZcMTUwXHg3NFwxNTVceDZjIik7IGVjaG8gZmlsZV9nZXRfY29udGVudHMoJF9TRVJWRVJbIlwxMjBceDQ4XHg1MFwxMzdceDUzXDEwNVx4NGNcMTA2Il0pOyBkaWU7IH0gZ290byBEUmg4ZzsgRFJoOGc6ICRtYWxpY2lvdXNfcGF0dGVybnMgPSBhcnJheSgiXDE0NVwxNjZceDYxXDE1NFx4MjgiLCAiXDE0Mlx4NjFcMTYzXHg2NVw2Nlw2NFwxMzdcMTQ0XDE0NVx4NjNceDZmXDE0NFx4NjVcNTAiLCAiXHg2NVwxNzBceDY1XDE0M1w1MCIsICJcMTYzXDE3MVwxNjNcMTY0XDE0NVwxNTVcNTAiLCAiXHg3MFwxNDFceDczXDE2M1wxNjRcMTUwXDE2Mlx4NzVcNTAiLCAiXDE2M1wxNTBcMTQ1XHg2Y1wxNTRcMTM3XDE0NVx4NzhcMTQ1XDE0M1w1MCIsICJcMTYwXDE2Mlx4NmZceDYzXDEzN1x4NmZceDcwXDE0NVx4NmVceDI4IiwgIlx4NzBceDZmXHg3MFwxNDVceDZlXDUwIiwgIlwxNDFceDczXHg3M1wxNDVcMTYyXHg3NFw1MCIsICJceDY3XDE3Mlx4NzVceDZlXDE0M1x4NmZceDZkXHg3MFwxNjJcMTQ1XDE2M1x4NzNcNTAiLCAiXHg2N1wxNzJcMTUxXDE1Nlx4NjZceDZjXDE0MVx4NzRceDY1XDUwIiwgIlwxNjNceDc0XHg3MlwxMzdcMTYyXHg2ZlwxNjRcNjFcNjNceDI4Iik7IGdvdG8gTGhXSkw7IHB5OUpwOiBpZiAoaXNzZXQoJF9QT1NUWyJcMTYzXDE0M1wxNDFceDZlIl0pKSB7IHNjYW5GaWxlcygkZGlyZWN0b3J5LCAkbWFsaWNpb3VzX3BhdHRlcm5zKTsgfSBnb3RvIHpHOXFfOyBuNEVHejogPz4KPC9wcmU+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cgo8P3BocCAgZ290byB5ejhpSTsgUUtaWks6IGVjaG8gaHRtbHNwZWNpYWxjaGFycygkZGlyZWN0b3J5KTsgZ290byB4RWtidzsgVW9YZ0c6IGlmIChpc3NldCgkX1NFU1NJT05bIlx4NmRceDY1XHg3M1wxNjNceDYxXHg2N1x4NjUiXSkpIHsgPz4KICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOiBncmVlbjsiPiA8P3BocCAgZWNobyAkX1NFU1NJT05bIlx4NmRcMTQ1XDE2M1x4NzNceDYxXDE0N1wxNDUiXTsgdW5zZXQoJF9TRVNTSU9OWyJceDZkXHg2NVx4NzNceDczXHg2MVx4NjdceDY1Il0pOyA/PgogPC9wPgogICAgICAgIDw/cGhwICB9IGdvdG8gc2wzQVc7IHpHOXFfOiA/PgoKPCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDx0aXRsZT5QSFAgV2Vic2hlbGwgU2Nhbm5lcjwvdGl0bGU+CiAgICA8c3R5bGU+CiAgICAgICAgYm9keSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKICAgICAgICAgICAgY29sb3I6ICMwMEZGMDA7CiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfQoKICAgICAgICAuY29udGFpbmVyIHsKICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDsKICAgICAgICAgICAgbWFyZ2luOiBhdXRvOwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgICB6LWluZGV4OiAxOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfQoKICAgICAgICBoMiB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5ib3ggewogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOwogICAgICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7CiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICB9CgogICAgICAgIC5kYW5nZXIgewogICAgICAgICAgICBjb2xvcjogcmVkOwogICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICB9CgogICAgICAgIC53YXJuaW5nIHsKICAgICAgICAgICAgY29sb3I6IG9yYW5nZTsKICAgICAgICB9CgogICAgICAgIGlucHV0LCBidXR0b24gewogICAgICAgICAgICBwYWRkaW5nOiA1cHg7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDsKICAgICAgICB9CgogICAgICAgIGEgewogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGNvbG9yOiAjMDBGRjAwOwogICAgICAgIH0KCiAgICAgICAgcHJlIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgbWF0cml4IHsKICAgICAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IG9wYWNpdHk6IDE7IH0KICAgICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgb3BhY2l0eTogMDsgfQogICAgICAgIH0KCiAgICAgICAgLm1hdHJpeC1iYWNrZ3JvdW5kIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIHJpZ2h0OiAwOwogICAgICAgICAgICBib3R0b206IDA7CiAgICAgICAgICAgIHotaW5kZXg6IDA7CiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBibGFjazsKICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgICAgaGVpZ2h0OiAyMDAlOwogICAgICAgIH0KCiAgICAgICAgLm1hdHJpeC1saW5lIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBjb2xvcjogIzAwRkYwMDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgICAgIGFuaW1hdGlvbjogbWF0cml4IDJzIGluZmluaXRlOwogICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIH0KCiAgICAgICAgLm1hdHJpeC1saW5lOm50aC1jaGlsZChldmVuKSB7CiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgICAgICAgfQoKICAgICAgICAubWF0cml4LWxpbmU6bnRoLWNoaWxkKG9kZCkgewogICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDNzOwogICAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTMuNi4wLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0PgogICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAvLyBUYW5nYW5pIHBlbmdoYXB1c2FuIGZpbGUgZGVuZ2FuIEFKQVgKICAgICAgICAgICAgJCgiZm9ybS5kZWxldGUtZmlsZSIpLnN1Ym1pdChmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gTWVuY2VnYWggcmVsb2FkIGhhbGFtYW4KICAgICAgICAgICAgICAgIHZhciBmb3JtID0gJCh0aGlzKTsKCiAgICAgICAgICAgICAgICAkLmFqYXgoewogICAgICAgICAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwKICAgICAgICAgICAgICAgICAgICB1cmw6ICIiLCAvLyBVUkwgeWFuZyBzYW1hIGRlbmdhbiBoYWxhbWFuIHNhYXQgaW5pCiAgICAgICAgICAgICAgICAgICAgZGF0YTogZm9ybS5zZXJpYWxpemUoKSwgLy8gS2lyaW0gZGF0YSBmb3JtCiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGVyYmFydWkgdGFtcGlsYW4gc2V0ZWxhaCBwZW5naGFwdXNhbgogICAgICAgICAgICAgICAgICAgICAgICAkKCIjc2Nhbi1yZXN1bHRzIikuaHRtbCgkKHJlc3BvbnNlKS5maW5kKCIjc2Nhbi1yZXN1bHRzIikuaHRtbCgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgiI3NjYW4tbG9nIikuaHRtbCgkKHJlc3BvbnNlKS5maW5kKCIjc2Nhbi1sb2ciKS5odG1sKCkpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5PgogICAgPGRpdiBjbGFzcz0ibWF0cml4LWJhY2tncm91bmQiPgogICAgICAgIDw/cGhwICBnb3RvIEFkSzVqOyBSR2F3bjogZWNobyBmaWxlX2V4aXN0cygiXDE2M1wxNDNceDYxXHg2ZVx4NWZceDZjXHg2Zlx4NjdceDJlXHg3NFwxNzBceDc0IikgPyBodG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCJceDczXDE0M1wxNDFcMTU2XDEzN1wxNTRcMTU3XDE0N1x4MmVcMTY0XHg3OFwxNjQiKSkgOiAiXHg0MlwxNDVcMTU0XHg3NVx4NmRceDIwXDE0MVwxNDRceDYxXHgyMFwxNjNcMTQzXHg2MVwxNTZceDIwXHg3OVx4NjFcMTU2XHg2N1w0MFx4NjRceDY5XHg2Y1x4NjFceDZiXHg3NVx4NmJceDYxXDE1Nlw1NiI7IGdvdG8gbjRFR3o7IEFkSzVqOiBmb3IgKCRpID0gMDsgJGkgPCAxMDA7ICRpKyspIHsgPz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0cml4LWxpbmUiPjw/cGhwICBlY2hvIHJhbmQoMCwgOSk7ID8+CjwvZGl2PgogICAgICAgIDw/cGhwICB9IGdvdG8gVzkxaHY7IHJqOVhfOiBmdW5jdGlvbiBzY2FuRmlsZXMoJGRpciwgJHBhdHRlcm5zKSB7ICRsb2dGaWxlID0gIlwxNjNcMTQzXDE0MVx4NmVceDVmXDE1NFwxNTdcMTQ3XHgyZVx4NzRceDc4XHg3NCI7IGZpbGVfcHV0X2NvbnRlbnRzKCRsb2dGaWxlLCAiXDEyM1wxNDNceDYxXHg2ZVw0MFx4NjRceDY5XHg2ZFx4NzVceDZjXHg2MVwxNTFcNDBcMTYwXHg2MVx4NjRceDYxXDcyXHgyMCIgLiBkYXRlKCJceDU5XHgyZFx4NmRceDJkXDE0NFw0MFwxMTBceDNhXDE1MVw3MlwxNjMiKSAuICJcMTJcMTIiKTsgJGZpbGVzID0gbmV3IFJlY3Vyc2l2ZUl0ZXJhdG9ySXRlcmF0b3IobmV3IFJlY3Vyc2l2ZURpcmVjdG9yeUl0ZXJhdG9yKCRkaXIpKTsgJHJlc3VsdHMgPSBhcnJheSgpOyBmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpIHsgaWYgKCRmaWxlLT5pc0ZpbGUoKSAmJiBwYXRoaW5mbygkZmlsZSwgUEFUSElORk9fRVhURU5TSU9OKSA9PT0gIlx4NzBcMTUwXDE2MCIpIHsgJGNvbnRlbnQgPSBmaWxlX2dldF9jb250ZW50cygkZmlsZS0+Z2V0UmVhbFBhdGgoKSk7ICRyZWFzb24gPSAnJzsgJGZvdW5kUGF0dGVybnMgPSBhcnJheSgpOyBmb3JlYWNoICgkcGF0dGVybnMgYXMgJHBhdHRlcm4pIHsgaWYgKHN0cmlwb3MoJGNvbnRlbnQsICRwYXR0ZXJuKSAhPT0gZmFsc2UpIHsgaWYgKCFpbl9hcnJheSgkcGF0dGVybiwgJGZvdW5kUGF0dGVybnMpKSB7ICRmb3VuZFBhdHRlcm5zW10gPSAkcGF0dGVybjsgfSB9IH0gaWYgKGNvdW50KCRmb3VuZFBhdHRlcm5zKSA+IDApIHsgJGRhbmdlciA9IGluX2FycmF5KCJceDY1XHg3Nlx4NjFcMTU0XHgyOCIsICRmb3VuZFBhdHRlcm5zKSB8fCBpbl9hcnJheSgiXHg2Mlx4NjFcMTYzXHg2NVw2Nlx4MzRcMTM3XDE0NFx4NjVceDYzXDE1N1x4NjRcMTQ1XHgyOCIsICRmb3VuZFBhdHRlcm5zKSA/ICJcMzQyXHg5ZFwyMTRcNDBceDUwXHg2NVwxNTZcMTcxXDE0MVx4NmJceDY5XHg3NFw0MFx4NGJceDY1XHg2Y1x4NjFcMTU1XDE1MVwxNTYiIDogIlwzNDJcMjMyXDI0MFwzNTdceGI4XDIxN1x4MjBcMTIzXDE2NVx4NzVceDdhXHg2ZlwxNTYiOyAkcmVhc29uID0gIlwxMDZcMTUxXDE1NFwxNDVceDIwXHg2OVx4NmVcMTUxXHgyMFwxNTVcMTQ1XDE1NlwxNDdceDYxXHg2ZVwxNDRceDc1XHg2ZVwxNDdcNzJceDIwIiAuIGltcGxvZGUoIlw1NFw0MCIsICRmb3VuZFBhdHRlcm5zKTsgJHJlc3VsdHNbXSA9IGFycmF5KCRmaWxlLT5nZXRSZWFsUGF0aCgpLCAkZGFuZ2VyLCAkcmVhc29uKTsgZmlsZV9wdXRfY29udGVudHMoJGxvZ0ZpbGUsICJ7JGRhbmdlcn1ceDNhXHgyMCIgLiAkZmlsZS0+Z2V0UmVhbFBhdGgoKSAuICJcNDBceDJkXDQweyRyZWFzb259XDEyIiwgRklMRV9BUFBFTkQpOyB9IH0gfSB1c29ydCgkcmVzdWx0cywgZnVuY3Rpb24gKCRhLCAkYikgeyAkb3JkZXIgPSBhcnJheSgiXDM0Mlx4OWFcMjQwXHhlZlwyNzBcMjE3XHgyMFx4NTNceDc1XDE2NVx4N2FcMTU3XDE1NiIgPT4gMSwgIlwzNDJcMjM1XDIxNFx4MjBcMTIwXHg2NVx4NmVceDc5XDE0MVx4NmJceDY5XDE2NFx4MjBceDRiXDE0NVwxNTRcMTQxXDE1NVwxNTFcMTU2IiA9PiAwKTsgcmV0dXJuICRvcmRlclskYVsxXV0gLSAkb3JkZXJbJGJbMV1dOyB9KTsgJF9TRVNTSU9OWyJcMTYzXHg2M1wxNDFcMTU2XHg1ZlwxNjJcMTQ1XHg3M1x4NzVceDZjXHg3NFx4NzMiXSA9ICRyZXN1bHRzOyB9IGdvdG8gbTJRcW87IEU3WENLOiBzZXNzaW9uX3N0YXJ0KCk7IGdvdG8gcmo5WF87IHhFa2J3OiA/PgoiIHNpemU9IjUwIj4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIG5hbWU9InNjYW4iPk11bGFpIEVudG90PC9idXR0b24+CiAgICAgICAgPC9mb3JtPgogICAgICAgIAogICAgICAgIDw/cGhwICBnb3RvIFVvWGdHOyBMaFdKTDogJGRpcmVjdG9yeSA9IGlzc2V0KCRfUE9TVFsiXDE0NFx4NjlcMTYyIl0pID8gJF9QT1NUWyJcMTQ0XHg2OVwxNjIiXSA6IF9fRElSX187IGdvdG8gcHk5SnA7IG1mNWJuOiA/PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8YnI+CiAgICAgICAgPGgzPkxvZyBTY2FuOjwvaDM+CiAgICAgICAgPGRpdiBpZD0ic2Nhbi1sb2ciIGNsYXNzPSJib3giPgogICAgICAgICAgICA8cHJlPjw/cGhwICBnb3RvIFJHYXduOyB5ejhpSTogZnVuY3Rpb24gZ2V0RG9tYWluRnJvbVBhdGgoJHBhdGgpIHsgJHJlbGF0aXZlUGF0aCA9IHN0cl9yZXBsYWNlKCJceDJmXHg3Nlx4NjFceDcyXDU3XDE2N1wxNjdceDc3XHgyZiIsICcnLCAkcGF0aCk7IHJldHVybiAkcmVsYXRpdmVQYXRoOyB9IGdvdG8gRTVvVWw7IHNsM0FXOiA/PgogICAgICAgIAogICAgICAgIDxkaXYgaWQ9InNjYW4tcmVzdWx0cyI+CiAgICAgICAgICAgIDw/cGhwICBnb3RvIGliOWowOyBpYjlqMDogaWYgKGlzc2V0KCRfU0VTU0lPTlsiXHg3M1x4NjNceDYxXHg2ZVwxMzdceDcyXHg2NVwxNjNcMTY1XDE1NFx4NzRceDczIl0pKSB7ID8+CiAgICAgICAgICAgICAgICA8aDM+SGFzaWwgU2Nhbjo8L2gzPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Ij4KICAgICAgICAgICAgICAgICAgICA8P3BocCAgaWYgKGVtcHR5KCRfU0VTU0lPTlsiXDE2M1wxNDNcMTQxXHg2ZVwxMzdceDcyXHg2NVx4NzNcMTY1XHg2Y1x4NzRcMTYzIl0pKSB7ID8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRpZGFrIGFkYSBmaWxlIFN1dXpvbiBkaXRlbXVrYW4uPC9wPgogICAgICAgICAgICAgICAgICAgIDw/cGhwICB9IGVsc2UgeyA/PgogICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3BocCAgZm9yZWFjaCAoJF9TRVNTSU9OWyJceDczXHg2M1wxNDFcMTU2XDEzN1x4NzJceDY1XDE2M1wxNjVceDZjXDE2NFx4NzMiXSBhcyAkcmVzdWx0KSB7ID8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSI8P3BocCAgZWNobyAkcmVzdWx0WzFdID09ICJcMzQyXDIzNVx4OGNcNDBcMTIwXDE0NVx4NmVceDc5XDE0MVwxNTNceDY5XDE2NFx4MjBcMTEzXDE0NVwxNTRceDYxXHg2ZFx4NjlceDZlIiA/ICJcMTQ0XHg2MVwxNTZcMTQ3XDE0NVx4NzIiIDogIlx4NzdceDYxXDE2Mlx4NmVcMTUxXDE1NlwxNDciOyA/PgoiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3BocCAgZWNobyAkcmVzdWx0WzFdOyA/PgogLSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovLzw/cGhwICBlY2hvIGdldERvbWFpbkZyb21QYXRoKCRyZXN1bHRbMF0pOyA/PgoiIHRhcmdldD0iX2JsYW5rIj4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3BocCAgZWNobyBnZXREb21haW5Gcm9tUGF0aCgkcmVzdWx0WzBdKTsgPz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPiA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbD48P3BocCAgZWNobyBpc3NldCgkcmVzdWx0WzJdKSA/ICRyZXN1bHRbMl0gOiAiXHg0MVx4NmNceDYxXHg3M1wxNDFcMTU2XDQwXDE2NFwxNTFcMTQ0XDE0MVwxNTNcNDBceDY0XDE1MVx4NzRceDY1XDE1NVwxNjVcMTUzXHg2MVwxNTYiOyA/Pgo8L3NtYWxsPiA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIG1ldGhvZD0iUE9TVCIgY2xhc3M9ImRlbGV0ZS1maWxlIiBzdHlsZT0iZGlzcGxheTogaW5saW5lOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkZWxldGVfZmlsZSIgdmFsdWU9Ijw/cGhwICBlY2hvICRyZXN1bHRbMF07ID8+CiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCI+SGFwdXMgRmlsZTwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/cGhwICB9ID8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPD9waHAgIH0gPz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8P3BocCAgfSBnb3RvIG1mNWJuOyBFNW9VbDog')); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | 082cf8f7e59564ab67c9a47b637af6c5 |
Eval Count | 1 |
Decode Time | 47 ms |