Нейтон Патчер – Багоюзер: Глубокий Код (страница 8)
Удар пришелся точно. Но эффекта не последовало.
Вместо фонтана искр или цифр нанесенного урона клинок словно погрузился в вязкую, холодную ртуть. По лезвию стилета побежали серые системные символы:
[Внимание: Цель не имеет стандартной шкалы здоровья (HP == UNDEFINED)] [Структура объекта: Динамический массив указателей ядра] [Любые механические повреждения аннулируются процедурой регенерации стека: Heap_Compaction()]
Ян мгновенно отскочил назад, спасаясь от опустившейся сверху многотонной гидравлической лапы, которая размозжила полигональную плиту в пыль.
— Я же предупреждала! — кричала Синтаксис сквозь помехи радиоканала. — Ты не нанесешь ему урона физическим оружием! Это не моб, это системный процесс нулевого кольца защиты! Его тело — это исполняемый код C-подобного ядра! Он непрерывно уплотняет свою память, переписывая поврежденные сегменты заново!
Ян укрылся за остовом брошенной многометровой шестеренки — незавершенного ассета альфа-версии. Его мозг работал на пределе возможностей, анализируя структуру данных, которую он успел считать стилетом в момент контакта.
«У него нет шкалы здоровья, — хладнокровно рассуждал Ян, восстанавливая дыхание. — Он регенерирует через дефрагментацию кучи. Но как сборщик мусора определяет, что именно нужно удалять, а что оставлять? Он строит граф связности объектов. Если объект достижим из корневого набора — он живет. Если нет — уничтожается».
В глазах Яна вспыхнул опасный, расчетливый огонь.
— Синтаксис, — быстро произнес он в передатчик. — Какая архитектура у этого сборщика? Он использует подсчет ссылок или чистый обход графа?
— Что?! — опешила девушка. — Ты... ты собираешься дебажить босса посреди боя?! Он использует гибридный алгоритм! Трассирующий сборщик с буфером циклических ссылок! Но при чем тут это?!
— При том, что у любого трассирующего алгоритма есть ахиллесова пята. Он смертельно боится циклических ссылок в корневом указателе, если они созданы во время фазы активной перезаписи стека.
Прежде чем перейти ко второй фазе, Мусорщик Ядра выпустил рой вспомогательных системных процессов. Из его боковых шлюзов с шипением вырвались десятки автономных дронов-ищеек — «Итераторы Стека». Они напоминали парящие в воздухе светящиеся диски из серебристого металла, вращающиеся с бешеной скоростью и сканирующие окружение направленными лучами проверки целостности.
[Внимание: Активированы подчиненные процессы: Итераторы Стека (Stack Iterators)] [Количество: 16 единиц] [Директива: Захват и фиксация координат цели для предотвращения рассинхронизации]
Четыре ближайших диска спикировали на Яна, выбрасывая тонкие лазерные нити захвата. Если бы хоть одна нить коснулась его плеча, его пространственные переменные оказались бы заблокированы, лишая его возможности маневрировать.
Ян среагировал мгновенно. На опережении в две с половиной секунды он уже видел траектории полета дронов. Сделав резкий шаг в сторону, он взмахнул «Иглой Фантома», нанося серию коротких, ювелирных уколов точно в центральные оптические сенсоры ищеек.
Темный гравитационный клинок разрубал серебристые диски словно тонкую фольгу. Каждый разрубленный дрон с сухим треском лопался, распадаясь на мерцающие строчки служебных комментариев: [Thread Terminated: Exit Code 0]. За две секунды Ян превратил восемь атакующих дронов в облако тающих искр, сорвав попытку монстра пригвоздить его к месту.
Но нагрузка на капсулу в реале нарастала с пугающей силой. В ушах Яна сквозь звуки боя пробивался натужный вой аварийной помпы «Синнапс-7». Охлаждающая жидкость в резервуаре закипала, отводя тепло от раскаленного чипа QDM-904. Мышцы груди сдавило железным обручем спазма, по ребрам стекал ледяной пот. Ян стиснул зубы так, что во рту появился отчетливый солоноватый привкус крови. Он не для того выжил в той страшной автокатастрофе три года назад и не для того вытащил себя со дна Девятого сектора, чтобы сгинуть здесь, на полигоне забытых программ.
Земля снова задрожала. Мусорщик Ядра развернул свой массивный корпус на ста восьмидесяти шарнирах. На его броне вспыхнула вторая руна — символ «SWEEP».
[Фаза 2: СМЕТАЮЩИЙ ЦИКЛ (Sweep Phase)] [Инициализация принудительного освобождения памяти: Free_Unused_Blocks()] [Масштаб аннигиляции: Тотальная зачистка сектора]
Из брюха чудовища выдвинулся исполинский барабан, усеянный тысячами излучателей черной плазмы. Барабан начал раскручиваться, издавая вой падающей авиабомбы. В следующую секунду во все стороны хлынул сплошной веер аннигиляционных лучей, стирающих пространство слой за слоем.
Времени на раздумья не оставалось.
Ян активировал отрицательный пинг на абсолютный максимум: -2500 миллисекунд.
Его восприятие вышло за пределы трехмерного мира. Он видел не просто надвигающийся шквал стирания — он видел внутренний стек вызовов Мусорщика. В памяти чудовища бешено крутился цикл:
`for (Object* obj : MemoryPool) { if (!obj->isMarked) Deallocate(obj); }`
Ян глубоко вдохнул, подавляя вспышку ослепительной боли в затылке, где раскаленный демультиплексор капсулы жег нервные узлы, и активировал технику «Теневого Буфера».
[Инициализация техники: ТЕНЕВОЙ БУФЕР (Shadow Buffer)] [Запись инструкций в отрицательное временное окно...] [Лимит: 7 пакетных транзакций]
В физическом настоящем Ян стоял неподвижно под надвигающимся валом черного излучения. Но в теневом буфере будущего он уже действовал с молниеносной хирургической точностью.
Его цель была не в том, чтобы пробить броню монстра. Его цель заключалась в том, чтобы внедрить в память сборщика поврежденную структуру данных — замкнуть корневой указатель процесса на самого себя!
Первая транзакция: прыжок с задействованием «Хроно-Спринта» прямо сквозь мертвую зону лазерного веера. [Push: Step_01]. Вторая транзакция: активация «Глаза Сингулярности» с созданием микрогравитационной ловушки на управляющей плате барабана. [Push: Step_02]. Третья транзакция: инжекция «Иглы Фантома» в корневой регистр адресации [Root_Pointer]. [Push: Step_03]. Четвертая, пятая, шестая транзакции: перенаправление исходящего вектора очистки обратно во входящий буфер сборщика, формируя бесконечную рекурсию: `Collector->Target = Collector`. [Push: Step_04, 05, 06]. Седьмая транзакция: финальное замыкание фазового контура! [Push: Step_07 / Стек полон].
Таймер отрицательного опережения подошел к нулю.
Барабан Мусорщика изрыгнул море черного огня, готового распылить аватар Яна в небытие.
— Выполнить сброс буфера! — скомандовал Ян.
[ВЫПОЛНЕНИЕ: СБРОС ТЕНЕВОГО БУФЕРА!] [Инъекция пакета: 7 команд в 0.000 мс]
Вспышка была беззвучной, но невероятно ослепительной.
Семь призрачных ударов Яна материализовались внутри центрального процессора Мусорщика в один неделимый квантовый миг. Замкнутый гравитационный импульс «Глаза Сингулярности» и вирусный ассемблерный код «Иглы Фантома» соединились в идеальную логическую мину.
Корневой указатель сборщика мусора перезаписался, указав на адрес собственного исполняемого ядра!
Алгоритм Мусорщика послушно выполнил инструкцию:
`Deallocate(Self);`
На долю секунды титанический колосс замер. Все тысячи его дисковых пил, лазеров и гидравлических поршней остановились. Багровые огни сенсоров вспыхнули паническим, ослепительно-белым светом.
А затем над его головой с грохотом разорвавшейся бомбы вспыхнул гигантский транспарант фатальной системной ошибки:
[FATAL KERNEL PANIC: Segmentation Fault (SIGSEGV)] [Address Boundary Error: 0x0000DEAD in Module Core_Garbage_Collector] [Unhandled Cyclic Dependency in Root Node!] [Процесс попытался деаллоцировать собственное адресное пространство!] [Аварийный дамп памяти ядра... Выполнение прервано!]
Хря-а-а-ась!
Исполинского стального паука разорвало изнутри не пламенем, а чудовищным информационным коллапсом. Его многотонные лапы, броневые плиты и вращающиеся фрезы начали выворачиваться наизнанку, схлопываясь в гравитационную сингулярность нулевой точки. Миллиарды строк машинного кода вырывались из его недр ослепительными гейзерами, освещая монохромный мир Сегмента-0 яростным неоновым сиянием.
С оглушительным звоном колоссальная машина аннигилировалась, оставив на месте своей гибели лишь вихрь тающих зеленых полигонов.
[Уничтожен босс нулевого кольца: Core Garbage Collector] [Получено опыта: 850 000 ед.] [Текущий уровень персонажа повышен: 47] [Свободные очки характеристик: +15] [Получен уникальный дроп нулевого кольца защиты!]
Ян тяжело опустился на одно колено, тяжело дыша. В реальном мире виски ломило от бешеного давления, а по затылку струился холодный пот, но сознание оставалось кристально ясным.
В центре кратера, оставшегося после гибели левиафана, медленно опускался на землю странный светящийся артефакт.
Это было оружие, не похожее ни на один клинок, созданный для Первого Сервера.
Оно выглядело как полуметровый стилет из темного, абсолютно прозрачного квантового стекла. Внутри его граненого лезвия непрерывно циркулировали золотые и сапфировые нити исполняемого байт-кода, складывающиеся в сложные логические вентили. Оружие не отражало окружающую пустоту — оно излучало мягкое, мерцающее сияние первозданной компиляции.
Ян протянул руку и коснулся полированной рукояти.
В ладонь ударил приятный, прохладный ток чистой энергии. Перед глазами вспыхнула системная карточка невероятной редкости: