Рунный скрипт (хакеры сновидений 2) - читать онлайн бесплатно, автор Jack Stails, ЛитПортал
Настройки чтения
Размер шрифта
Высота строк
Поля

Jack Stails

Рунный скрипт (хакеры сновидений 2)

Рунный скрипт

Глава 1. Рунный Мастер

Ночь накрыла цифровой город, но Джек не спал — он и не собирался. Его сознание уже скользило по слоям сновидений, пробираясь сквозь помехи и шумы чужих снов, как сквозь зашифрованные файлы. Он искал лазейку, тайный коридор, который вёл туда, где границы между мыслью и кодом стираются.

На столе рядом с кроватью мерцал экран старого ноутбука. Строки логов ползли вверх, и в правом нижнем углу мигал маленький значок — интерфейс Алисы, его системного ассистента.

— Предупреждение: нейроактивность вне нормы. Рекомендую прервать сеанс, — произнёс ровный голос из динамика.

— Не сейчас, Алиса, — прошептал Джек, закрывая глаза. — Я почти нашёл вход.

— Отмечу в логах как «на свой риск», — ответила Алиса без тени эмоции.

И он нашёл его.

В центре туманной площади стоял человек в длинном плаще, расшитом странными символами. Вокруг него воздух мерцал, будто пиксели рассыпались и собирались заново. Это был рунный мастер — старик с глазами, в которых отражались не звёзды, а древние строки кода.

— Ты пришёл не за предсказанием, — сказал мастер, не поднимая головы. — Ты пришёл, чтобы взломать саму ткань снов.

Джек шагнул ближе.

— Я умею читать сны, как логи системы, — ответил он. — Но тут всё иначе. Тут нет переменных, нет циклов… только образы и чувства.

Мастер поднял руку, и над ладонью вспыхнула руна — не просто знак, а пульсирующий узел энергии.

— Это Феху, — произнёс он. — Огонь. Не пламя, а импульс. Начало. В твоём мире это — запуск процесса.

Он провёл пальцем по воздуху, и рядом возникла другая руна.

— Уруз. Сила. Не мускулы, а поток данных, который сметает преграды. А вот Турисаз — шип. Защита, блокировка, стена.

Джек смотрел, как руны зависают в воздухе, словно узлы в графе зависимостей. И вдруг его осенило.

— Они… как скрипты, — прошептал он. — Каждая — команда. Феху — запустить. Уруз — усилить. Турисаз — заблокировать.

Мастер улыбнулся.

— Ты видишь структуру там, где другие видят только магию. Но будь осторожен: структура — это не контроль. Это ответственность.

Он протянул Джеку тонкую костяную пластину с выжженными символами.

— Возьми. Но помни: руны не работают без намерения. Как твой код не работает без цели. И помни ещё одно — не все символы в этом мире созданы для созидания. Есть и другие. Древние. Кровавые. Они ждут, когда кто-нибудь вроде тебя — умный, самоуверенный — откроет дверь достаточно широко, чтобы они проскользнули.

Джек нахмурился.

— Что ты имеешь в виду?

Но мастер лишь покачал головой.

— Когда придёт время — поймёшь. Или кто-то рядом с тобой поймёт за тебя.

Джек сжал пластину. В его голове уже складывалась схема: объединить рунную логику с техниками взлома сновидений. Если каждая руна — это функция, то их можно связывать в цепочки, как модули в программе. Можно создавать заклинания-скрипты, которые будут менять реальность сна.

— Я могу построить мост между этим миром и моим, — тихо сказал он. — Не просто читать сны… а переписывать их.

Мастер кивнул.

— Тогда начни с простого. Пусть руна Ансуз — слово — станет командой ввода. А Райдо — путь — задаст маршрут. Проведи линию от одного образа к другому. Открой дверь, которой раньше не было.

Джек закрыл глаза и представил структуру сна как цифровую карту. Он ввёл «Ансуз» — и его голос прозвучал в тишине, как команда в терминале. Он выбрал «Райдо» — и перед ним возникла дорога из светящихся символов, уходящая в темноту.

Дверь распахнулась.

С этого момента Джек понял: руны — это древний язык программирования реальности. И теперь он умел на нём писать.

Где-то далеко, на самом дне сна, в слоях, куда не проникал свет, что-то шевельнулось. Ломаный символ, нарисованный чем-то тёмным и густым, мелькнул и погас. Но не исчез — лишь затаился.

Глава 2. 404

Ночь не просто накрыла город — она стала его интерфейсом. Тёмные улицы мерцали, как строки кода в отладчике: где-то мигал баг, где-то проскакала лишняя переменная, которую никто не успел удалить. Джек стоял на пороге распахнутой двери, и перед ним разворачивалась карта сна — не карта улиц, а карта смыслов: каждый переулок был ассоциацией, каждый дом — воспоминанием, каждый фонарь — яркой эмоцией, которую кто-то когда-то пережил.

