Очки-экран окончательно отключились, и девушка смогла во всех деталях рассмотреть светящиеся раскосые глаза противника. Сосредоточенные, холодные, равнодушные. В глубине его зрачков Риша видела, как ее собственное лицо покрылось пиксельной рябью. Мир то погружался в темноту, то выныривал, дразня слишком яркими красками, но с каждым разом она воспринимала все меньше деталей…
Внезапно до краешка помутневшего сознания донесся шум помех. Вирус, очевидно, тоже их услышал, потому как его сосредоточенное выражение сменилось озадаченным. Не отпуская рукояти меча, он склонил голову набок, точно прислушивался. Риша уже не могла видеть достаточно четко, но ей показалось, что он закатил глаза.
А затем одним движением выдернул из нее лезвие.
Не тратя время на раздумья, девушка попыталась откатиться в сторону, но поврежденный код неточно передавал команды: вместо кувырка Риша вдруг нелепо дрыгнула ногой, словно собиралась пнуть противника в живот. Вирус же молча поднялся и, развернувшись, почти мгновенно исчез из поля зрения.
Риша наконец-то смогла вздохнуть. И первым делом трясущейся рукой ткнула в наушник.
– Центр…
– Риша, - голос оператора звучал напряженно, - что с тобой? Мне выдают сообщения об ошибке, и связь прерывалась.
– Меня… - Девушка дождалась, пока стабилизируется код голоса. - Меня серьезно повредили. Но исходник в порядке, - она с трудом села.
– Что? Нет, Риша, ничего там не в порядке, я вижу… Риша! Тебе нужны восстановление и перезагрузка, сейчас же возвращайся в центр!
– Я уже устраняю ошибки. - Риша осторожно вздохнула, проверяя, как работают простейшие команды. - Их сейчас нельзя отпускать.
– Мы и не отпустим! Я высылаю подкрепление, а ты возвращайся в центр, - настойчиво повторил оператор.
– Я продолжу преследование. - Девушка поднялась и подняла многострадальный пистолет. Код был почти полностью исправлен, и о повреждении напоминали лишь мелкие сбои.
– Риша!..
– Отключаюсь.
Она мазнула пальцем по сенсору и выждала еще несколько секунд, проверяя алгоритмы. К счастью, исходник действительно уцелел, и теперь программа исправляла саму себя, заново сшивая и скрепляя цифровые ткани. Сглотнув, девушка запустила карту; два розовых маячка уже отдалились от нее на приличное расстояние, один за другим пересекая сегменты. Скоро вирусы должны добраться до границы сектора, где начиналась транзитная зона. Нырнут в поток - и ищи их по всему киберпространству, но сейчас Ришу волновало не только это.
Вирус. Он отпустил ее. Отступил, подчинившись - сейчас девушка это понимала - команде в наушнике. Риша не была до конца уверена в своей догадке и поэтому не сообщила о ней в центр, но возможно ли…
Возможно, у вирусов тоже был «оператор»?
– Запустить поиск нелицензионных каналов связи.
Если вирусы общались между собой, используя те же методы, что и остальное киберпространство, то отследить их куратора будет даже проще, чем кажется.
Девушка устремилась вслед за беглецами. Пространство вокруг смазалось, заволоченное неоновой дымкой, по которой то и дело пробегали искры пикселей. Вновь подключившись к системе, Риша выбирала наименее загруженные маршруты, избегая запруженных улиц и проспектов, заставленных экранами крыш и мостов. Для этого ей не раз приходилось петлять, но девушка шаг за шагом приближалась к своей цели.
– Обнаружено восемь тысяч четыреста тридцать два нелицензионных канала в данном сегменте, - мягким голосом отчиталась ей на ухо система.
– Отсортировать по степени загруженности. Приоритет - от одного до десяти пользователей.
Одним махом перелетев оживленную трассу, Риша еще раз сверилась с картой. Уже некоторое время маячки вирусов не двигались с места, и это скорее настораживало, чем ободряло.
– Обнаружено семьсот…
– Найти те, которые используются прямо сейчас, а среди них - подключенные к портативным передатчикам.
– Обнаружено триста…
– Исключить каналы, где производится передача аудио- и видеофайлов. Приоритет - прямое соединение.
– Обнаружено сто семнадцать каналов.
– Запустить прослушивание. Дальше. Дальше-дальше-дальше… стоп! - Риша на несколько мгновений застыла, задержав пальцы у наушника, а затем смахнула канал, переключившись на следующее соединение. - Дальше.
Нелицензионные каналы связи не были редкостью в киберпространстве - каждый, кто хоть немного разбирался в программировании, предпочитал самостоятельно настраивать соединение, чтобы избежать покупки лицензии и государственного контроля. Большинство из них попросту не знали, что заглянуть в частный канал для системы было так же просто, как и мгновенно оборвать связь. Риша закрыла глаза, лавируя между потоками бегущих знаков. Если она ошиблась, и оператор вирусов не использует канал, то будет потеряна уйма времени, но…
В очередной раз перескочив, девушка натолкнулась на преграду.
Шифрование! И довольно качественное.
– Запустить алгоритм дешифровки. Отследить собеседников и наложить на карту, - Риша зажмурилась, про себя надеясь, что все сделала верно.
– Обнаружено совпадение, - мягко и равнодушно сообщила система.
Есть!