Читать онлайн Чужой код. Проводник бесплатно
- Все книги автора: Алексей Павлович Рудь
Глава 1. Нулевой день
Тишина в главном зале Серпуховского ускорителя была особого рода – густой, напитанной звуком низкой частоты, который даже после отключения главного магнита еще долго вибрировал где-то в костях. Воздух пах озоном, металлом и тишиной, которая стоит после большого труда. На огромной консоли, уставшей мигать тревожными аварийными индикаторами, теперь горел один-единственный, ровный зеленый сигнал: «ЦИКЛ ЗАВЕРШЕН. СИСТЕМА СТАБИЛЬНА».
Лев Ковалев откинулся в кресле, сгреб ладонями коротко стриженные волосы и выдохнул. Выдохнул так, будто выдувал из себя последние сорок восемь часов непрерывного аврала. Руки слегка дрожали – смесь адреналинового отката и четырех чашек растворимого кофе. Перед ним на пяти мониторах замерли графики, логи, каскады телеметрии. Всё в норме. Коллайдер, этот капризный стальной зверь, усмирен. Сбой локализован, патч применен, система перезагружена и выдала штатный пучок. Задача закрыта.
– Ну что, командир, – хриплый голос прозвучал сзади. Это Вадим, инженер по вакуумным системам, седой, как лунь, дядька с лицом, на котором каждый шрам был историей. – Похоже, твой «фикс» сработал. Спасли мамонта от инфаркта.
– Не фикс, – машинально поправил его Лев, не отрывая глаз от строки лога, где мигало предупреждение о кратковременной аномалии в секторе 7-Gamma. – Патч. Мы не чинили поломку, мы закрыли уязвимость в протоколе инициализации. Разница принципиальная.
– Патч, фикс, бантик на хвосте… Главное – работает. Иди уже спать, гений. Твои мозги уже на мониторе стекают.
Лев кивнул, но не двигался с места. Та самая аномалия в 7-Gamma не давала ему покоя. Она была в рамках допуска, статистический шум, всплеск на фоне. Система сочла его незначительным. Но Льва воспитывала не система, а его собственная паранойя, закаленная годами работы с оборудованием, где «незначительный шум» имел свойство оборачиваться катастрофой стоимостью в несколько бюджетов небольшой страны. Он развернул сырые данные, поставил фильтры, начал строить трехмерную модель события в уме.
Сектор 7-Gamma. Там, в полукилометре под землей, в сверхпроводящей трубе, охлажденной до температур глубого космоса, неслись навстречу друг другу сгустки протонов. И в одну миллиардную долю секунды, в точке их столкновения, где рождались и умирали миры, законы физики начинали играть по особым, жутким правилам. Именно там его патч должен был стабилизировать магнитное поле. И стабилизировал. Но этот всплеск… Он был похож не на ошибку, а на ответ. Как будто система не просто приняла новый код, а попыталась его прочитать.
– Бред, – пробормотал он себе под нос. Усталость. Галлюцинации на кофейной гуще. Пора валить.
Он потянулся к кружке, залпом допил холодную горькую жижу и встал. Спина затрещала. В зале было пусто, только дежурный инженер клевал носом у дальнего терминала. Лев собрал свою потрепанную кожаную сумку, потушил свой блок мониторов. Один экран, центральный, оставался включенным – на нем в режиме реального времени отображалась общая схема ускорителя, зеленый, спокойный сон здорового организма.
Он уже повернулся к выходу, когда краем глаза заметил движение.
На схеме, в том самом секторе 7-Gamma, замигал красный пунктир. Не сигнал тревоги – его бы сопровождал вой сирен. Это было… мерцание. Как будто невидимый палец водил по экрану, обводя контур некого объекта. Объекта, которого физически там быть не могло.
Лев замер. Сердце, уже успокоившееся, резко и глухо ударило где-то в основании горла. Он медленно, как в замедленной съемке, подошел к консоли. Его пальцы сами потянулись к клавиатуре.
«Диагностика сектора 7-Gamma. Глубокое сканирование. Запуск».
На экране поплыли столбцы чисел. Датчики вакуума, температуры, радиации, магнитного поля… Всё в норме. Всё, кроме одного. Датчик пространственно-временной метрики, экзотический прибор, собранный для одного кабинетного эксперимента, который все давно забыли, показывал не просто аномалию. Он показывал отрицательную кривизну. Математическую абстракцию. Невозможность.
И в этот момент свет в зале погас.
Не выключился – именно погас. Будто его втянули в себя стены. Только мониторы, работающие от аварийных ИБП, бросили на потолок и стены мертвенное, синеватое свечение. Тишина стала абсолютной – исчез гул вентиляции, писк приборов. Лев услышал только нарастающий звон в собственных ушах.
А потом экран перед ним взорвался светом.
Не белым светом лампы, а живым, пульсирующим каскадом изумрудных и золотых спиралей. Они вырывались из монитора, не излучались пикселями, а материализовались прямо в воздухе, закручиваясь в сложнейшую, непостижимо прекрасную трехмерную мандалу. Лев отшатнулся, но не смог отвести глаз. Это был код. Самый совершенный, самый чистый код, который он когда-либо видел. Он видел не символы, а саму их суть, архитектуру реальности, записанную на языке, лежащем за пределами математики. И он его понимал. Прямо сейчас, на каком-то доречевом, инстинктивном уровне. Это было приглашение. Протокол рукопожатия.
Рядом завопил дежурный инженер. Лев обернулся и увидел, как тот, широко раскрыв глаза, смотрел на другую консоль, где из монитора изливалась такая же сияющая лавина.
– Что это?! – крикнул инженер, его голос был тонким от чистого ужаса.
Лев не ответил. Его мозг, отбросив панику, с бешеной скоростью начал анализ. Энергетический паттерн. Стабильность формы. Отсутствие теплового излучения. Это не взрыв, не разрушение. Это… передача данных. Но каких данных? И куда?
Внезапно мандала перед ним схлопнулась в ослепительную точку. И мир провалился.
Не в темноту. В отсутствие. Отсутствие звука, ощущения тела, гравитации. Лев парил в абсолютной пустоте, и единственным доказательством того, что он еще существует, был его собственный поток мыслей, несущийся с безумной скоростью.
«Квантовый коллапс. Нет, масштабнее. Нарушение причинности. Сбой в… в чем? В чем может быть сбой, если законы физики перестают работать? Матрица? Симуляция? Ошибка в симуляции?»
И вдруг в этой пустоте возник голос. Не звук, а непосредственное знание, вложенное прямо в сознание.
>> ОБНАРУЖЕН ВНЕСИСТЕМНЫЙ ДРАЙВЕР.
>> АНАЛИЗ… СОВМЕСТИМОСТЬ: 0,0001%.
>> ПРОТОКОЛ «ЧИСТКА»: ОТКЛОНЕН. НЕСООТВЕТСТВИЕ БАЗОВЫХ ПРЕДПОСЫЛОК.
>> ПРОТОКОЛ «АДАПТАЦИЯ»: АКТИВИРОВАН.
>> НАЧАТ ПРОЦЕСС ПЕРЕКОДИРОВКИ НОСИТЕЛЯ.
Боль. Не огненная, не режущая. Холодная. Металлическая. Боль самой перестройки. Он чувствовал, как атомы его тела вибрируют на новых, чуждых частотах, как нейронные связи рвутся и переплетаются по другой, незнакомой схеме. Он хотел закричать, но не было ни рта, ни воздуха.
И сквозь боль продолжал думать: «Перекодировка носителя… Носитель. Это я. Я – носитель. А что за драйвер? Внесистемный… Боже. Мой патч. Они посчитали мой патч за драйвер. За чужеродный программный модуль. Они пытаются его… интегрировать? Или стереть вместе со мной?»
Процесс длился вечность или мгновение. И закончился так же внезапно, как начался.
Он упал. Твердо, тяжело, плашмя на что-то мокрое и холодное. Воздух ударил в легкие – густой, насыщенный запахами гнили, сырой земли, цветов и дыма. Настоящий, почти осязаемый запах. Лев, давясь, втянул его в себя и закашлялся. Кашель сотряс все тело, напоминая о том, что оно цело, что оно болит в каждой мышце.
Он лежал лицом вниз. Под руками – не бетон, не линолеум. Что-то мягкое, скользкое. Мох. Он открыл глаза.
Темно. Не темнота отключенного света, а живая, глубокая темнота ночи, разрываемая в нескольких шагах трепещущим светом костра. Он видел корни дерева, черные, переплетенные, как вены гиганта. Видел влажную, покрытую опавшими листьями почву. Слышал. Боже, как он слышал! Шелест листьев где-то высоко-высоко, журчание невидимой воды, треск сучьев в костре, далекий, тоскливый вой… зверя? Такого зверя он никогда не слышал.
Сознание, отброшенное в самый дальний угол черепа, медленно, с чудовищным скрипом, начало возвращаться. Пункт первый: я не в зале ускорителя. Пункт второй: я жив. Пункт третий: это не Земля. По крайней мере, не та Земля, которую я знаю.
Он попытался встать на четвереньки. Тело не слушалось, отзываясь глухой болью в каждом суставе. С трудом перекатившись на спину, он увидел небо.
И забыл дышать.
Над ним не было ни Луны, ни знакомых созвездий. Через разрывы в пологе исполинских, фантастических деревьев струился свет двух лун. Одна – большая, медно-красная, испещренная темными морями и сияющими серебряными трещинами. Другая – маленькая, холодно-синяя, движущаяся с неестественной скоростью, так что за ней тянулся едва уловимый светящийся шлейф. А между ними, по темно-фиолетовому бархату неба, плыли сияющие облака – не из воды, а из чистой энергии, переливающиеся всеми цветами северного сияния.
Лев Ковалев, ведущий инженер-кибернетик, человек, веривший только в то, что можно измерить и взвесить, смотрел на это и понимал одно: его модель реальности окончательно и бесповоротно рухнула. Вместе со всеми патчами и протоколами.
С губ сорвался хриплый, безумный смешок.
– Отладка, – прошептал он в немое, чуждое небо. – Я попал в отладчик. Или он попал в меня.
И в этот момент с другой стороны костра раздался хруст ветки. Тяжелый, неосторожный. Лев резко, через боль, повернул голову.
На краю круга света стояло нечто. Двуногое, покрытое слизью и чешуей, с длинными, кривыми когтями вместо кистей. Его голова была лишена глаз – только разверстая пасть, усеянная рядами игловидных зубов. Оно медленно поворачивало голову из стороны в сторону, как будто принюхиваясь. И остановилось. Прямо на нем.
Существо издало булькающий, влажный звук и сделало шаг в его сторону.
Паника, дикая, животная, ударила в виски. Но поверх нее, тонкой, ледяной пленкой, легла привычка. Анализ. Анализируй, черт тебя дери!
Лев замер, стараясь дышать как можно тише. Его глаза, уже адаптировавшиеся к полутьме, выхватывали детали. Походка неуклюжая, вес на правую ногу – возможно, травма. Движения головы скачкообразные – ориентируется не по зрению, а по другому чувству. Возможно, звук. Или тепло. Или… магия? Слово, дикое и невозможное, само вползло в мысли.
Существо было в десяти шагах. Оно явно учуяло добычу. Болело все, не было оружия, не было сил бежать.
«Ситуация: критический сбой. Ресурсы: ноль. Время: менее минуты. Решение. Надо решение!»
И тут его взгляд упал на землю рядом с костром. Там, среди камней, лежала ветка, обгоревшая с одного конца. Не оружие. Указатель. Инструмент.
Мозг, работавший на пределе, выдал обрывок кода – не программного, а того, что он видел в сияющей мандале. Архитектуру. Закон. В этом мире что-то подчинялось командам. И его разум, «перекодированный», теперь смутно это чувствовал. Как слепой чувствует тепло солнца.
Существо было в пяти шагах. Открытая пасть источала зловоние.
Лев, не отрывая от него глаз, медленно, сантиметр за сантиметром, протянул руку к обгоревшей ветке. Его пальцы сомкнулись на шершавом дереве. Он не знал заклинаний. Не знал рун. Он знал только один принцип: чтобы дать команду, нужен интерфейс. А его собственное тело, пройдя через «перекодировку», теперь, возможно, и было интерфейсом.
Он вонзил тлеющий конец ветки в землю перед собой, представляя не пламя, а данные. Команду. Простейший, примитивнейший скрипт из одного действия. Он выдохнул в ночь, вкладывая в выдох не воздух, а отчаянное намерение, сконцентрированную волю, сформулированную на языке логики:
>> СОЗДАТЬ БАРЬЕР. МАТЕРИАЛ: ВОЗДУХ. ПАРАМЕТР: ПЛОТНОСТЬ. ЗНАЧЕНИЕ: МАКСИМУМ. РАДИУС: ПОЛМЕТРА. ВРЕМЯ: ТРИ СЕКУНДЫ. ВЫПОЛНИТЬ.
Ничего не произошло. Ни вспышки, ни гула. Только воздух перед ним, между ним и тварь, застыл. Не стал видимым, но перестал быть невидимым – в свете костра вдруг заиграла странная рябь, будто дрожал воздух над раскаленным асфальтом.
Тварь шагнула прямо в эту невидимую стену.
Раздался глухой, костяной чпонк, как будто она ударилась лбом о бетон. Существо отшатнулось, издав звук, полный боли и ярости. Оно трясло безглазой головой, тыча когтями в пустое пространство.
Лев сидел, не дыша, глядя на свое творение. На баг. На костыль, который он вставил в реальность. Сердце колотилось так, что вот-вот выпрыгнет из груди. В ушах стоял не звон – шипение белого шума, будто его мозг перегружен.
Через три секунды, ровно как он и «заказал», рябь исчезла. Воздух снова стал просто воздухом.
Тварь замерла. Потом медленно, с чудовищной ненавистью, повернула к нему свою пасть. Оно поняло. Поняло, что добыча ответило.
Лев отполз назад, пока спиной не уперся в холодное, мшистое дерево. Пути к отступлению не было. А в его распоряжении оказалась одна-единственная, ни на что не годная истина:
Добро пожаловать в Арканию. Ваша система несовместима. Начинается процесс адаптации.
Или уничтожения.
Глава 2. Несовместимый интерфейс
Боль. Она была теперь константой, фундаментальной физической величиной его нового мира. Но эта боль – жгучая, спазмирующая вдоль правой руки – была другого рода. Не от падения, а от использования. Как будто он сунул палец в розетку системы под напряжением в десять тысяч вольт, и теперь каждый нерв от локтя до кончиков пальцев пел одну нескончаемую, огненную ноту.
Лев прислонился спиной к шершавому стволу, пытаясь втянуть воздух, который казался слишком густым, слишком насыщенным. Тварь в пяти шагах от него замерла, ее безглазая пасть все еще была обращена к тому месту, где мгновение назад висел невидимый щит. Она не нападала. Она изучала. Ее когтистая лапа медленно протянулась вперед, тыкая в пустоту, где встретила барьер. Встретила – и отдернулась. Повторила. Снова. Методично, с туповатым упорством, как робот, тестирующий стену на прочность.
Она учится, промелькнула мысль сквозь адскую пульсацию в висках. Она не просто зверь. Она алгоритм. Плохо написанный, примитивный, но алгоритм. Ищет уязвимость. Повторяет запрос к системе, пока не получит другой ответ.
Мысли текли, леденея от холодного, профессионального ужаса. Его собственное тело было одним сплошной уязвимостью. Рука горела. В глазах стояли черные пятна. Еще один такой «скрипт» – и он отключится, станет легкой добычей для этого… этого биоформы с кривыми условиями цикла.
Нужно было менять переменные. Быстро.
Он скользнул взглядом по окружению. Костёр. Деревья. Камни. Ветки. Мох. Тварь. Он сам. Данные. Входные данные для задачи «Выжить».
Тварь, наконец, решила, что барьер исчез насовсем. Она издала низкое, булькающее урчание – звук триумфального ping по открытому порту – и шагнула вперед. Теперь между ними было три шага.
Лев сжал обгоревшую ветку в левой, менее болезненной руке. Это не оружие. Это указатель. Манипулятор. Интерфейс. В его мозгу, перегруженном болью и страхом, внезапно вспыхнул образ из безумного сияния в зале ускорителя. Не цельная мандала, а обрывок. Принцип. Не создавать что-то из ничего (это требовало слишком много «манны», слишком много его собственных ресурсов, которые он интуитивно ощущал как опустошенные). А менять свойства того, что уже есть.
Два шага. Зловоние от пасти стало осязаемым, физическим давлением.
Он уперся пятками в мшистую почву, отталкиваясь спиной от дерева, и рванулся не назад, а вбок, к краю светового круга от костра. Его движение было неуклюжим, болезненным, но рассчитанным. Он заставил тварь повернуться, изменить вектор атаки. На мгновение ее когтистая лапа опустилась, вонзившись в землю для устойчивости. Прямо в густой слой влажного, сырого мха у корней дерева.
Свойство: трение. Значение: минимум.
Лев не произносил слов. Он взывал. Как к глухой, непонятливой, но невероятно мощной машине. Он вложил в этот мысленный приказ весь остаток сил, всю ярость, весь холодный расчет. Он ткнул тлеющим концом ветки не в тварь, а в тот самый мох под ее когтями.
Эффект был мгновенным и поразительно тихим.
Мох под правой лапой твари не изменился визуально. Не стал льдом или маслом. Он просто… перестал быть поверхностью с коэффициентом трения, достаточным для удержания полутонного существа. Это был идеальный физический баг. Лапа твари дернулась вперед, как по черному льду. Существо, уже начавшее движение, с громким, хлюпающим шлепком рухнуло на бок, его масса обрушилась на прижатую конечность. Раздался неприятный, влажный хруст – не кости, а чего-то более хрящеватого. Тварь взревела – на этот раз звук был полон не охотничьей ярости, а боли и полной, абсолютной растерянности. Она забилась, пытаясь встать, но ее лапы скользили по теперь уже предательскому мху, как по мыльной пленке.
Лев не стал ждать. Адреналин заглушил боль в руке, подарив несколько секунд ясности. Он отполз дальше в тень, за другое дерево, скрывшись из зоны прямого видимости костра. Его сердце колотилось о ребра, как птица в стальной клетке. Он слышал, как тварь бултыхается и ревет позади, но звук постепенно удалялся. Она, видимо, решила отползти на твердый грунт.
Он сидел, прижавшись спиной к коре, и дрожал. Дрожала каждая мышца. Не от страха теперь – от отката. От последствий вмешательства. Перед глазами снова поплыли круги. Но теперь, сквозь тошноту и слабость, в голове зажегся крошечный, холодный огонек понимания.
Он сделал это. Два раза. Не силой, не знанием заклинаний. Логикой. Он дал системе два некорректных, с точки зрения ее базовых правил, запроса: «создать барьер из воздуха» и «обнулить трение тут». И система… выполнила. Криво, с чудовищным расходом его собственных ресурсов, но выполнила.
Он был вирусом. Вредоносной программой, которая умеет писать костыли прямо в ядро операционной системы под названием «реальность».
Мысль была одновременно унизительной и невероятно empowering. Он был никем. Он был всем. Глюком, который может сломать все.
Тошнота накатила с новой силой. Лев склонился на бок и его вырвало – скудными остатками того, что когда-то было ужином в столовой института. Спазмы выжимали из него последние силы. Когда всё закончилось, он лежал на боку, глотая липкий, сладковатый воздух, и смотрел, как свет двух лун прорисовывает причудливые узоры на гигантских папоротниках.
Именно так их и нашел первый местный.
Не тварь. Не монстр. Человек. Или нечто, очень на человека похожее.
Лев услышал шаги – осторожные, почти бесшумные, но все же отличные от шелеста листьев и потрескивания веток. Это была поступь, ставящая ногу с носка на пятку. Осознанная. Он не стал двигаться. Силы сопротивляться уже не было. Он просто повел глазами в сторону звука.
На краю света, отброшенного догорающим костром, стояла фигура в темном, поношенном плаще с капюшоном. В руке – не меч, а длинный, сучковатый посох, на конце которого тускло мерцал кусок не то камня, не то стекла. Фигура не приближалась, изучая сцену: погасающий костер, следы борьбы, изуродованный мох и, наконец, его самого – грязного, окровавленного, лежащего в собственной блевотине.
– Ну и шум ты тут устроил, чирика, – прозвучал голос. Хриплый, сиплый, но явно принадлежащий существу женского пола. В нем не было ни страха, ни особой враждебности. Была усталая констатация факта. – Пол-леса распугал. И слизкохода заставил ногу вывихнуть. Респект.
Лев попытался что-то сказать. Из его горла вырвался только хриплый стон.
Фигура сделала несколько шагов вперед, и свет костра упал на ее лицо под капюшоном. Женщина. Лет, на его земной взгляд, под сорок. Лицо худое, изможденное, с резкими скулами и шрамом через бровь. Глаза – цвета старого золота – смотрели на него без жалости, но и без жестокости. Смотрели, как инженер смотрит на сломанный, но любопытный механизм неизвестного происхождения.
– Молчи, молчи, – буркнула она, приседая на корточки в двух шагах от него. – Вижу, что говоришь не от чего. Ты чей? Из Гильдии? – Она пригляделась к его одежде – мятая, но явно не местная рубашка и брюки из странной ткани. Ее брови поползли вверх. – Хм. Непохоже. С Аллеи Певцов? Тоже нет… Слишком пахнешь дымом и… железом. Странным железом.
Она помолчала, втягивая ноздрями воздух.
– И магия на тебе… никакая. Вернее, не никакая. Другая. Как проклятый комар в ухе – вроде есть, вроде нет, а раздражает жутко.
Лев собрал все силы и прошептал:
– Где… я?
Женщина фыркнула.
– А, значит, чирика еще и потерянный. Идеально. Ты в Гнилом Урочище, милок. Окраина Нижнего города. Место, куда цивильные, вроде гильдейских щеголей, соваться не любят. – Она огляделась. – Слизкоход, хоть и с вывихом, может вернуться. Не с ним одним тут проблемы. Пойдем.
– Не… могу.
– А я и не спрашиваю, – отрезала она. Быстрым, резким движением она сунула конец посха под его плечо и с силой, неожиданной для ее тщедушного телосложения, подняла его почти на ноги. Боль пронзила все тело, и Лев застонал. – Тихо. Или привлечешь кого похуже. Меня зовут Шиша. А тебя?
Он, цепляясь за сознание, выдохнул:
– Лев…
– Лев? – Она усмехнулась одной стороной рта. – Непохож. Больно жалкий лев. Ну ладно, Лев. Будешь жить – расскажешь, как ты тут чистую магию землей испачкал. А пока – держись.
Она почти потащила его за собой, прочь от костра, в непроглядную, живую тьму леса. Лев, спотыкаясь на каждом шагу, смотрел на ее спину, на потрепанный плащ, на мерцающий кристалл на посохе, который отбрасывал тусклый, лимонный свет на корни под ногами.
У него не было выбора. Он был сломанным устройством в чужой, враждебной системе. А она… Она казалась тем, кто умеет чинить сломанные устройства. Или разбирать их на запчасти.
«Протокол «Адаптация» продолжается», – подумал он с горькой иронией, отдаваясь на волю этого странного, хриплого проводника. Первый контакт установлен. Загрузка драйверов… началась.
Глава 3. Устаревший драйвер
Больше всего на свете Лев хотел закрыть глаза и отключиться. От этой дрожи, которая била его мелкой дробью, от огня в правой руке, от чужеродной, давящей тяжести этого мира. Но инстинкт выживания, обостренный до предела, заставлял цепляться за сознание. Он был пассажиром в собственном теле, которое волокла куда-то эта женщина – Шиша. Его ноги заплетались о корни, которые в лимонном свете ее посоха казались скрюченными, окаменевшими пальцами великанов, зарывшихся в землю.
Лес жил. Не в метафорическом, а в буквальном, почти техническом смысле. Он дышал, издавал звуки, реагировал. Листья шептались на странных, гортанных тонах. Вдали вспыхивали и гасли бледные огни – не светлячки, а какие-то сгустки холодного сияния, плывущие по невидимым маршрутам. Воздух густел в низинах, становясь вязким, как желе, и Шиша уверенно обходила эти места. Один раз она резко остановилась, прижав его к мшистому стволу, и прошептала: «Тише. Шептун». Лев, затаив дыхание, увидел, как между деревьями проплыло нечто бесформенное, похожее на клубок тумана с мерцающими в глубине точками-глазами. Сущность издала звук, похожий на шипение перегретого пара, и двинулась дальше. От него пахло старыми книгами и озоновой пылью.
– Что это? – выдохнул Лев, когда оно исчезло.
– Данные, – буркнула Шиша, снова двигаясь вперед. – Чистые, неструктурированные данные. Заблудившийся кусок реальности. Попадешь внутрь – либо сойдешь с ума, либо станешь его частью. Не наш случай.
Она говорила о магии так, как он говорил о квантовых процессах – без благоговения, с практическим, почти бытовым цинизмом. Это было… обнадеживающе.
Через какое-то время – Лев потерял счет времени, здесь оно текло иначе, – деревья начали редеть. Пахнуло дымом, но другим – не лесным, а угольным, с примесью гари, металла и гниющей органики. Сквозь стволы забрезжили редкие, тусклые огни. Они вышли на склон, поросший чахлым кустарником, и Лев увидел город.
Нижний город, как назвала его Шиша, лежал в огромной чаше, возможно, древнем кратере или рухнувшей кальдере. Он не сиял, не поражал воображение башнями из хрусталя. Он кишел. Беспорядочное нагромождение построек из темного камня, грубого дерева, листового металла и чего-то, похожего на спрессованную глину, карабкалось по склонам, сваливалось в овраги, нависало над зловонными речушками. Огни там были желтыми, красными, грязно-зелеными, и двигались они – факелы в руках невидимых существ, окна повозок, сигналы с крыш. Над всем этим висела рыжая, подсвеченная снизу дымка. И сквозь этот шум, доносившийся как далекий гул океана, прорезались отдельные звуки: скрежет, крик, отрывок какой-то дикой, ритмичной музыки.
Аркания. Не страна чудес. Свалка. Мегаполис на стадии перманентного апокалипсиса.
– Красиво, да? – усмехнулась Шиша, заметив его взгляд. – Дом родной. Тут тебя или съедят, или купят, или забудут. Третье – оптимально.
Она повела его не в сторону огней, а вдоль склона, к темной стене скалы, поросшей мхом и колючими побегами. Казалось, это тупик. Но Шиша подвела его к завесе из лиан, отодвинула их посохом, и за ней оказался узкий, почти невидимый проход – трещина в скале, в которую с трудом мог протиснуться один человек.
– Добро пожаловать в «Кэш», – сказала она, пропуская его вперед.
Внутри пахло сыростью, дымом, сушеными травами и… машинным маслом? Лев, спотыкаясь, сделал несколько шагов, и пространство расширилось. Это была не пещера в полном смысле, а скорее пустота между гигантскими каменными плитами, нависающими друг над другом. Кто-то укрепил стены деревянными подпорками, затянул прорехи мешковиной. В центре тлела в грубой железной жаровне угольная куча, давая скудный свет и тепло. Вдоль стен стояли полки, грубо сколоченные из ящиков, заваленные хламом невероятного ассортимента: скрутки проволоки, обломки механизмов, кристаллы в оправах, банки с непонятными жидкостями, стопки потертых кож, похожих на пергамент. Воздух вибрировал от едва слышного гудения – где-то работало устройство, напоминающее динамо-машину, соединенную пучками разноцветных проводов с каким-то пульсирующим синим камнем в углу.
Это была не лачуга. Это была мастерская. Лаборатория кустаря-самоучки в мире, где технологией была магия.
Шиша сбросила плащ на груду ящиков. Под ним оказалась простая одежда из грубой ткани, перетянутая ремнями с инструментами: щипцами, отвертками странной формы, пачкой тонких металлических стилусов. Она была похожа на инженера-ремонтника, застрявшего в пост-апокалиптическом мире.
– Садись. Упадешь – не поднимать, – бросила она, подходя к жестяному рукомойнику и споласкивая лицо. – Руку покажи. Ту, что ты еломил.
Лев, с трудом поборов головокружение, опустился на пустой ящик у жаровни. Он протянул правую руку. Она дрожала мелкой, неконтролируемой дрожью. От запястья до локтя кожа была покрыта сетью тонких, похожих на трещины или глитч-арт, линий. Они светились тусклым, больным синим светом изнутри. Было не больно. Было неправильно. Как будто рука была не его, а удаленно подключенным периферийным устройством с кривыми драйверами.
Шиша свистнула, присев на корточки и взяв его руку в свои сильные, исцарапанные пальцы. Ее прикосновение было удивительно точным, профессиональным.
– Ну и дела… – пробормотала она. – Это не ожог потока. И не порча. Это… кристаллизация протокола. Ты впендюрил в себя чужеродную команду, а твое нутро не знает, как ее обрабатывать. Система пытается ее изолировать, замуровать в плоти. Удивительно, что кисть еще на месте.
Она подняла на него свои золотые глаза.
– Кто ты, чирика, и какую дрянь ты запустил?
Лев сглотнул. Его горло пересохло.
– Я не… запускал ничего. Меня… перекодировали. – Слова звучали безумием даже для него самого. – Я попал сюда из другого места. Где нет магии. Где есть другие законы. И когда я оказался здесь, что-то… что-то начало меня перезаписывать. Подгонять под вашу систему. А когда я попытался что-то сделать… это получилось.
Шиша слушала, не перебивая. Ее лицо было непроницаемой маской.
– Другое место. Без магии. – Она произнесла это медленно, как будто пробуя на вкус. – Идиотские сказки Отверженных. Про «мир до Разлома». Ты что, из них?
– Я не знаю, кто такие Отверженные. Я из… из мира железа, проводов и логики. Мы управляли энергией через код. Через программы.
– Код, – повторила она, и в ее глазах мелькнула искра понимания. Настоящего, глубокого. Она отпустила его руку и встала, подошла к одной из полок, сняла странный предмет. Это была металлическая пластина, покрытая слоем какого-то темного лака, на котором были вытравлены или впаяны тончайшие серебряные линии. Сложный, многослойный узор, напоминавший микросхему или печатную плату. Но линии пульсировали слабым светом. – Вот это код? Твои… программы?
Лев замер, уставившись на пластину. Он видел. Не просто узор. Он видел структуру. Ветвления, условные переходы, циклы. Это был скрипт. Магический скрипт, застывший в металле. Примитивный, с кучей избыточных операций, но рабочий.
– Да, – выдохнул он. – Это… это команда. Для чего она?
– Для розжига, – сказала Шиша, положив пластину на небольшую металлическую плитку. Она коснулась края пластины пальцем, в котором мелькнула крошечная искра. Узор вспыхнул ярко, и через секунду плитка раскалилась докрасна, излучая ровное тепло. – Дешево и сердито. Но если перегреть – пластина трескается, и весь цикл идет вразнос. Взрыв, ожоги, иногда искажение пространства на пару секунд.
Она выключила пластину, снова забрав ее.
– Мы, «чирики», Отверженные, называй как хочешь, мы работаем с этим. С тем, что Гильдия Кодировщиков называет «грязным хакингом». Мы не учим их красивые, долгие, безопасные ритуалы. Мы находим обходные пути. Баги в реальности. Короткие скрипты, которые делают «примерно то, что нужно», но могут и оторвать руку. – Она посмотрела на его сияющую конечность. – У тебя, судя по всему, не просто баг. У тебя… другой язык программирования вшит в душу. И моя система, наша реальность, читает его с ошибками. Отсюда твои «фокусы» и твоя боль. Ты не совместим, Лев.
Он знал это. Чувствовал на клеточном уровне. Но услышать это от кого-то другого было и больно, и… освобождающе.
– Что мне делать?
– Для начала – не умирать, – резко сказала Шиша. Она снова полезла на полки, стала собирать какие-то склянки, пучки трав, куски руды. – Твою руку надо стабилизировать, иначе кристаллизация дойдет до плеча, и ты станешь красивым, синим памятником самому себе. У меня есть кое-какие ингибиторы. Подавят реакцию. Но это паллиатив. Костыль. Чтобы найти настоящее решение, нужно понять, что ты за устройство и как с тобой говорить.
Она поставила перед ним глиняную кружку с мутной жидкостью.
– Пей. Это не отрава. Отвар корня молчальника. Притупит связь между твоим «я» и тем, что в тебя вшили. Поможет тебе не сойти с ума от фантомных сигналов, которые сейчас бомбят твой мозг.
Лев взял кружку дрожащими руками. Запах был отвратительным – горьким, землистым. Он залпом выпил содержимое. На вкус было еще хуже. Но через несколько секунд огонь в руке действительно начал затихать, превращаясь в тупую, далекую боль. Давление в висках ослабло. Мир не стал родным, но перестал быть таким враждебно-ярким.
– Спасибо, – прохрипел он.
– Не благодари. Это инвестиция, – отрезала Шиша, растирая в ступке какую-то сизую пыль. – Ты – аномалия. Диковинка. Если Гильдия узнает, они тебя либо вскроют на столе, либо сожгут на площади как опасную нестабильность. Хранители Искажения… те просто сотрут с лица мира, как ластиком. А вот мне интересно. Ты – ходячий, дышащий новый протокол. В тебе может быть ключ к вещам, о которых мы и не мечтали. Или к мгновенной, болезненной смерти. Риск есть. Но здесь, в Нижнем городе, риск – валюта.
Она подошла к нему с пастой странного цвета.
– Значит, слушай условия. Ты живешь здесь. Помогаешь по мастерской. Учишься не взрываться и не светиться по ночам. А я пытаюсь понять, как тебя… отладить. И как использовать твою «несовместимость» с пользой. Договорились?
У Льва не было выбора. Но теперь, сквозь туман боли и отчаяния, стал проступать контур чего-то нового. Не цели. Задачи. Проблемы, которую нужно решить. Он кивнул.
– Договорились.
– Отлично. Теперь молчи. Это будет больно. Мне надо вручную ввести ингибиторы в узлы кристаллизации. Примерно как перепаивать контакты на горячей микросхеме.
И прежде чем он успел что-то сказать, она приложила пасту к его запястью, там, где синие линии были ярче всего. Боль вернулась – острая, жгучая, точная. Лев вскрикнул и закусил губу, чувствуя, как что-то внутри его руки сопротивляется, борется с вторжением, а потом сдается, затихает.
Шиша работала молча, сосредоточенно. В мерцающем свете жаровни и сиянии ее приборов ее лицо было похоже на лицо хирурга или сапера, обезвреживающего бомбу нового типа.
А Лев, стиснув зубы, смотрел на полки с хламом. На эти обломки технологий, которые здесь были магией. Его разум, притупленный отваром, но все еще аналитический, начал сканировать, классифицировать, строить связи.
Аркания. Операционная система со сбоями. Гильдия – администраторы с устаревшим софтом. Отверженные – хакеры, пишущие эксплойты. Хранители – антивирус, стирающий все подозрительное. А я… я вирус с неизвестным вектором атаки. Или… новая версия драйвера, которую система отказывается принимать.
Он посмотрел на свою руку, где под действием пасты синие линии начали темнеть, превращаясь в обычные, чуть более заметные шрамы.
Первая задача: написать совместимый драйвер для самого себя. Вторая: понять архитектуру этой ОС. Третья: выжить.
Это был план. Плохой, безумный, но план. И впервые с момента падения в этот мир он почувствовал не просто животный страх, а нечто иное. Азарт. Страшный, смертельный азарт инженера, получившего в руки сломанный квантовый компьютер.
Шиша закончила, замотав его руку тканью, пропитанной чем-то холодным.
– Готово. На сутки. Потом посмотрим. Теперь спи. Место там, в нише. – она кивнула в угол, где на груде мешков лежало нечто, напоминающее матрас.
Лев, шатаясь, добрел до матраса и рухнул на него. Истощение накрыло его с головой. Перед тем как провалиться в беспамятство, он услышал, как Шиша, стоя у стола с его светящейся, теперь уже забинтованной рукой, бормочет себе под нос, глядя на какую-то сложную схему, начертанную на пергаменте:
– Другой язык… Интересно, можно ли его скомпилировать во что-то рабочее… Или он только на сегфолты способен…
Тьма приняла его, но теперь это была не враждебная тьма незнания. Это была тьма отладчика перед запуском новой, рискованной сборки.
Глава 4. Отладка личности
Сон не принес покоя. Он был похож на дефрагментацию сломанного жесткого диска – обрывки образов, звуков, ощущений, лишенные временной логики. Зал ускорителя с его зелеными сигналами накладывался на пульсирующие узоры арканийских «кодов», лицо Вадима сливалось с иссушенным лицом Шиши, а вой слизкохода превращался в гул ускорительных колец. Сквозь все это проходила тонкая, холодная нить голоса из пустоты: >> ПРОЦЕСС ПЕРЕКОДИРОВКИ НОСИТЕЛЯ: 12%. Процент высветился в его сознании с четкостью системного уведомления. Он не знал, откуда взялась эта цифра, но поверил в нее мгновенно и безоговорочно. Как верил показаниям калиброванных приборов.
Лев открыл глаза. В «Кэше» царил полумрак. Угли в жаровне давно потухли, только слабый лимонный свет от кристалла на столе Шиши отбрасывал дрожащие тени на полки с хламом. Рука под импровизированной повязкой не горела, но была тяжелой, чужой, как протез с некорректно настроенными сенсорами. При попытке пошевелить пальцами он чувствовал запаздывающую, тягучую реакцию, будто сигнал шел по поврежденному кабелю.
Он лежал и слушал. Теперь, когда острая паника отступила, его восприятие, обостренное «перекодировкой» и отваром Шиши, начало улавливать фоновые процессы мира. Он слышал не просто гул города снаружи. Он слышал его слоями. Глубокий, почти инфразвуковой грохот – возможно, работа каких-то гигантских механизмов или геотермальная активность. Над ним – частокол более высоких частот: крики, скрип, музыка, звон. И поверх всего – тончайшая, едва уловимая «песня» самой магии. Не единая мелодия, а миллиард отдельных потоков данных, пересекающихся, конфликтующих, сливающихся. Как радиопомехи мегаполиса, но в тысячу раз сложнее. Это был raw data реальности, и его мозг, сам того не желая, начал его парсить.
Шум. Белый шум с элементами структуры. Требует фильтрации. Мысль пришла холодная, чистая. Он медленно сел, опираясь на левую, здоровую руку. Голова кружилась, но уже не от тошноты, а от информационной перегрузки.
Шиши не было видно. Лев встал, пошатываясь, и сделал несколько шагов к ее рабочему столу. На нем царил творческий хаос. Среди разобранных артефактов, склянок и инструментов лежали листы грубого пергамента, испещренные схемами. Он наклонился.
Это были не рисунки. Это были алгоритмы. Примитивные, с точки зрения земного программирования, но узнаваемые. Циклы, обозначенные спиралями, условия ветвления – значками, похожими на раздвоенные стрелки, переменные – вписанными в кружки рунами. Он видел схему «теплового импульса» – банальный нагревательный контур с кучей избыточных проверок на стабильность потока манны. Рядом – что-то посложнее, «кинетический толчок» с вложенным циклом для накопления энергии. Код был громоздким, неэлегантным, написанным явно методом проб, ошибок и взрывов.
Но кое-что было интереснее. На одном из листов был набросок, помеченный знаком, похожим на перечеркнутый череп. Схема была обведена в красную рамку. Лев всмотрелся. Это был… модуль принудительного чтения данных. Попытка создать «отладчик» для артефакта неизвестного происхождения. В одном из узлов схемы был явный логический разрыв – безусловный переход, ведущий в никуда, создающий петлю. Если такой скрипт активировать, он не завершится никогда, выжирая манну оператора, пока тот не умрет или не разорвет связь, рискуя психикой. Классическая ошибка новичка – бесконечный цикл.
Рука сама потянулась к стилусу, валявшемуся рядом. Лев взял его, ощутив неожиданную уверенность в пальцах. Он не думал о магии. Он думал о логике. Ошибку надо исправить. Он аккуратно, поверх красной линии, начертал альтернативный путь – условный переход с проверкой на флаг завершения. Добавил маленький «сторожевой таймер» на случай, если артефакт не ответит. Три линии, два символа. Дело тридцати секунд.
– Что ты делаешь?
Голос Шиши прозвучал прямо у него за спиной. В нем не было гнева, только ледяная, опасная тишина. Лев вздрогнул и обернулся. Она стояла в проеме, ведущем куда-то вглубь скалы, с каплевидной склянкой мутной жидкости в руке. Ее золотые глаза были прищурены, тело напряжено, как у кошки перед прыжком.
– Я… исправляю ошибку, – честно сказал Лев, откладывая стилус. – Здесь бесконечный цикл. Он убьет оператора.
Шиша медленно подошла, поставила склянку и взглянула на пергамент. Ее глаза пробежали по его дополнениям. Выражение лица не изменилось, но напряжение в плечах слегка спало.
– Откуда ты знаешь?
– Я вижу структуру. Вижу, где команда зацикливается. Тут нет условия выхода. – Он показал пальцем. – А это… сторожевой таймер. Если артефакт не подтвердит прием данных за отведенное время, скрипт аварийно завершится, не успев выжечь канал.
Шиша долго молчала, изучая его поправки. Потом хмыкнула.
– Чистый теоретик. Ты даже не знаешь, что такое «флаг завершения» в контексте эхо-кристалла Плача. Он не шлет подтверждений. Он только впитывает.
– Тогда нужен не флаг, а таймер на основе расхода манны, – немедленно парировал Лев. Его мозг работал, отбрасывая усталость. – Если скорость потребления падает ниже порогового значения и держится N тактов – значит, кристалл насытился. Цикл прерывается.
Шиша посмотрела на него так, как будто он только что материализовал яблоко из воздуха.
– Ты говоришь о вещах, на осознание которых у «чириков» ушли десятилетия. И ты приходишь к этому за полминуты, глядя на корявый набросок.
– Это не я гениален. Это… ваш подход. Он иррационален. Вы пытаетесь программировать, не зная базовых принципов программирования. Вы действуете методом тыка. У нас это называлось «спагетти-код». Его невозможно поддерживать.
– «У нас», – повторила она, присаживаясь на табурет и беря в руки исправленный лист. – В твоем мире железа и проводов. Расскажи.
И Лев рассказал. Скупо, технично, избегая лишнего. О компьютерах. О языках программирования. О том, как они описывали логику процессов, а машины их выполняли. О циклах, условиях, переменных, функциях. Он не говорил о интернете, о полетах в космос – это было бы слишком. Он говорил о фундаменте. Об абстракциях, которые позволяли управлять сложностью.
Шиша слушала, не перебивая. Ее лицо было непроницаемым, но глаза горели тем же холодным огнем, что и при починке артефактов.
– Интересно, – сказала она наконец. – У вас не было манны. У вас было… электричество. И вы писали для него команды. А здесь манна – это и энергия, и среда исполнения, и память одновременно. Наши «коды» – не просто инструкции. Они… убеждают реальность временно изменить свои правила. Чем сложнее изменение, тем больше требуется манны и тем точнее должен быть код. А неточный код… – Она кивнула на его забинтованную руку. – Дает обратную связь. Как твоя рука.
– Прямой доступ к системным ресурсам с риском критического исключения, – перевел Лев на свой язык. – Без защиты, без sandbox. Сумасшедший дизайн.
– А что такое сэндбокс? – спросила Шиша, и в ее голосе впервые прозвучало нечто, кроме настороженности или цинизма. Любопытство. Настоящее, жадное любопытство ученого.
Следующие несколько часов пролетели в странном, симбиотическом диалоге. Лев объяснял базовые концепции информатики. Шиша набрасывала на пергаменте аналоги из мира магии, приводя конкретные, часто взрывоопасные примеры. Она показала ему «компилятор» – кристаллический шар, который транслировал простые рунические последовательности в элементарные скрипты, и «отладчик» – чашу с ртутью, в которой при активации кода возникали вихри, указывающие на узкие места и утечки манны.
Лев смотрел на это и видел не магию, а железо. Примитивное, аналоговое, но железо. Мир Аркании был гигантским аналоговым компьютером, а магия – программированием на аппаратном уровне, с прямым доступом к регистрам вселенной. Это было одновременно ужасающе и восхитительно.
– Твоя проблема, – резко оборвала поток мыслей Шиша, – в том, что твой внутренний… компилятор, твое «я» с того мира, пытается перевести мои скрипты на свой язык. Получается ерунда. Обратная задача – тебе нужно научиться писать скрипты здесь и сейчас, на нашем примитивном, глючном ассемблере. Без твоих высокоуровневых абстракций. Понял?
Лев понял. Ему нужно было опуститься на уровень машинного кода этой реальности. Изучить ее операционные коды, ее регистры, ее прерывания.
– Дай мне самый простой скрипт. Самый примитивный. Который нельзя испортить.
Шиша усмехнулась.
– «Искру». Банальное выделение тепла. Основа основ. И самая частая причина ожогов у чайников. – Она нацарапала на чистом клочке пергамента три связанные руны. – Вот он. Ввод манны тут, фокусировка тут, выпуск – тут. Попробуй. Без всей твоей философии. Просто представь, что толкаешь энергию по этой траектории.
Лев взял пергамент. Руны казались просто странными загогулинами. Он закрыл глаза, пытаясь отключить аналитическую часть мозга. Нужно было не понимать, а делать. Он представил… ток. Ток, идущий по проводу. От точки А к точке Б. Он сосредоточился на ощущении в груди – странном, новом чувстве, похожем на второе, невесомое сердце, в котором копилась энергия. Манна. Он мысленно «толкнул» ее.
Из указательного пальца его левой, здоровой руки, с треском, похожим на разряд статики, вырвалась искорка. Она пролетела полметра и погасла, не долетев до стола. От пальца до локтя прошел неприятный, дергающий спазм, как от удара током слабого напряжения.
– Отстойно, – констатировала Шиша. – Но ты не взорвался. Уже прогресс. Ты толкал слишком прямо. Магия не любит прямых линий. Она любит… узоры. Ритм. Попробуй снова. Не толкай. Нарисуй ей путь внутри себя. Как по желобку.
Лев попробовал. Второй раз искра была чуть ярче и упала на стол, оставив микроскопическое черное пятнышко. Спазм был слабее. Третий раз… четвертый… К десятой попытке он мог выдавать хилое, но стабильное искрение раз в несколько секунд. Это был невероятный, унизительный примитив. Но это работало. По правилам системы.
– Неплохо для первого дня, – сказала Шиша, и в ее голосе прозвучало что-то вроде одобрения. – Теперь твоя очередь. Ты показал мне «сэндбокс». Теоретически. А как это могло бы выглядеть здесь? Как создать… изолированную среду для тестирования скриптов?
Лев взглянул на полки с хламом, на мерцающие кристаллы, на чашу с ртутью. Его разум, получив задачу, начал строить модель.
– Нужен контур, – задумчиво сказал он. – Замкнутый контур из проводника манны. Кристаллический, чтобы минимизировать потери. Внутри – изолированная ячейка, возможно, из того материала, что не взаимодействует с манной… Есть такой?
– Свинец душит магию. Слишком плотный. Но есть обсидиан с прожилками голема-камня. Он поглощает рассеянные колебания.
– Тогда обсидиановая капсула внутри кристаллического контура. На контур подается тестовый скрипт. Он работает внутри капсулы, влияя только на помещенный туда тестовый образец. Любые выбросы энергии поглощаются обсидианом. В идеале – нужен еще и сенсорный слой, чтобы снимать данные о работе скрипта без вмешательства…
Он увлекся, начал чертить в воздухе, объясняя принципы изоляции процессов, виртуальных машин. Шиша слушала, и ее глаза сузились до щелочек. Она вдруг резко встала и начала рыться в самой дальней, заваленной грудами металлолома нише. Через пять минут она вытащила нечто, покрытое вековой пылью и паутиной.
Это был шар, размером с грейпфрут, собранный из полированных пластин тусклого, черного камня (обсидиана), между которыми были впаяны тончайшие серебряные нити, образующие сложную сферу внутри сферы. Несколько нитей были оборваны. Шар был мертв, но его конструкция…
– Прадед называл это «Сновидением Гебы», – прошептала Шиша, сдувая пыль. – Говорил, что внутри можно моделировать малые миры. Никто не мог его запустить. Считали бесполезным хламом. – Она подняла на Льва горящий взгляд. – Это и есть твой… сэндбокс?
Лев взял шар. Он был тяжелым, холодным. Но в его конструкции он увидел это. Изолирующий слой. Проводящий контур. Даже следы того, что могло быть сенсорной решеткой.
– Да, – сказал он, и в его голосе впервые зазвучала не робкая надежда, а уверенность. Уверенность инженера, нашедшего сломанную, но перспективную деталь. – Это он. Его нужно починить. Настроить.
Шиша медленно улыбнулась. Это была не добрая улыбка. Это была улыбка алхимика, нашедшего философский камень.
– Значит, у нас есть проект, чирика. Ты учишься не взрываться. А мы с тобой чиним машину, которая, возможно, позволит нам взрываться безопасно. Или понимать, почему взрываются другие. – Она похлопала его по здоровому плечу. – Добро пожаловать в команду. А теперь иди спать. Завтра начнем с пайки. И с рассказа о том, что такое «виртуальная машина». Понятным языком.
Лев вернулся на свой матрас, но сон не шел. Он лежал и смотрел на темный потолок «Кэша», ощущая странное спокойствие. Паника, растерянность, ужас – они никуда не делись. Но поверх них лег новый слой – задача. Конкретная, сложная, инженерная задача. Починить устройство. Разобраться в системе. Написать драйвер.
Внутренний голос, холодный и четкий, будто из глубины его перепрошитого сознания, выдал новое сообщение:
>> ПРОЦЕСС АДАПТАЦИИ: УСТАНОВЛЕН БАЗОВЫЙ ИНТЕРФЕЙС ВЗАИМОДЕЙСТВИЯ.
>> ПРОЦЕСС ПЕРЕКОДИРОВКИ НОСИТЕЛЯ: 13%.
>> ОБНАРУЖЕНА ВНЕШНЯЯ СИСТЕМА АНАЛИЗА (УРОВЕНЬ: ПРИМИТИВНЫЙ). УСТАНОВКА СОЕДИНЕНИЯ…
Он не знал, что это за «соединение». С Шишей? Со «Сновидением Гебы»? С самим миром? Но он больше не боялся. Он был устройством в процессе ремонта. А у каждого устройства есть схема. И ее можно понять. Можно починить.
Можно улучшить.
Он закрыл глаза, и на этот раз сон был черным, пустым и глубоким, как среда отладки перед запуском откомпилированного кода.
Глава 5. Первый пакет данных
Работа над «Сновидением Гебы» стала для Льва идеальной терапией. Это была конкретная, многослойная проблема, требовавшая не магического могущества, а логики, терпения и тонкой моторики. Дни в «Кэше» слились в череду циклов: сон, скудная еда (какая-то вязкая похлебка и черный, солодовый хлеб), изучение основ магии под присмотром Шиши и кропотливая возня с артефактом.
Первым делом нужно было восстановить физические повреждения. Оборванные серебряные нити – проводники манны – невозможно было просто спаять. Шиша показала ему «живое серебро» – амальгаму с микрокристаллами голема-камня, которая проводила не только энергию, но и намерение. Наносить ее нужно было с помощью тончайшего кибернетического пера, подключенного к крошечному резервуару, и одновременно удерживать в уме чистый, стабильный поток манны, иначе амальгама сворачивалась в бесполезный шарик. Первые попытки Льва заканчивались провалом: его манна пульсировала, следуя ритмам земных логических конструкций, которые не подходили к плавным, волнообразным паттернам Аркании.
– Ты пытаешься вбить гвоздь микроскопом, – ворчала Шиша, наблюдая, как пятая по счету капля амальгамы скатывается с обсидиановой пластины. – Расслабься. Не думай о «подаче энергии». Думай о… наполнении формы. Как вода, принимающая форму сосуда.
Лев закрыл глаза, отбросил попытки «скомпилировать» процесс. Он представил не электрический ток, а медленный, вязкий сироп, стекающий по невидимому желобку от его груди, через руку, в перо. И – о чудо – серебристая капля послушно растеклась по царапине, вживилась в обсидиан и застыла, мерцая тусклым светом. Соединение было восстановлено. Примитивно, некрасиво, но функционально.
– Прогресс, – кивнула Шиша, и в ее голосе прозвучало удовлетворение мастера, видящего, что ученик наконец-то понял базовый принцип. – Теперь следующий контур. И не забудь про фазу. Если сдвинешь – весь шар начнет вибрировать, как расстроенная лютня.
Постепенно, контур за контуром, «Сновидение Гебы» оживало. По мере работы Лев начал чувствовать артефакт. Не руками, а тем самым новым, магическим восприятием, которое медленно прорастало сквозь толщу его земного сознания. Он ощущал его как пустую, ждущую структуру, набор незаполненных регистров и портов ввода-вывода. Это была машина, ожидающая программы.
Одновременно Шиша продолжала его обучение. От «Искры» они перешли к «Легкому дуновению» – микроскопическому смещению воздуха. Скрипт был на порядок сложнее: требовалось не просто выпустить энергию, а сформировать из нее крошечный вихрь с заданными параметрами. Лев сидел часами, пытаясь заставить пылинку на столе дрогнуть. У него получалось лишь сжечь на ней дыру. Его разрыв между теоретическим пониманием («нужно создать разность давлений») и практическим исполнением был колоссальным. Шиша называла это «зазором между чертежом и молотком».
Однажды, после особенно неудачной попытки, когда он лишь громко чихнул от перенапряжения, она отложила свой паяльный инструмент и пристально на него посмотрела.
– Ладно, хватит с тебя теории на сегодня. Пойдем, покажу, как это выглядит в дикой природе.
Они вышли из «Кэша» не ночью, а глубоким вечером, когда над Нижним городом повисла аспидная мгла, прошитая дрожащими огнями. Шиша вела его не вверх, к гудящим огням, а вниз, в лабиринт каменных расщелин и заваленных мусором туннелей, которые, по ее словам, были «дренажной системой» города. Воздух здесь был густым и сладковато-гнилостным. Вода капала с потолка, образуя ржавые лужи.
– Здесь, – прошептала Шиша, прижимаясь к влажной стене, – лучшая школа. Смотри.
Из тени впереди выползло существо, напоминавшее помесь крысы и скорпиона размером с собаку. Его хитиновый панцирь был покрыт слизью и мерцал тусклым биолюминесцентным светом. Оно что-то вынюхивало, вороша клешней груду обломков.
– Мусорщик, – беззвучно прошептала Шиша. – Тупой, но опасный. Смотри.
Она не стала чертить руны в воздухе. Она лишь слегка пошевелила пальцами, сложенными в странную, расслабленную фигуру. Лев, напрягая свое новое восприятие, увидел – не глазами, а чем-то иным – как от нее отделился тончайший, почти невидимый поток манны. Он не полетел прямо, а словно обогнул пространство, подкравшись к существу сбоку, со стороны глухой стены. Там поток сгустился, сформировав не удар, а… толчок. Микроскопический, точно рассчитанный импульс воздуха, ударивший в точку равновесия твари.
Мусорщик взвизгнул, потеряв на мгновение опору, и шлепнулся на бок в ржавую лужу. Он забился, издавая булькающие звуки ярости, но Шиша уже отдернула поток. Существо, ничего не поняв, лишь фыркнуло и, почесавшись, поползло дальше, обходя злополучное место.
– Видишь? – Шиша отвернулась от твари. – Никаких «огненных копий». Минимум манны. Максимум эффекта. Не сила, – она ткнула себя пальцем в висок, – понимание. Ты знаешь, где у системы слабое место. Ты знаешь, какую команду ей подать, чтобы она споткнулась. Это и есть магия Отверженных. Не палить, не крушить. Тихо, грязно, эффективно.
Лев смотрел на нее с новым уважением. В ее действиях была та же изящная, экономичная жестокость, что и в лучших взломах безопасности. Не ломать дверь, а подобрать отмычку к самому слабому замку.
– Теперь твоя очередь, – сказала она неожиданно. – Вон, смотри. Живая мишень.
Она кивнула в сторону груды мусора, где на куске прогнившей древесины росли бледные, светящиеся грибы. Вокруг них копошились крошечные, похожие на мокриц насекомые с полупрозрачными панцирями.
– Попробуй сбить одну. Самым простым способом. Как чувствуешь.
Лев сглотнул. Это было не в стерильной обстановке мастерской. Это было по-настоящему. Он сосредоточился на одной из мокриц, ползущей по краю древесины. Отбросил все теории. Просто попытался захотеть, чтобы она упала. Он толкнул манну.
Из его указательного пальца вырвался неконтролируемый, слабый, но жаркий поток. Он не попал в мокрицу. Он ударил в древесину рядом, поджег светящийся гриб. Гриб с треском вспыхнул сине-зеленым пламенем, осыпая искрами. Мокрицы в панике разбежались.
– Пожарник, – констатировала Шиша, но без упрека. – Сила есть. Точности ноль. Но… интересно. Твой выброс был нестабильным, но частоты… они были странными. Чище, чем должны быть. Как будто ты пытался не толкнуть воздух, а… отправить команду на отключение гравитации для одной точки. Система не поняла и выдала тебе самый простой ответ – тепло. Запрос отклонен с ошибкой исполнения.
Она задумалась, глядя на тлеющий гриб.
– Твой внутренний язык… он пытается общаться напрямую с ядром системы. Минуя все API. Это либо гениально, либо смертельно. Пойдем обратно. Надо записать эти частоты.
Возвращались они уже другой дорогой, по узкому карнизу над зловонной речкой. Именно тогда Лев впервые ощутил это. Не звук. Не зрение. Давление. Искажение в фоновой «песне» реальности. Что-то большое, мощное и глубоко враждебное его собственному, чужеродному сигналу промелькнуло где-то наверху, на краю обрыва, где маячили огни более благополучных районов. Он остановился как вкопанный, схватившись за холодный камень стены. По спине пробежал ледяной пот.
– Что? – мгновенно среагировала Шиша, ее рука легла на рукоять короткого кинжала за поясом.
– Что-то… – Лев с трудом подбирал слова. – Как… сканер. Глубокое сканирование. Оно искало что-то. И… заметило меня. Мельком.
Лицо Шиши стало каменным.
– Хранители. Их патрули иногда спускаются в Нижний город, ищут «нестабильности». – Она пристально посмотрела на него. – Твоя дурная кровь зашевелилась. Они почуяли аномалию. Не факт, что идентифицировали, но запомнили отпечаток. Быстро.
Она почти втолкнула его в ближайшую расщелину, и они, не разбирая дороги, поспешили назад в «Кэш». Только когда тяжелая завеса из лиан захлопнулась за ними, Лев смог перевести дух. Сердце бешено колотилось. Это была не звериная паника перед слизкоходом. Это был холодный, профессиональный ужаст перед системным администратором, обнаружившим вирус в сети.
Вернувшись, Шиша не зажгла свет. Она сидела в темноте, и только слабое мерцание кристаллов на столе освещало ее хмурое лицо.
– Дела плохи. Ты – громкая аномалия. Даже если они не поняли, что ты, они внесли тебя в лог как подозрительную активность. Рано или поздно придут с более глубоким сканированием.
– Что делать? – голос Льва звучал хрипло.
– Ускориться. «Сновидение» должно заработать. Оно может помочь экранировать твой сигнал. Или… изменить его, сделать похожим на что-то обыденное. – Она встала, подошла к почти восстановленному артефакту. – Завтра закончим пайку. Послезавтра – первое включение. Ты будешь оператором.
– Я? Но я ничего не умею!
– Именно поэтому. Твое восприятие системы – искаженное, прямое. Ты можешь увидеть в «Сновидении» то, что я, со своим «правильным» воспитанием, никогда не замечу. Риск огромный. Можешь спалить и артефакт, и свои остатки рассудка. Готов?
Лев посмотрел на шар, на тончайшую паутину восстановленных контуров. На свою правую руку, где под повязкой синие линии хоть и потускнели, но никуда не делись. Он кивнул.
– Да.
В ту ночь он не спал. Сидел у стола, смотрел на «Сновидение Гебы» и мысленно проходил каждый контур, каждый узел. Он представлял его как виртуальную машину. Ей нужна операционная система. Минимальное ядро, способное интерпретировать скрипты. Но какое? На каком языке? На языке Аркании, который давался ему с таким трудом? Или… рискнуть и попробовать вшить в нее логическую структуру своего мира? Гибрид. Совместимый слой.
Это было безумие. Но иного выхода не было.
Перед рассветом, когда первые лучи медной луны пробились сквозь щели в скале, внутренний голос снова проявил активность, но на этот раз иначе. Не сухим системным сообщением. Образом. Вспышкой. Он увидел – нет, узнал – структуру. Не «Сновидения». А того, что скрывалось за ним. Глубинный слой реальности Аркании. Мир не был аналоговым компьютером. Он был… симуляцией. Чрезвычайно сложной, детализированной, но симуляцией, построенной на двоичной логике. А магия была не программированием железа, а доступом к консоли управления этой симуляцией на низком, но не самом низком уровне. «Коды» Отверженных и Гильдии были скриптами на скриптах, надстройками над настоящим API.
И его земной разум, его логика… они были ближе к этому базовому уровню, чем что-либо в этом мире. Поэтому его запросы были такими чистыми и такими разрушительными. Он говорил на языке, на котором была написана сама реальность, но делал это с акцентом и ошибками новичка.
>> ОБНАРУЖЕН НИЗКОУРОВНЕВЫЙ ДОСТУП К СИСТЕМНЫМ ФУНКЦИЯМ.
>> ПРЕДУПРЕЖДЕНИЕ: ОТСУТСТВУЮТ НЕОБХОДИМЫЕ БИБЛИОТЕКИ ДЛЯ КОРРЕКТНОЙ ИНТЕРПРЕТАЦИИ.
>> РЕКОМЕНДАЦИЯ: ИСПОЛЬЗОВАТЬ ВНЕШНЕЕ УСТРОЙСТВО (СНОВИДЕНИЕ ГЕБЫ) В КАЧЕСТВЕ БУФЕРА И ТРАНСЛЯТОРА.
>> ПРОЦЕСС ПЕРЕКОДИРОВКИ: 18%. АДАПТАЦИЯ КОМПИЛЯТОРА ПОД ЛОКАЛЬНУЮ СРЕДУ ВЫПОЛНЕНИЯ.
Лев открыл глаза. В темноте мастерской его зрачки расширились. Он не просто понял. Он знал. «Сновидение Гебы» было не сэндбоксом. Оно было шлюзом. Мостом между его грубым, прямым доступом и сложной, многослойной системой Аркании. С его помощью он мог не просто прятаться. Он мог… говорить с миром на его истинном языке. И просить его изменить правила.
Он посмотрел на спящую фигуру Шиши, свернувшуюся в углу на своем походном мешке. Она была хакером, ковыряющимся в пользовательском интерфейсе. А он… он только что получил root-доступ. Страшный, безграничный и смертельно опасный.
Завтра они включат артефакт. И Лев должен был решить: использовать его как щит, чтобы спрятаться? Или как отмычку, чтобы открыть дверь в самое сердце системы, не зная, что ждет его по ту сторону?
Горизонта медных луний в щели стало больше. Новый день в Аркании начинался. День, когда теории должны были столкнуться с практикой. И когда Льву предстояло отправить в реальность свой первый осознанный, структурированный запрос. Первый пакет данных от чужеродного, но невероятно мощного источника.
Он положил руку на холодную поверхность «Сновидения Гебы». Металл и камень отозвались едва уловимым, ответным колебанием, будто эхо в пустой комнате сервера. Диалог начался.
Глава 6. Первая сборка
Утро в «Кэше» было лишено рассвета в привычном понимании. Медная луна, плывя где-то за толщей скалы, окрашивала щели входа в кроваво-багровый цвет, а холодный, синий спутник уже скрылся за горизонтом. Вместо солнечного луча в мастерскую пробивался косой столб пыли, подсвеченный тусклым, вечным свечением кристаллов в углу.
Лев не спал. Он сидел перед «Сновидением Гебы», его пальцы почти бессознательно проверяли последние, только что нанесенные соединения. Амальгама застыла идеально, образуя плавные, сияющие мостики между пластинами обсидиана. Артефакт был цел. Физически. Теперь предстояло самое сложное – инициализация.
Шиша, проснувшись, молча наблюдала за ним, жуя краюху черного хлеба. Ее золотые глаза были серьезны.
– Перед тем как ты вложишь в него хоть искру, правила, – сказала она, отложив еду. – Первое: я буду держать руку на аварийном разрыве. Если что-то пойдет не так, я отключу питание. Это может тебя шокировать, но это лучше, чем позволить тебе сжечь себе мозги. Второе: ты говоришь вслух каждый шаг. Каждую мысль. Даже если она кажется идиотской. Понял?
– Понял.
– Третье: цель – не покорение мира. Цель – зажечь внутри сферы контрольную точку. Простейший светящийся маркер. Если получится – празднуем. Если нет… ну, ты знаешь.
Лев кивнул. Его горло было сухим. Он положил ладони на холодные боковые панели шара – контактные площадки, как объяснила Шиша. Материал под пальцами был инертным, глухим.
– Начинай, – скомандовала она, положив свою исцарапанную руку на медное кольцо у основания подставки артефакта – аварийный выключатель.
Лев закрыл глаза. Он отбросил все страхи. Он был инженером перед первым запуском прототипа. Сначала – подача энергии. Он нашел внутри себя то «второе сердце» – резервуар манны. Вместо того чтобы грубо толкнуть энергию, он представил открытие клапана. Плавное, дозированное истечение.
Он почувствовал, как холод под его ладонями сменился легкой теплотой. Серебряные нити внутри сферы загорелись тусклым, молочным светом. «Сновидение Гебы» пробудилось. Оно было пустым. Тихим. Ожидающим.
– Подача энергии установлена. Уровень: минимальный, – произнес Лев вслух, голос звучал неестественно громко в тишине пещеры. – Система отвечает. Ожидание команды.
Теперь нужно было написать программу. Самую простую. На языке Аркании. Рунический скрипт для создания светящейся точки. Он вызвал в памяти значки, которые учила Шиша: инициализация, фокусировка, эмиссия, стабилизация. Он начал мысленно выстраивать их в цепочку, вливая в каждую руну крошечную толику манны, пытаясь заставить сферу понять его намерение.
Ничего не произошло. Сфера тупо сияла, поглощая энергию.
– Не получается, – сквозь зубы сказал Лев. – Она не интерпретирует. Код не исполняется.
– Попробуй проще! – донесся голос Шиши. – Не строй целый скрипт! Дай одну команду! «Светись»!
Лев попытался. Он вложил в сферу чистый, неструктурированный импульс желания: СВЕТ. Ответом был едва заметный всплеск энергии, тут же поглощенный обсидиановыми пластинами. Артефакт не понимал абстракций. Ему нужны были инструкции. Четкие, машинные.
И тогда Лев вспомнил свое ночное озарение. Root-доступ. API реальности. Он не должен был играть по правилам пользовательского интерфейса Аркании. У него был прямой путь к ядру.
Это был безумный риск. Но иного выхода не было.
– Меняю подход, – сказал он, не открывая глаз. – Пытаюсь обратиться напрямую к базовому слою.
– Что? Лев, нет! – резко крикнула Шиша, но было поздно.
Лев перестал пытаться говорить на чужом языке. Он обратился внутрь себя, к тому холодному, логическому ядру, которое сформировалось после «перекодировки». Он представил не руны, а чистую логику. Условие. Если внутри сферы (координаты X, Y, Z) существует вакуум (параметр: давление = ~0), то изменить состояние (свойство: энергия фотонов) на (значение: положительное, диапазон: видимый свет, интенсивность: 1 люмен). Выполнить.
Это был не магический скрипт. Это был запрос к базе данных реальности с изменением одного поля.
«Сновидение Гебы» вздрогнуло.
Не физически. Его дрожь прошла по самой реальности. Свет серебряных нитей погас на микросекунду, затем вспыхнул с ослепительной, белой яркостью. Воздух затрещал от статики. Лев почувствовал, как через его руки хлынул мощнейший поток… не манны. Чего-то более глубокого. Системного ресурса. Артефакт превратился в шлюз, в гигантский трансформатор, переводящий его примитивный, но фундаментальный запрос в команды, понятные симуляции Аркании.
В центре обсидиановой сферы, в абсолютной пустоте, родилась точка. Не просто светящаяся. Идеально круглая, математически чистая, излучающая ровный, холодный белый свет в один люмен. Она висела там, подчиняясь измененному закону, вопреки тому, что в вакууме светиться нечему.
– Боже… – прошептала Шиша, выпустив медное кольцо. Ее глаза были широко раскрыты. – Ты… что ты сделал?
– Я внес изменение в локальный контекст, – монотонно ответил Лев, его разум был захвачен потоком обратной связи. Он видел не светящуюся точку. Он видел измененную строку в коде реальности, подсвеченную в его сознании. – Система приняла запрос. Но… есть побочные эффекты.
– Какие?!
– Энергоемкость. Для поддержания аномалии расходуется на 700% больше системных ресурсов, чем должно было бы. И… – он нахмурился, чувствуя что-то на периферии своего нового восприятия, – есть утечка данных. Запрос был слишком чистым. Он создал… эхо. В других слоях симуляции.
Внезапно светящаяся точка в сфере изменилась. Ее белый свет затрепетал, в нем замелькали проблески других цветов: ядовито-зеленого, гнилого фиолетового. Форма точки исказилась, на мгновение превратившись в нечто угловатое, многогранное. Из сферы донесся тонкий, высокий звук, похожий на скрежет кремния по стеклу.
– Нестабильность! – крикнула Шиша. – Прерывай!
Но Лев уже действовал. Он не стал рвать связь. Он послал новый запрос. Не на удаление, а на исправление. Он нашел в своем ментальном взоре ту самую измененную строку и внес в нее поправку: добавил ограничивающий параметр – «изолировать эффект от фоновых процессов, установить приоритет: низкий».
Скрежет стих. Свет снова стал ровным и белым, хотя и чуть более тусклым. Утечка данных прекратилась. Но Лев чувствовал, что артефакт теперь работает на пределе. Поддерживать эту крошечную аномалию было все равно что держать открытым туннель между мирами размером с булавку.
– Отключай, – скомандовала Шиша, и на этот раз в ее голосе не было споров.
Лев мысленно отправил команду на прекращение. Светящаяся точка исчезла, не оставив после себя ничего, кроме легкого запаха озона. Серебряные нити потухли. «Сновидение Гебы» снова стало холодным, инертным шаром камня и металла.
Наступила тишина, густая и тяжелая. Лев открыл глаза. Его руки дрожали, с них капал пот. Во рту был вкус железа. Он чувствовал себя так, будто только что провел трое суток без сна, отлаживая критический баг в ядре операционной системы.
Шиша медленно подошла, села на корточки перед ним, глядя на артефакт, а потом на него.
– Объясни, – тихо сказала она. – Объясни так, чтобы я поняла. Что это было?
Лев с трудом подобрал слова.
– Ты была права. «Сновидение» – шлюз. Но не для магии… а для чего-то более глубокого. Мир… он не просто подчиняется магии. Он сделан. Из информации. Из кода. Магия – это высокоуровневый язык для работы с ним. А я… – он показал на свой лоб, – у меня есть доступ к низкоуровневым командам. К тому, на чем все держится. «Сновидение» усилило этот сигнал, позволило мне что-то изменить напрямую. Но система это заметила. И попыталась… исправить сама себя. Это был конфликт. Я заставил ее принять новое правило в одном маленьком месте.
Шиша долго молчала, переваривая сказанное. Ее лицо было бледным.
– Ты говоришь, как еретик из древних легенд. О Творцах и Первокоде. Этого не может быть.
– Это есть. Ты сама видела. Эта точка… она не должна была существовать по законам физики твоего мира. Но она существовала, потому что я изменил правила для этого конкретного объема.
– И что теперь? – голос Шиши стал резким, практичным. – Ты создал маяк? Те утечки данных?
– Возможно. Запрос был слишком… чистым. Он отличался от фонового шума. Если у Хранителей есть инструменты для мониторинга целостности системы… они могли это засечь. Как всплеск на ровной линии.
Шиша выругалась, вскочила и начала метаться по мастерской, хватая какие-то приборы, свертки, инструменты.
– Тогда мы обречены. Они уже сканировали район. Теперь у них есть конкретный след. Они придут. Быстрее, чем мы думали.
– Не обязательно, – сказал Лев, и в его голосе зазвучала новая нота – не страха, а расчета. – Мы создали не только маяк. Мы создали инструмент. Если я могу изменять правила в малом объеме… я могу создать помеху. Маскировку. Изменить наш с тобой «сигнатурный отпечаток» в системе, сделать его похожим на что-то обычное. На… на фоновый шум города. На скопление грибов. На что угодно.
Шиша остановилась, уставившись на него.
– Ты можешь это сделать?
– Теоретически. Но для этого нужен другой запрос. Не создание, а… модификация существующих данных. Это сложнее. И опаснее. Можно стереть не только наш след, но и… нас самих из реальности. Частично.
Он посмотрел на свою правую руку. Синие линии под повязкой пульсировали в такт его сердцебиению. Он был ходячей нестабильностью. Но теперь у него был рычаг. Крошечный, но настоящий.
– Нужно провести еще один эксперимент, – сказал он. – На этот раз не на артефакте. На мне. Я попробую изменить собственный «системный лог», свой отпечаток в реальности. Если получится… мы сможем скрыться. Если нет… – он пожал плечами, – ты знаешь, где аварийный выключатель.
Шиша смотрела на него, и в ее золотых глазах боролись страх, восхищение и чистая, безумная жажда знания. Она была Отверженной. Хакером. И перед ней лежала величайшая из всех возможных взломов – взлом самой реальности.
– Договорились, – наконец выдохнула она. – Но не сейчас. Ты еле держишься. Артефакту тоже нужно остыть. И… мне нужно кое-что проверить в старых записях. Есть легенды… об «Исправителях Кода». Безумцах, которые пытались говорить с миром на языке его создания. Их стирали Хранители. Быстро. – Она подошла к заваленному свитками сундуку. – Если мы будем делать это, то нужно знать, против чего именно мы идем.
Лев кивнул, чувствуя, как на него накатывает волна источения. Он откинулся на спинку стула, глядя на потолок. Внутренний интерфейс выдал новое сообщение, но на этот раз не текстовое. Это была простая, четкая диаграмма. График расхода системных ресурсов во время эксперимента. Пик. Спад. Область нестабильности. И едва заметный, но присутствующий след – запрос, ушедший куда-то за пределы локальной зоны. В лог высших уровней мониторинга.
Хранители знали. Или скоро узнают.
У них было время. Несколько часов? Может, сутки.
>> ПРОЦЕСС ПЕРЕКОДИРОВКИ: 22%.
>> ОБНАРУЖЕНА НЕСАНКЦИОНИРОВАННАЯ МОДИФИКАЦИЯ ЛОКАЛЬНЫХ ПАРАМЕТРОВ.
>> ВЫСШИЙ УРОВЕНЬ МОНИТОРИНГА УВЕДОМЛЕН ОБ АНОМАЛИИ (УРОВЕНЬ УГРОЗЫ: НИЗКИЙ, ПРИОРИТЕТ: ФОНОВЫЙ).
>> РЕКОМЕНДАЦИЯ: ПОВТОРНАЯ МОДИФИКАЦИЯ С ЦЕЛЬЮ МАСКИРОВКИ ДО ПОВЫШЕНИЯ ПРИОРИТЕТА СКАНА.
Лев усмехнулся в темноте. Даже его внутренняя система понимала – нужно спешить. Он посмотрел на Шишу, которая, склонившись над хрупкими пергаментами при свете кристалла, что-то бормотала, сверяя символы.
Они перешли черту. Из беглецов и ремонтников они стали… чем-то другим. Взломщиками фундамента. И следующий шаг будет самым опасным. Не изменение кусочка пустоты в сфере. Изменение самих себя в ткани бытия.
Первая сборка прошла с ошибками, но она работала. Теперь предстояло выпустить патч. Патч для собственного существования.
Глава 7. Эксплойт для реальности
Тишина после эксперимента была громкой. Она звенела в ушах Льва навязчивым писком перегруженного конденсатора. Перед глазами все еще стоял образ той идеальной, белой точки – язвы на теле реальности, которую он прорезал и тут же залатал.
Шиша не теряла времени. Пока Лев сидел, пытаясь вернуть дрожь в рукам подобие контроля, она рылась в сундуке, разворачивая хрустящие пергаменты, испещренные выцветшими чернилами и странными, угловатыми схемами, которые не были ни рунами, ни чертежами. Это выглядело как попытка слепого нарисовать архитектуру небоскреба.
– Нашла, – ее голос прозвучал приглушенно, словно из колодца. Она вытащила ломкий свиток, почти рассыпавшийся в руках. – Отчет. Вернее, предсмертные каракули одного из тех, кого ты назвал «Исправителями». Его нашли в Старых Канализациях. Весь покрытый… кристаллическими наростами. Как твоя рука, но по всему телу. В тексте бред, но есть паттерны.
Она положила свиток на стол рядом с «Сновидением», осторожно разгладив его обломками кристаллов.
– Смотри. Он описывает не магию. Он описывает… структуру. Слои. Он называет мир «Глиной», а магию – «Резцом». Но потом говорит о «Ткачах», которые вплетают нити в Глину, и о «Сторожах», которые отсекают лишнее. – Она провела пальцем по строке, где значки складывались в подобие решетки. – Здесь он пытался нарисовать то, что видел. Иерархию доступа. Внизу – «Глина» (физический мир). Над ней – «Узоры» (магия, как мы ее знаем). Еще выше – «Ткачи». И на самой вершине… «Стражи Порядка». Хранители.
Лев подошел, превозмогая слабость. Его взгляд скользнул по древним каракулям. И снова, сквозь призму своего нового восприятия, он увидел. Это была не метафора. Это была буквальная, коряво изображенная архитектура. Многоуровневая система управления. API с разными уровнями доступа.
– Он был близок, – прошептал Лев. – Он чувствовал систему, но у него не было языка, чтобы ее описать. «Ткачи»… это могут быть автоматические процессы поддержания реальности. А «Стражи», Хранители – это системные службы мониторинга и исправления ошибок. Выше их, наверное, только… – он запнулся, не решаясь выговорить «программисты» или «администраторы».
– Он пишет, что пытался «поговорить с Ткачами», минуя Узоры, – продолжила Шиша, ее голос стал жестче. – И Сторожа пришли за ним. Не сразу. Сначала был «зуд в костях», потом «глаза видели числа», потом… – она перевела взгляд на Льва, – «кожа стала записной книжкой для чужих мыслей». Его стерли. Медленно. Системно. Как вредоносный процесс.
Она отложила свиток.
– Твой след, Лев. Он чище. Ярче. И ты использовал усилитель. – Она кивнула на «Сновидение». – Они уже в пути. Не патруль. Спецгруппа. У нас не часы. Минуты.
Холодный ком сжался у Льва под ребрами. Страх вернулся, но не панический, а холодный, расчетливый. Данные получены. Угроза оценена. Время: минимально. Нужно решение.
– Маскировка, – сказал он. – Нужно не просто скрыть след. Нужно переписать наш идентификатор в системе. Сделать нас… фоновым шумом. Частью легитимного процесса. Как?
Шиша закусила губу, ее мозг работал с той же скоростью.
– В Нижнем городе тысячи аномалий. Мелких, безопасных. Флуктуации манны от скопления грибов, эхо от старых обвалов, шум от подпольных реакторов… Если мы сможем сделать так, чтобы наш «портрет» в системе выглядел как одна из таких аномалий…
– Нужно найти шаблон, – немедленно подхватил Лев. – Захватить сигнал реальной, безобидной аномалии, скопировать его паттерн и наложить поверх нашего. Как подменить MAC-адрес в сети.
– «Сновидение» может захватить образец, – сказала Шиша, уже хватая инструменты. – Но чтобы наложить… тебе придется снова лезть в ядро. И менять данные уже не в изолированной сфере, а в живом потоке системы. Это… это все равно что пытаться перепаять микросхему на работающем сервере, под током.
– Альтернатива – быть найденными и стертыми, – холодно констатировал Лев. Он уже подходил к артефакту, снова кладя на него ладони. Камень был едва теплым. – Ищем образец. Ближайший, самый стабильный.
Шиша кивнула, схватила с полки другой прибор – плоский кристаллический диск с медной оправой. Она вышвырнула им груду хлама с подоконника-щели и приложила диск к скале.
– Здесь, в пятидесяти метрах на юго-запад, – пробормотала она, прикрыв веки. – Старый фильтрационный коллектор. Забит биолюм-грибами. Их симбиоз дает постоянный, пульсирующий выброс манны низкой чистоты. Идеальный фон.
– Захватывай паттерн, – скомандовал Лев. Он чувствовал, как «Сновидение» оживает под его руками, настраиваясь на роль не творца, а сканера. – Я подготовлю интерфейс для модификации. Мне нужен доступ к нашему с тобой… хешу. Уникальному идентификатору в системе.
Работа закипела. Шиша, бормоча заклинания, направляла кристаллический диск, считывая тончайшие колебания манны из коллектора. «Сновидение» гудело, его серебряные жилы вспыхивали разными цветами, записывая сложный, но предсказуемый рисунок пульсаций – «шум грибницы».
Лев же погружался внутрь. Он искал в себе то самое ощущение «несовместимости», тот чужеродный код, который делал его видимым. Это было похоже на поиск собственного имени в машинном коде гигантской программы. Он чувствовал напряжение – разницу между его данными и данными мира. Это и был его ID. И рядом – другой, более тусклый, но столь же чужеродный узор… Шиша. Ее магия «грязного хакинга» тоже оставляла след, хоть и лучше замаскированный.
– Готово! – выдохнула Шиша, и от диска к «Сновидению» потянулся тонкий луч переливающегося света, неся в себе записанный паттерн. – Паттерн записан и зациклен. Но он нестабилен во времени! Через несколько часов его периодичность собьется, и маскировка отвалится!
– Нам и не нужно навсегда, – сквозь зубы проговорил Лев. Его сознание уже держало две нити: их с Шишей «сигнатуры» и новый, наложенный поверх «шум». – Нужно перезаписать текущий лог. Заставить систему думать, что мы всегда были частью этого фонового шума. Создать ложную историю.
Это был момент истины. Он не просто менял параметры. Он собирался подделать системные логи. Самый тяжелый киберпреступление в его старой жизни. Здесь это могло быть равносильно самоубийству.
– Держись, – только и сказала Шиша, снова кладя руку на аварийный выключатель, но теперь ее лицо было не строгим, а… сосредоточенным. Она доверяла ему. Или отчаялась.
Лев сделал вдох и нажал.
Не физически. Он отправил пакет. Через «Сновидение», используя его как прокси и усилитель, он послал в базовый слой системы запрос: «Заменить идентификационные данные сущностей А (Лев) и Б (Шиша) в текущем и ближайших архивных слоях на паттерн Г (шум грибницы), начиная с временной метки Т (три часа назад). Сохранить целостность сознания и физических оболочек».
«Сновидение Гебы» взвыло.
Это был звук рвущегося металла и трескающегося камня. Сфера завибрировала так, что со стола посыпались мелкие инструменты. Серебряные нити светились ослепительно белым, затем кроваво-красным. Воздух в пещере сгустился, стало трудно дышать. Лев чувствовал, как что-то в самой реальности сопротивляется. Не Хранители. Сама система. Запрос нарушал внутреннюю согласованность данных. Это была попытка внести противоречие в базу, и система защиты ядра отторгала его.
Боль пронзила Льва, острая и чистая, как удар отладчика по неверной строке кода. Он увидел, как синие линии на его правой руке вспыхивают под бинтами, прожигая ткань. Рядом Шиша вскрикнула – на ее руках, держащих кристаллический диск, проступили такие же, но более бледные линии. Система пыталась их каталогизировать, пометить как поврежденные данные.
– Не… получается… – сквозь стиснутые зубы выдавил Лев. Сопротивление было слишком велико. Его запрос был слишком грубым. – Нужен… обходной путь. Не замена… инкапсуляция!
Он не стал отменять запрос. Он модифицировал его на лету, черпая идеи из отчаянной скорости собственного мышления. Не стирать их ID. Обернуть его. Создать виртуальный контейнер, который будет транслировать их истинный сигнал в безобидный шум для внешнего наблюдателя. Как VPN-туннель в реальности. Внутри они останутся собой. Снаружи будут выглядеть как грибы.
Это требовало еще больше ресурсов и было чудовищно сложным. Его разум горел. Он чувствовал, как теряет границы, как его сознание начинает сливаться с raw data, текущей через «Сновидение». Еще немного – и он станет просто еще одним процессом в системе, забывшим, что он человек.
И в этот момент Шиша не отключила питание. Она сделала нечто иное. Она с силой ударила кулаком по столу рядом с артефактом и выкрикнула не руны, а гортанное, первобытное слово, лишенное магии, но полное чистой, яростной воли. Волны ее собственной, «грязной», нестабильной манны врезались в поток Льва.
Это был хаос. Помеха. Но именно это и сработало. Чистый, логичный запрос Льва столкнулся с нелогичным, эмоциональным всплеском Шиши. Система, пытавшаяся найти согласованность, на мгновение «зависла». И в этот микроскопический промежуток нестабильности, патч Льва – инструкция по созданию «контейнера-невидимки» – проскочил и был принят.
Грохот прекратился. Свет погас. «Сновидение Гебы» издало тихий, жалобный щелчок, и тонкая трещина побежала по одной из обсидиановых пластин. Артефакт был поврежден, но, кажется, выполнил свою задачу.
Лев рухнул со стула на пол. Он лежал, глотая липкий воздух, чувствуя, как мир вокруг… изменился. Не визуально. Перцептивно. Давление, та самая чуждость, что давила на него с момента попадания, – ослабла. Он как будто надел шумоподавляющие наушники в грохочущем цеху. Мир перестал так яростно сигналить о его неправильности. Он все еще чувствовал себя чужаком, но теперь он был замаскированным шпионом, а не слоном в посудной лавке.