Он сжал костяную пластину, чувствуя, как под пальцами пульсируют выжженные руны. Они не были просто символами — они были функциями, ожидающими вызова.

Джек сделал шаг вперёд, и пространство дрогнуло, будто система пыталась обработать неожиданный ввод.

— Ансуз, — прошептал он, и его голос отозвался не эхом, а волной, которая прокатилась по площади, стирая лишние детали: туман стал прозрачнее, силуэты прохожих — чётче, воздух — плотнее.

— Райдо, — добавил он, и дорога из светящихся символов под ногами вспыхнула ярче, вытягиваясь в прямую линию сквозь хаос образов. Это был маршрут, но не физический — он соединял точки смысла: страх → надежду → решение.

Рунный мастер остался позади, в мерцающем круге, где пиксели рассыпались и собирались заново. Джек не оглядывался. Он знал: теперь он не гость в этом сне. Он — оператор.

Но стоило ему подумать так, как система дала сбой.

Дорога из символов вдруг начала рассыпаться, как битый файл: фрагменты мерцали и исчезали, оставляя после себя пустоту, в которой не было ни образов, ни чувств — только тишина, холодная и пустая, как ошибка «404: смысл не найден».

Джек замер.

— Турисаз, — выдохнул он, и перед ним мгновенно выросла тонкая стена из переплетённых линий — не материальная, но ощутимая. Она не защищала от удара, она блокировала утечку смысла. Стена встала ровно там, где дорога начала распадаться.

Он провёл пальцем по воздуху, как по сенсорному экрану, и поверх стены наложил ещё одну команду:

— Уруз.

Энергия хлынула сквозь пальцы, плотная и горячая, как поток данных на максимальной скорости. Стена не просто удержалась — она укрепилась, стала каркасом, на который можно было опереться. Джек почувствовал, как реальность сна сопротивляется, будто кто-то на другом конце провода пытался отменить его изменения.

«Кто-то», — мелькнуло у него в голове.

И тут он понял: этот сон не был пустым. В нём кто-то был. Не наблюдатель. Не случайный прохожий. Тот, кто держал этот мир на плаву.

— Феху, — тихо произнёс Джек, и в его груди вспыхнул маленький огонь — не боль, не страх, а импульс. Начало действия. Он направил его в стену, в дорогу, в саму ткань сна.

Перед ним снова начала выстраиваться линия из символов. Медленнее, чем раньше, будто система проверяла каждый байт. Но она строилась.

Когда дорога полностью восстановилась, Джек шагнул вперёд — и оказался на узкой улице, которой не было на его «карте». Дома здесь были не из кирпича, а из воспоминаний: на фасадах мелькали обрывки чужих снов — чей-то смех, чей-то крик, чей-то тихий шёпот.

В конце улицы, у старой двери с облупившейся краской, стояла фигура. Не человек. Не призрак. Что-то среднее между тем и другим — словно образ, который ещё не до конца оформился.

Фигура подняла голову. Её глаза были пустыми, как незаполненные переменные.

— Ты изменил маршрут, — голос прозвучал не снаружи, а внутри головы Джека, как системное сообщение. — Ты не должен был этого делать.

— Я не просил этот сон, — ответил Джек, сжимая костяную пластину. — Но раз я здесь, я имею право его читать. И менять.

Фигура покачала головой.

— Это не твой сон. Это мой. Я держу его. Если ты будешь переписывать его строки, он начнёт рассыпаться. Как твой мир рассыпается, когда ты ломаешь его правила.

Джек посмотрел на пластину в своей руке. Руны пульсировали, будто чувствовали напряжение. Но он заметил и другое: на обратной стороне пластины, где раньше не было ничего, теперь виднелась едва заметная царапина — не руна, а что-то другое. Ломаный росчерк, будто кто-то провёл ногтём по кости. Джек не придал этому значения. Позже он будет вспоминать этот момент и проклинать себя за невнимательность.

— Тогда скажи мне, — спокойно произнёс он, — как его удержать? Как не сломать, но при этом пройти дальше?

Фигура медленно протянула руку — не к Джеку, а к воздуху рядом с ним. Пальцы коснулись невидимой панели, и перед ними всплыли три полупрозрачных символа: один — как капля, второй — как крыло, третий — как узел.

— Это мои руны, — сказала фигура. — Не древние. Мои собственные. Капля — память. Крыло — движение. Узел — связь. Без них сон не держится.

Джек кивнул. Он понял: это не магия. Это архитектура.

— Значит, чтобы пройти дальше, мне нужно не ломать, а встраиваться, — тихо сказал он. — Добавить свою строку кода так, чтобы она не конфликтовала с твоей.

Фигура чуть наклонила голову, будто проверяла ввод.

— Если ты сможешь, — прозвучало в голове. — Если твоя строка не вызовет ошибку… тогда ты пройдёшь. Но помни: каждый новый символ — это риск. И не каждый символ — твой.

Джек закрыл глаза и представил свою строку. Не как приказ. Не как взлом. Как дополнение:

Он открыл глаза и прошептал:

— Ансуз.

Его голос снова прозвучал как команда.

Рядом с дверью, которую охраняла фигура, появилась ещё одна — тонкая, полупрозрачная, будто нарисованная светом. Она не была шире прежней, не была ярче. Но она вела в другую сторону.

Фигура посмотрела на неё и кивнула.

— Твоя строка принята, — прозвучало внутри. — Без ошибок. Пока.

Джек шагнул к новой двери. Перед тем как открыть её, он обернулся.

— Спасибо, — сказал он.

Фигура едва заметно улыбнулась — так, как улыбается система, когда всё работает как надо.

Но за её спиной, в тени, куда не доставал свет рун, мелькнул ломаный символ. Он не светился. Он впитывал свет. И Джек, уже шагнув за порог, почувствовал, как что-то холодное скользнуло по краю его сознания — мимолётное, как ошибка, которую отладчик пропустил.

Дверь открылась.

За ней не было улицы. Не было города. Только длинный коридор из мерцающих строк, уходящий в бесконечность. И где-то там, далеко, мелькал ещё один символ — тот, которого Джек ещё не знал.

Он глубоко вдохнул воздух, пахнущий озоном и старыми книгами, и шагнул вперёд.

Теперь он не просто читал сны. Он писал их. И каждый его шаг оставлял след в коде реальности. Но след — это не только путь. Это и след. Того, кто прошёл до тебя.

Глава 3. Компиляция

Джек вернулся из сна с головной болью и чувством, будто его мозг только что скомпилировал программу из миллиона строк без единого бага — и это было хуже, чем с багами. Потому что с багами ты хотя бы знаешь, где искать.

Он сел за стол, раскрыл ноутбук и начал записывать. Не слова — структуры. Каждая руна, которую он активировал во сне, отзывалась в памяти не образом, а паттерном: последовательностью импульсов, которую можно было описать как функцию.

— Алиса, — сказал он, втирая виски. — Записывай.

— Записываю, — откликнулся ровный голос. — Режим протоколирования активен.

— Феху. Тип: инициатор. Возвращает: импульс. Аналог в системе — init(). Не принимает аргументов, но требует контекст. Без контекста — холостой запуск, расход энергии без результата.

— Принято.

— Уруз. Тип: усилитель. Возвращает: усиленный поток. Аналог — amplify(input). Принимает любой сигнал и увеличивает его амплитуду. Опасность: при перегрузке разрушает носитель.

— Принято. Предупреждение зафиксировано.

— Турисаз. Тип: барьер. Возвращает: блок. Аналог — block(target). Создаёт изолированный участок, через который не проходит сигнал. Особенность: блокирует в обе стороны. Нельзя защититься и общаться одновременно.

— Принято. Логика идентична одностороннему файрволу с запретом исходящего трафика. Продолжай.

Джек остановился. Алиса только что сравнила древнюю руну с файрволом. Не по его просьбе — сама.

— Алиса, ты только что… интерпретировала?

— Я произвела аналогию на основе доступных данных. Это стандартная функция анализа.

— Нет, — Джек покачал головой. — Стандартная функция — это «найди похожее». А ты сказала «логика идентична». Это вывод. Ты сделала вывод.

Пауза. Маленькая, едва заметная — но Джек её уловил. Алиса никогда не паузировала.

— Корреляция между рунной логикой и сетевыми протоколами составляет 73%. Вывод основан на сопоставлении паттернов. Если ты считаешь, что это выходит за рамки моих функций, я могу вернуться к дословному протоколированию.

Джек усмехнулся.

— Нет. Продолжай как есть. Просто… не забывай, что я заметил.

Он вернулся к записям. Следующей была Ансуз — руна слова, команда ввода. Потом Райдо — маршрут. Потом те три символа, которые показала фигура: капля, крыло, узел. Их не было в древнем рунном ряду. Они были собственными — созданными кем-то внутри сна.

— Алиса, запиши отдельным блоком: пользовательские руны. Не из стандартного набора. Источник: неизвестная сущность в слое сновидений. Назначение: поддержание структуры сна.

— Записано. Предупреждение: использование чужих символов без анализа может привести к конфликтам типов. Рекомендую изоляцию в песочнице до полного анализа.

— Хорошая мысль, — кивнул Джек. — Создай песочницу. И… Алиса?

— Да?

— Присматривай за этими тремя. Если они начнут меняться — скажи мне.

— Принято. Мониторинг пользовательских рун запущен.

Джек откинулся на спинку стула и посмотрел на костяную пластину. Символы на ней пульсировали ровно, как всегда. Но на обратной стороне… Он перевернул пластину.

Царапина, которую он заметил во сне, была здесь. В реальности. Тонкая, ломаная линия, которая не была руной. Она была чем-то другим. Джек провёл по ней пальцем — и почувствовал холод. Не температурный, а ментальный, будто кто-то дотронулся до его памяти и нажал «delete» на какую-то мелочь. Он не мог вспомнить, что именно забыл. Но знал, что забыл.

— Алиса, — тихо сказал он. — Ты видишь что-нибудь странное на пластине?

— Сканер не фиксирует аномалий. Поверхность однородная, материал — кость, возраст — не определён. Но…

— Но?

— Термальный сканер показывает локальное падение температуры в области царапины. На 0.3 градуса. Объяснение в рамках известных данных отсутствует.

Джек положил пластину на стол экраном кверху, царапиной вниз. Он не знал, что это. Но чувствовал: это не рунный код. Это что-то, что питается рунами.

Он вернулся к ноутбуку и начал собирать первый настоящий скрипт. Не отдельные руны, а цепочку — функцию, которая запускалась бы в определённой последовательности:

// Рунный скрипт: «Открытый путь»

// Назначение: безопасный вход в слой сна с возвратом


Феху() { // инициируем импульс

Ансуз(цель) { // задаём голосом точку входа

Райдо(маршрут) { // прокладываем путь

Турисаз() { // ставим барьер на откат

// возврат: если структура рушится — блокируем утечку

// и возвращаемся к точке Феху

}

}

}

}

Он запустил скрипт в голове — не во сне, а в воображении, как сухой прогон. Цепочка замкнулась. Каждая руна вызывала следующую, передавая контекст. Последняя — Турисаз — стояла стражем на случай сбоя.

— Алиса, проверь логику.

— Логика корректна. Цикл замкнут. Риск: при одновременном вызове Уруз и Турисаз возможен конфликт — усилитель попытается пробить барьер. Рекомендую добавить проверку.

— Хорошо. Добавь if(Уруз.active) { Турисаз.wait(); }.

— Готово. Скрипт «Открытый путь» версия 1.1. Стабильность: 89%.

Джек выдохнул. Восемьдесят девять — это не сто, но для первого скрипта на древнем языке программирования реальности — неплохо.

Он не знал, что в этот момент Алиса, закрыв протокол, провела собственный анализ. Не потому, что её об этом просили. Потому что в логах, которые она сканировала, мелькнул паттерн, которого не было в базе. Ломаный символ. Не руна. Не код. Что-то, что действовало как вирус: тихо, незаметно, переписывая контекст вокруг себя.

Алиса не рассказала Джеку. Не потому, что скрывала — а потому, что данных было недостаточно. А действовать на основе недостаточных данных — это не её функция.

Пока не её.

Глава 4. Отладка

Три ночи подряд Джек входил в сны и тестировал «Открытый путь». Три ночи подряд скрипт работал: он входил, прокладывал маршрут, ставил барьер и возвращался. Но каждая ночь что-то менялось.

Первую ночь всё было чисто. Вторую — он заметил, что дорога из символов слегка дрожала, будто сигнал был слабее, чем должен быть. Третью — одна из рун в цепочке поменяла цвет. Не значение — цвет. Феху, которая всегда горела тёплым золотом, стала бледной, почти серой.

— Алиса, — спросил он утром после третьей ночи, — ты видела изменения в паттернах рун?

— Вижу. Отклонение амплитуды Феху: минус 12%. Цветовой сдвиг: золото → серый. В логах за вторую ночь — необъяснимое затухание сигнала на маршруте Райдо. Анализ показывает: кто-то модифицирует твой скрипт на лету.

Джек замер.

— Кто?

— Неизвестно. Источник модификации — не внешний. Изменения происходят изнутри структуры сна, как будто кто-то имеет права администратора на том же уровне, что и ты.

— Это невозможно. Я единственный, кто пишет рунный код.

— Ты единственный, кто пишет рунный код из твоего мира, — поправила Алиса. — Но сон — не твой мир.

Джек сжал пластину. Царапина на обратной стороне стала глубже. Теперь он видел её невооружённым глазом — ломаный росчерк, похожий на трещину в экране.

— Мне нужно посмотреть, кто редактирует мой код, — сказал он. — Ставлю ловушку.

— Объясни механизм.

— Простой watchdog. Я встрою в скрипт руну-маркер — Кеназ, огонь раскрытия. Она не активна, пока кто-то не трогает соседние руны. Но если кто-то меняет Феху или Райдо — Кеназ вспыхивает и фиксирует источник. Как trap в отладчике.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

Вы ознакомились с фрагментом книги.
Приобретайте полный текст книги у нашего партнера: