— Виктор, нужно авторизоваться.

— Видишь считыватель? Должен быть слева от тебя.

— Да.

— Поднеси туда коммуникатор. Терминалу нужно убедиться, что ты корпорант.

— Вижу, но нас ведь… тогда… — начал Марк.

— Засекут? Кто, жмурики, которых таскает Ребекка? Делай, что велено!

Марк повиновался. Надпись на экране сменилась перечнем доступных для выбора секторов; список состоял из десятков позиций, а видна была ведь только его верхняя часть. Вся электронная инфраструктура Корпорации — как на ладони.

— Вошёл. Подключать исполнительный модуль?

— Пока рано. Видишь разделы? Найди и выбери «Управление протоколами».

Быстро освоив принципы навигации по меню, Марк тотчас разыскал такой пункт, но доступ был заблокирован. Входу мешало окно системного сообщения.

— «Введите пароль», — прочитал он вслух.

— А вот теперь подключай модуль. Программа всё сделает сама.

Пока юноша доставал из куртки кубик со складными антеннами и всовывал его в консоль под экраном, Виктор продолжал говорить:

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

И действительно, стоило подключить модуль, в поле ввода пароля замелькали какие-то символы; прежде, чем Марк успел поинтересоваться, долго ли это займёт, поле пропало, и на всех экранах — как основном, так и вспомогательных — расположился незнакомый интерфейс.

Ясно было одно — он взаправду совершил это. На самом деле вошёл в систему управления протоколами.

— Ну что, Марк, момент истины. Суй коммуникатор в нишу и проверяй. Сейчас передадим красный протокол.

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

И когда по руке пробежала полузабытая вибрация, он вздрогнул.

Экран коммуникатора зажёгся.

Разом возникнув, перед глазами рябили бессвязным набором букв и символов красные строки на чёрном фоне. Затем всё исчезло.

— Это всё? — проговорил Марк.

Виктор ответил утвердительно.

— Но я… ничего не чувствую.

— Ты и не должен. Нужно проверять.

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

— Быть того не может… — Рика склонилась над пластиной, словно не веря, что видит её на самом деле.

— Установка третья: корпорант обязан не снимать свой коммуникатор… — пробормотал Марк, ощупывая запястье. — Кажется, сработало.

Он подобрал пластину и надел на место — оставлять её нельзя было в любом случае.

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

Когда с протоколом Рики успешно покончили, Виктор вновь обратился к Марку:

— Теперь — самое важное.

— Я готов, — юноша придвинулся назад к терминалу.

Следуя инструкциям, он вывел на главный экран исходную страницу раздела «Хранилище данных»: то была карта, целое созвездие связанных между собой баз данных. Все они, обозначенные точками, даже не помещались в воспроизводимую область.

— Сколько же их! — выговорил Марк зачарованно. — Как найти нужную?

— Стой! Программа сама всё сделает, — напомнил Виктор. — Главное, не трогай модуль.

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

— Долго ещё? Нам бы сматываться пора. Не нравится мне здесь, слишком мы заметны.

— Наберись терпения. Пока мы закончим, следи за коридором и будь начеку — осадил её Виктор. — Если что, можешь стрелять. Главное — выиграть время.

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

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

Код был цикличен.

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

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

— Погоди-ка, вот те фиолетовые метки — это же подразделы секторов, отдельные папки. Скрипт и их тоже сканирует? Мне кажется, не оптимально зарываться так глубоко. Можно было бы сэкономить немного времени, если… — Марк осёкся: в быстро меняющихся строках его привлекла одна деталь, и он резко придвинулся к монитору, навис над клавиатурой.

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

Но Марк не слушал. Всё его внимание поглотила внезапная, явившаяся словно из ниоткуда догадка.

Он подумал о том, что корпорант, вероятно, не смог бы запустить незнакомый скрипт на неизвестном для себя устройстве. Не смог бы, поскольку — как знать — это накладывало явный риск невольного несоблюдения Установок.

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

Вцепившись в контроллер, он выделил курсором фрагмент мелькающего кода и перебросил скриншот на один из дополнительных мониторов. Увиденное нагромождение команд не шокировало и не ужаснуло.

Марк уже знал ответ. Знал, что скрыто в этом полотне текста, и искал лишь доказательств. Знал с того самого момента, как увидел злополучные фиолетовые метки. А теперь, казалось, знал ещё до того, как очутился в этом зале. Если и не он, то Рика — наверняка.

Решение возникло само собой. Быстрым движением Марк схватил исполнительный модуль, вырвал из консоли и отшвырнул прочь. Строки тотчас пропали с экрана, сменившись чернотой.

— Какого чёрта, ты что творишь?! — вскричала Рика, заглушая голос из гарнитуры.

— Нас обманули! — юноша выпрыгнул из кресла, развернулся и мощным пинком опрокинул его. — Они не просто шифруют данные, делая недоступными. Перед этим они копируют их и отправляют себе!

Глава 12

— Марк, в чём дело?! Верни модуль на место, слышишь! — Виктор орал так, что динамик гарнитуры едва справлялся с передачей голоса.

— Довериться тебе второй раз было громадной ошибкой… — процедила Рика.

— Двигаем отсюда, скорее! — крикнул ей Марк, и, подцепив сумку, бросился к выходу.

Рика бежала следом — с ожесточением выдернула, отшвырнула гарнитуру, схватила обеими руками автомат.

Две тени выскользнули из озарённого лампами помещения и растворились в темноте коридора.

— Как много успел передать? — спросила Рика, нагоняя юношу.

— Думаю, пятую часть, может, четверть. Столько же перешифровалось на сервере.