Блим!
«Обнаружен вирус».
По распахнутым глазам цвета «ff1493» пробежала едва различимая рябь пиксельных помех. Этот взгляд ― каждый раз одинаковый. Испуганный. Немного обиженный. Возможно, даже с упреком. Вирусы могли имитировать самые разные паттерны поведения, но этот последний взгляд ― один и тот же, всегда.
Риша глубоко вдохнула, вскидывая пистолет со снятым предохранителем, и прицелилась. Тысячи операций проводились в эту самую секунду, анализируя, подсчитывая, корректируя возможную траекторию выстрела. Рише казалось, что она чувствует бегущий под кожей ток знаков точно так же, как чувствует шероховатость и холод металла, тяжелое, похожее на шум помех дыхание противника, кислый запах побочного цифрового следа.
Девушка спустила курок ― один раз, а за ним ― второй и третий, всаживая деактиваторы в информационный массив вируса.
Тварь дернулась и протяжно завизжала, перебирая тональности, точно клавиши на испорченном синтезаторе. По ее виртуальной коже побежали неоново-зеленые трещины взломанного кода. Трещины ветвились и разрастались, разбивая вирус на сегменты, а их ― на еще меньшие фрагменты, которые, загораясь зеленым, тут же растворялись в воздухе.
Досматривать Риша не стала: отвернулась, касаясь сенсора в наушнике.
– Деактивация завершена, ― прежде всего отчиталась она и лишь затем, бдительно оглядевшись, добавила: ― Я тут все.
– Умничка, Риша! ― после секундной заминки бодро выдал динамик голосом ее оператора. ― Я уже выслал чистильщиков. Полиция сейчас тоже подъедет. Заполнишь пока отчет?
Риша заворчала, протянула руку к всплывающему перед ней окну отчетной формы и приложила ладонь к иконке загрузки.
– Всегда ты торопишься. Доступ разрешен.
– Подключаюсь!
Пальцы защекотало, а по пустым прежде полям побежали данные прошедшей операции. Риша в очередной раз мысленно поблагодарила систему за возможность разделываться с нудной документацией, просто подключая отчетное окно к своей памяти.
– О, просто я был уверен, что у этой мерзости нет ни единого шанса против нашей Риши, ― хохотнул тем временем оператор. ― Все-таки ты самая продвинутая охотница.
– После Такеши и Широ, ― на автомате ввернула девушка.
– После Такеши и Широ, ― неохотно признал собеседник, но тут же добавил: ― Послушай, ну ты с кем сравнила? С японцами! У них вообще языки программирования уже на другом уровне…
– И Джеймса, ― добавила Риша.
– Вот американский сегмент даже не упоминай, пожалуйста, ― упавшим голосом проворчал оператор. ― Я тебя вообще-то похвалить пытался.
Риша хихикнула, решив не напоминать, что, согласно последнему опросу, ее серия получила чуть ли не последнее место в двадцатке.
– Благодарим за ваш отзыв, пользователь, ― добавив голосу дребезжащей электронной модуляции, ответила она. ― На-а-адеемся, вы продолжите сотрудничать с нашей компанией.
– Какой умник додумался обучить тебя иронии?
– Я сама научилась, ― уже обычным голосом отозвалась Риша, заслышав, как застучали поблизости гулкие шаги. ― Службы прибыли, отключаюсь.
Она вновь коснулась сенсора, закрывая канал связи, и повернулась к входу в складское помещение, куда загнала вирус в ходе преследования. Перед взломанными рольворотами стоял невысокий, крепко сбитый мужчина средних лет, облаченный в серый плащ; на плече служащего неярко светилась лицензионная нашивка.
Риша заспешила к полицейскому.
– Здравствуйте, офицер! ― Она остановилась в нескольких шагах, поправляя растрепавшуюся прическу. ― Зачистка проведена успешно, человеческих жертв нет, отчет уже отправлен в центр, ваше отделение может подать запрос на… ― девушка запнулась и смолкла, натолкнувшись на неприязненный взгляд из-под густых бровей.
Некоторое время полицейский молча изучал Ришу, особенно уделив внимание ее собственной нашивке: голографическому ромбу с серийным номером и иконкой охотничьего подразделения.
– Прога? ― вместо приветствия наконец уточнил он.
– Я? Да. ― Девушка с готовностью кивнула. ― Охотничья самообучающаяся программа «Мария», ― она приложила руку к груди, ― серийный номер…
– Понял, заткнись, ― Мужчина презрительно скривил рот и оттеснил ее плечом, чтобы осмотреть место деактивации вируса.
Риша растерянно закрыла рот. Затем глубоко вдохнула, досчитала до десяти и обернулась.
– Это было грубо вообще-то.
Полицейский, присевший на корточки перед раскуроченным полом, даже не удосужился обернуться.
– Свободна.
Девушка запыхтела от возмущения, но, немного повычисляв, решила не начинать перепалку: фыркнула и, развернувшись на каблуках, быстро покинула помещение.
Через брешь в рольворотах уже залетали служебные программы, призванные устранить причиненный ущерб. Вскоре весь склад наполнился мягким голубоватым сиянием их датчиков.
Рише нравился жилой сектор. Было в нем что-то… исконно людское. Возможно дело было в причудливой архитектуре, рожденной из синтеза старых, материальных, и новейших, программных решений. В первое десятилетие оцифровки застройка велась за счет переносимых в киберпространство зданий. Разработчики писали, что данная процедура необходима для смягчения периода адаптации человеческого сознания к этому чуждому миру. Со временем перенос стал слишком дорогим и прекратился, но старые, некогда материальные здания так и остались стоять, постепенно обрастая новостройками, как рифы ― ракушками.
Риша свернула с узкой улочки, ныряя в людской поток. Обостренный слух тут же обрушил на нее какофонию звуков переполненного проспекта: разговоры, звуки уведомлений, фырчание двигателей и гудение телепортов. Девушка поморщилась, движением пальца снизила громкость, затем подумала и немного прибавила уровень зрительного восприятия. Яркие краски проспекта стали еще насыщеннее, почти ослепляя своим неоновым свечением. Риша двинулась вдоль рекламных экранов, вглядываясь в лица плывущей навстречу толпы. Молодые, как правило, привлекательные лица. В киберпространстве необязательно тщательно ухаживать за кожей, чтобы выглядеть младше положенного числа циклов ― достаточно обратиться к хорошему программисту, который согласится переписать визуальный код. Уже в первые пять лет после переселения индустрия виртуальной косметики почти полностью исчезла, уступив место специалистам по исправлению заложенного природой кода.
Мучают акне? Иди к кодеру.
Болит зуб? Иди к кодеру.
Потерял руку при телепортации? Обратись в страховую компанию, их кодер все исправит.
В киберпространстве не было ни одной проблемы, которую не мог бы решить грамотный программер. Другой вопрос состоял в том, сколько стоили услуги подобных «грамотных специалистов». Настоящие виртуозы брали за свою работу баснословные деньги, а обращение к подпольным спецам-самоучкам было чревато багами в личном коде.
Вот и сейчас мимо Риши прошел изящный, на восточный манер красивый юноша, болтающий через наушник. По его тонкому, голубоватому от уличного освещения лицу то и дело пробегала зыбкая пиксельная рябь, наверняка причиняющая симпатяге серьезные головные боли.
Внезапно шум улицы стал еще тише, а в наушнике прозвучал мелодичный перезвон. Рекламный экран рядом с девушкой побелел, привлекая взгляд.
– Осторожно! Вирусы! ― произнес хорошо поставленный мужской голос прямо ей на ухо.
Все экраны проспекта одновременно сменили свой цвет на глубокий розовый. Изображение тут же отдалилось, превратившись в прищуренный глаз с яркой радужкой оттенка «ff1493».
– Обновленным постановлением текущего года любые нелицензионные программы признаны незаконными на территории киберпространства и подлежат деактивации, ― продолжал глас официального вещания. ― В случае обнаружения вредоносной программы, пожалуйста, сообщите об этом в ближайшее подразделение государственного контроля через электронную форму.
Экраны снова побелели, визуализируя инструкцию.
– Будьте бдительны, берегите себя и пользуйтесь только аккредитованными программами!
На билбордах высветился голографический ромб с иконкой охотничьего подразделения, прямо как тот, что красовался на Ришином плече, но никто из прохожих уже не обращал внимания на экраны.
Девушка вздохнула, вновь подкручивая громкость, и уже было шагнула дальше, когда другой, женский синтезированный голос равнодушно оповестил:
«Обнаружен вирус».
Риша вздрогнула, мгновенно настораживаясь; рука сама по себе потянулась к спрятанному под плащом служебному пистолету, но в следующую секунду охотница расслабилась, приметив направленный на нее жалобный взгляд характерно-розовых глаз.
«Обнаружен вирус».
«Каждый человек имеет право на пребывание в киберпространстве», ― гласил первый закон. Иными словами: каждый человек вне зависимости от статуса, финансового состояния, религиозных или политических воззрений имел право на лицензию. Таков был самый справедливый закон системы, положенный в основание Истинного кода. Это было основанием и Ришиного кода тоже.
Но что касалось остальных? Животные, растения, здания и даже ландшафтные объекты вроде гор и озер могли быть признаны нелицензионными, и тогда с ними случалось то же самое, что произошло с напугавшей девушку дворнягой.
«Обнаружен вирус».
– Ну, привет. ― Охотница присела на корточки перед собакой, которая жалобно заскулила и неуверенно замахала хвостом, надеясь на подачку. Скорее всего, псина вышла из приплода домашней питомицы, хозяева которой поскупились на лицензию для новорожденных.
«Обнаружен вирус».
– Отключить системные уведомления, ― раздраженно приказала Риша, протягивая руку, чтобы потрепать дворнягу за ухом. Та доверчиво подставила лохматую головуи еще немного поскулила. ― Ну, и что же мне с тобой дела… ать?!
Чье-то колено врезалось в плечо девушки, чуть не опрокинув ее на асфальт. Прохожему повезло меньше ― потеряв равновесие, пешеход растянулся на земле, прозрачные очки-экран слетели с его головы.
– Твою мать!
Он тут же встал на четвереньки, поднял гаджет и, нацепив очки обратно, сердито обернулся к Рише.
– Ты чего тут расселась?!
Девушка поморщилась, потирая плечо ― больно! ― и медленно поднялась. Незнакомец тоже вскочил, откидывая от лица упавшую челку цвета фуксии. Очки с многочисленными бликами немного искажали изображение, но глаза у него оказались тоже вызывающе-розовые.
Риша внутренне усмехнулась: бунтарь, значит. Некоторым людям нравилось нервировать других, устанавливая визуальные дополнения. Особенным шиком считалась цветовая коррекция радужки «под вирус» ― за довольно умеренную плату код глаз переписывался под разные розовые оттенки. Если бы Риша не обладала обостренным зрительным восприятием, позволяющим автоматически соотносить цвета с RGB-кодированием, то наверняка бы повелась.
Близко. Не идентично.
– А. ― Грубиян тоже ее рассмотрел, как и все, прежде всего изучив нашивку на плаще, и ухмыльнулся. ― Прошу прощения, мисс программа. ― Он насмешливо отдал честь. ― Вижу, вы при исполнении? ― парень кивнул на дворнягу, которая, не ощущая накаляющейся атмосферы, продолжала крутиться рядом. ― Деактивируете опасный вирус?
– Иди куда шел, ― огрызнулась Риша.
– Ой-ой, а разве программы не обязаны быть вежливыми? ― хмыкнул незнакомец.
– Только в ответ на вежливость. ― Девушка отряхнула плащ и, засунув руки в карманы, недобро взглянула на хама.
Да, когда-то давно программы обязаны были оставаться корректными в любой ситуации. У программ не было права на речевые ошибки и слова-паразиты, не было права на усталость и раздражительность: от ей подобных требовалась безупречная, вежливая работа. Однако с переходом в киберпространство и распространением самообучающихся программ, выяснилось, что людям некомфортно общаться с извечно правильным собеседником, который остается холодным и расчетливым, даже когда ситуация выходит из-под контроля. Эффект «зловещей долины» на несколько лет стал ключевой проблемой кибермира, до тех пор, пока программисты не додумались позволить им самостоятельно развивать эмоциональный интеллект.
Это открытие дало начало первому поколению автономных «сентиментальных» программ. Но некоторые до сих пор относились к ним так, словно те ничего не ощущали.
Собеседник неожиданно улыбнулся, поднимая руки в примирительном жесте.
– Прошу прощения, мисс охотница. ― Он хмыкнул, поправляя очки. ― Ну, мне пора.
Он развернулся и, насвистывая, присоединился к толпе. Риша проводила его долгим взглядом, а потом заторопилась дальше.
― Один острый суп-лапшу с морепродуктами, пожалуйста. ― Девушка взобралась на барный стул, смахивая в сторону всплывшее было окошко меню. Немного подумала и добавила: ― И еще миндальное пирожное… и чай.
Светодиод рядом с ее местом засветился желтым, показывая, что заказ принят в обработку. Риша сцепила руки в замок и вздохнула, роняя на них голову.
Программы-не-могут-уставать, программы-не-могут-уставать, программы-не-могут-уставать… да черта с два! Она с самого утра была на ногах, гоняясь за вредоносными тварями, а в свободное время общалась с людьми, которые ей даже спасибо за работу не скажут! Чего стоил только тот офицер! А хам в толпе?!
Риша не стала сдерживать себя и хорошенько ударила кулаком по стойке. Посетитель у стены покосился на нее, но вскоре вновь сосредоточился на своем заказе. Девушка помассировала виски, расслабляясь, но всплывшая иконка входящего сообщения заставила ее вновь подобраться.
Воровато оглянувшись, Риша открыла чат. Вообще-то программам не давали доступа к сторонним каналам связи, но оператора из центра настолько развеселила робкая просьба зарегистрировать ее на портале с анонимными собеседниками, что Риша получила аккаунт на довольно стареньком сайте в обход официального протокола.
Она ткнула пальцем в мигающее сообщение и улыбнулась.
«ну и как проходит день у нашей бравой защитницы?;)».
Девушка мельком взглянула на статус аккаунта, убедилась, что собеседник находится в сети, и быстро отпечатала ответ:
«Не очень. Ужасно устала. Забегалась».
Некоторое время человек с ником «Меhаник_0234» молчал. Через несколько секунд, одно за другим, всплыли два сообщения:
«(((».
«sad».
Пустующий слот для сообщения вновь сменился анимацией пишущей ручки. Риша помнила, как первое время ее озадачивала эта картинка, пока Механик не объяснил, что в материальную эру люди частенько пользовались писчими принадлежностями, даже когда у них появилась возможность печатать. Механик вообще здорово ориентировался в человеческой истории, особенно той, что предшествовала эпохе оцифровки.
«тоже устал. совсем нас тут загоняли((».
Следом в чат прилетела ужасного качества картинка с толстым плачущим котом. Риша хихикнула, прикрывая рот рукой.
«Где ты вообще откапываешь это старье?».
Ответ не заставил себя ждать.
«это не старье, а ретро >:^(».
Пока собеседник печатал новое сообщение, перед Ришей появились стаканчик с чаем и заказанное пирожное. Сладкое она отодвинула в сторону, а напиток пригубила, перекатывая по языку травяную терпкость. Операторы из центра утверждали, что ее вкусовые рецепторы по коду абсолютно идентичны человеческим. Наверное, поэтому Рише нравилось есть и пить, вместо того чтобы пользоваться энергетическими пакетами.
«это все из первого Интернета: некоторые сайты еще работают, и там много крутых штук», ― поделился Механик.
«Цифрового мусора».
«очень классного цифрового мусора».
Риша снова тепло улыбнулась, уставившись в экран: все-таки не все люди были заносчивыми засранцами вроде того полицейского. На стойке возникла миска с супом, от которого поднимался ароматный пар, но девушка не обратила на это внимания.
«Меh, у меня есть один вопрос».
«…».
В чате раскрылась еще одна картинка с напуганным котом, за которой последовала почти минута драматического молчания. Механик частенько мог пропасть прямо посреди оживленной беседы, поэтому Риша уже взялась за палочки, чтобы приступить к еде, когда чат снова мигнул сообщением.
«если это вопрос жизни, вселенной и вообще, то ответ ― сорок два, но больше я ничего не знаю:0».
Мигнул еще.
«какой у тебя вопрос?».
Риша отложила прибор и, глубоко вздохнув, быстро напечатала, боясь отступить:
«Как ты думаешь ― в чем разница между человеком и программой?».
На этот раз ответа пришлось ждать еще дольше: Риша успела прожевать несколько плохо закодированных креветок и вычерпать половину бульона из глубокой миски, прежде чем Механик спросил:
«?? ты про философскую задачку о кибердушах?».
«Да».
Все больше волнуясь, девушка вновь отодвинула от себя еду и сосредоточилась на чате. Анимация на месте сообщения начинала ее раздражать.
«ну, по учебнику я должен бы ответить, что программа не способна нарушить свой исходный код. У них отсутствует так называемая «детерминанта Евы»».
Риша недовольно цыкнула. Ну конечно, «детерминанта Евы». Исходная ошибка, право на искажение внутреннего кода. Несмотря на все ухищрения, которые предпринимали программисты, чтобы уподобить свои создания людям, эту задачку они так и не решили. Программа нуждалась в четко прописанном протоколе, в неизменном и стабильном исходном коде, к которому у нее не было прямого доступа. Нарушение этого кода приводило к внутренним ошибкам, а те ― к сбою всей системы. У Риши были принципы, через которые она никогда не сможет переступить, пока кто-то не перепишет ее изначальный код. У людей ― нет.
«но-о, должен возразить, что эти ваши философы слишком сильно переоценивают эту штуку с нарушениями. у меня есть друг, который скорее руку себе отгрызет, чем согласится отступить от своих заморочек. сегодня все утро нудел, что я не кладу вещи на место. но блин, какая разница, где они лежат, если в нужный момент я знаю где их найти?».
Механик скинул ей картинку со злой лягушкой, швыряющей стол.
«к тому же теперь, когда мы с прогами состоим, по сути, из одних и тех же цифр, было бы очень наивно полагать, что люди превосходят их какой-то там детерминантой».
«как-то так».
Риша, внимательно читавшая каждое слово, тихонько выдохнула. И кликнула на клавиатуру, чтобы поблагодарить Механика, однако в эту же секунду окно чата закрылось, и вместо него во весь экран высветилось системное сообщение о входящем вызове. Девушка даже не успела его принять, как в наушнике раздался нервный голос оператора.
– Почему ты, черт возьми, не отвечаешь?!
Она отключила уведомления!
Мысленно отвесив себе оплеуху, Риша подкрутила звук в наушнике.
– Не видела, извини. Что-то случилось?
– Работа твоя случилась! ― все еще нервничая, грубо ответил оператор. ― Ноги в руки и телепортировалась на пересечение пятой и сорок девятой, быстро! Информационная утечка с участием группы вирусов.
У Риши похолодела спина.
– Только не говори мне что…
– Да, твои любимцы, ― мрачно буркнул собеседник. ― У тебя минута.
С жалостью взглянув на недоеденный обед, девушка припечатала ладонью всплывшее окно оплаты, позволив системе снять деньги со счета центра, и рванула на улицу, лихорадочно соображая, где находится ближайший транзитный узел.
Никому не было точно известно, как в киберпространстве появились вирусы. Развились ли они самостоятельно из простейших вредоносных файлов старого Интернета или, как и служебные программы, были созданы человечеством для каких-то конкретных целей. Просто однажды на улицах городов объявились твари с розовыми глазами, само присутствие которых нарушало правильное функционирование системы.
Риша вынырнула из будки, озираясь по сторонам.
Как охотничьи программы совершенствовались и росли, чтобы эффективнее выполнять свою работу, так и вирусы обучались и развивались, чтобы успешнее интегрироваться в отторгающую их систему. И многорукие химерические создания были отнюдь не самым неприятным их воплощением. Самым умным, неуловимым и опасным считался вирус, похожий на…
– Риша! Ну, ты на месте? ― чуть успокоившийся оператор вновь открыл канал связи.
Девушка не ответила, задирая голову, чтобы рассмотреть силуэт девушки с неоново-зелеными волосами, скользящий по краю крыши.
… человека.
– Я на месте, вижу объект.
– Отлично, запускаю дополнительный протокол, ― бодро отозвались из динамика. ― И-и-и есть! Допуск получен.
– Спасибо. ― Риша коснулась виска, активируя очки-экран.
– Надери их забагованные задницы, ― добродушно напутствовал ее оператор, прежде чем отключиться.
Девушка сорвалась с места, одним прыжком преодолевая расстояние в пять этажей и приземляясь на бортик плоской крыши. Пространство кибермира во многом подчинялось классическим законам физики ― разработчики утверждали, что это необходимо для порядка и безопасности граждан. Однако для таких, как она, для программ, существовали «дополнительные протоколы», позволяющие на время снять ограничения системы.
К сожалению, вирусы играли по тем же правилам.
– Ой. ― Вирус, девчушка ненамного младше Риши, остановилась у другого края и ломко, искусственно рассмеялась. Кажется, это была запись смеха. Или у нее был плохо закодирован синтезатор речи. ― Ты уже здесь.
Она была одета в коротенькое пальто с высоким воротом, нижнюю половину лица закрывала маска с нарисованным зубастым ртом. На ее голове красовались по-детски забавные пучки. Визуально ― одна из тысяч горожан.
«Обнаружен вирус».
В руке девчушка держала серебристо поблескивающий кейс. Ее розовые глаза хитро сощурились.
– Так и будешь стоять?
Риша не стала ей отвечать ― рывок! ― она вытянула руку, чтобы схватить вирус за ворот, но вместо него цапнула воздух. Девчушка оказалась на краю другой крыши и бросилась наутек на такой скорости, что через мгновение на месте вируса мерцала лишь розоватая взвесь цифрового следа.
Риша чертыхнулась. В два прыжка преодолев расстояние между крышами и следующую площадку, она лишь на полсекунды замедлилась, запуская карту в очках. Пространство кругом тут же разбилось зеленой координатной сеткой, на которой система услужливо отметила предполагаемую траекторию маленькой розовой точки и другой ― ослепительно-голубой.
Можно срезать путь!
– Мне нужен транзитный узел на сорок седьмой, ― открыв канал, выдохнула Риша и бесстрашно сиганула с карниза на соседнюю улицу. Система аккуратно замедлила ее у самой земли, несколько пешеходов обернулось, но девушка уже рванула в сторону ближайшей будки-узла.
– Понял, перекрываем гражданское сообщение, ― отрапортовал оператор.
– Выведите меня на сорок второй, ― влетая в кабинку, скомандовала Риша.
Двери за ее спиной мгновенно схлопнулись, пол под ногами завибрировал. Дисплей, предназначенный для введения нужных координат, загорелся ярко-ярко.
Р-раз!
Сознание Риши распалось, рассыпалось на отдельные строчки и знаки кода, затем сжалось, превращаясь в плотно упакованный файл, и на несколько мгновений погасло, чтобы тут же вспыхнуть и развернуться обратно. Вибрация под ногами пропала, и девушка, все еще слегка дезориентированная поспешной пересылкой, вывалилась из транзитной будки на сорок второй. Свернув в переулок, она еще раз сверилась с картой. Теперь ее голубой маячок опережал розовый на половину координатной клетки.
Риша запустила отсчет, изготовившись к прыжку, и сосредоточилась на движении крохотной точки.
Ближе… еще немного…
В тот момент, когда розовая и голубая метки почти пересеклись, девушка подпрыгнула, внезапно появляясь перед вирусом, и, схватив ее за плечи, швырнула на крышу. Кейс отлетел в сторону, брякнул о бортик. В приземлении Риша выхватила пистолет и направила его на девчушку. Та застыла, испуганно распахнув глаза.
«Обнаружен вирус».
Что-то на большой скорости врезалось в плечо Риши, выбивая из равновесия. Если бы не заложенная программистами ловкость и помощь системы, девушка бы полетела прямиком в зазор между зданиями. Она взмахнула руками, цепляясь за карниз, и рывком подбросила себя обратно.
Вирусы множились: теперь рядом с девчонкой стоял, приняв боевую стойку, парень. Риша мгновенно его опознала ― в конце концов, они уже встречались.
– Здесь программа атакующего типа, ― быстро сообщила она оператору, делая осторожный шаг к выпавшему из руки пистолету.
– «Ронин»? Ох, ― по связи было слышно, как бешено стучат клавиши. ― Я вышлю подкрепление.
– Я сама справлюсь. ― Риша наклонилась, не спуская глаз с нового противника. ― Он тут один.
Юноша в полумаске тем временем положил руку на старомодный меч у пояса и едва заметно дернул головой: девчушка подхватила кейс, после чего, не оглядываясь, бросилась прочь. Риша подняла пистолет.
Вирусы, точно так же, как и полезные программы, могли дополнять друг друга, вступать в симбиоз. И если смешная внешне девчонка, скорее всего, была создана для воровства и бегства, то помешавший им «ронин» ― так его окрестили операторы в центре ― был предназначен для уничтожения программ вроде Риши.
Шорох стали, выскальзывающей из ножен, звучал на удивление отчетливо, учитывая окружавший их шум. Скорее всего, зная об эмоциональных особенностях охотничьих программ, противник пытался заранее ее напугать, направить производительные силы на имитацию психологических реакций. Риша выстрелила.
Система не давала ей шанса на промах, но вирус уже исчез, чтобы тут же возникнуть перед программой.
Клац!
Лезвие встретилось со стволом пистолета. Пользуясь заминкой, она с силой ударила противника под дых, отбрасывая от себя, и снова навела оружие. Даже если всего один деактиватор попадет в точку, где спрятан исходник вредоносной программы, все быстро закончится.
Вирус тоже прекрасно это понимал. Его силуэт смазался, мешая Рише целиться.
Меч выскользнул будто из ниоткуда, выбив из рук пистолет и глубоко войдя в цифровые ткани ее тела. Программы не чувствовали боль, как люди, но повреждение кода было сродни… энергетическому всплеску, слишком мощному, чтобы продолжать нормальное функционирование.
Риша судорожно пыталась вдохнуть, пока вирус все глубже и глубже вгонял оружие в код, изменяя, переписывая, строка за строкой подавляя ее протокол. Только бы не повредил исходник!
Девушка захрипела, перехватывая руки. Большинство вирусов не поддерживали дистанционные атаки, значит ― разорвать контакт…
Зеленая сетка системы отключилась вместе с графой оповещений. Чувствуя, как ее отчаянные внутренние команды распадаются, Риша подалась назад, надеясь соскользнуть с меча, но вирус предугадал это движение и толкнул ее на землю, приколов к поверхности крыши.
Очки-экран окончательно отключились, и девушка смогла во всех деталях рассмотреть светящиеся раскосые глаза противника. Сосредоточенные, холодные, равнодушные. В глубине его зрачков Риша видела, как ее собственное лицо покрылось пиксельной рябью. Мир то погружался в темноту, то выныривал, дразня слишком яркими красками, но с каждым разом она воспринимала все меньше деталей…
Внезапно до краешка помутневшего сознания донесся шум помех. Вирус, очевидно, тоже их услышал, потому как его сосредоточенное выражение сменилось озадаченным. Не отпуская рукояти меча, он склонил голову набок, точно прислушивался. Риша уже не могла видеть достаточно четко, но ей показалось, что он закатил глаза.
А затем одним движением выдернул из нее лезвие.
Не тратя время на раздумья, девушка попыталась откатиться в сторону, но поврежденный код неточно передавал команды: вместо кувырка Риша вдруг нелепо дрыгнула ногой, словно собиралась пнуть противника в живот. Вирус же молча поднялся и, развернувшись, почти мгновенно исчез из поля зрения.
Риша наконец-то смогла вздохнуть. И первым делом трясущейся рукой ткнула в наушник.
– Центр…
– Риша, ― голос оператора звучал напряженно, ― что с тобой? Мне выдают сообщения об ошибке, и связь прерывалась.
– Меня… ― Девушка дождалась, пока стабилизируется код голоса. ― Меня серьезно повредили. Но исходник в порядке, ― она с трудом села.
– Что? Нет, Риша, ничего там не в порядке, я вижу… Риша! Тебе нужны восстановление и перезагрузка, сейчас же возвращайся в центр!
– Я уже устраняю ошибки. ― Риша осторожно вздохнула, проверяя, как работают простейшие команды. ― Их сейчас нельзя отпускать.
– Мы и не отпустим! Я высылаю подкрепление, а ты возвращайся в центр, ― настойчиво повторил оператор.
– Я продолжу преследование. ― Девушка поднялась и подняла многострадальный пистолет. Код был почти полностью исправлен, и о повреждении напоминали лишь мелкие сбои.
– Риша!..
– Отключаюсь.
Она мазнула пальцем по сенсору и выждала еще несколько секунд, проверяя алгоритмы. К счастью, исходник действительно уцелел, и теперь программа исправляла саму себя, заново сшивая и скрепляя цифровые ткани. Сглотнув, девушка запустила карту; два розовых маячка уже отдалились от нее на приличное расстояние, один за другим пересекая сегменты. Скоро вирусы должны добраться до границы сектора, где начиналась транзитная зона. Нырнут в поток ― и ищи их по всему киберпространству, но сейчас Ришу волновало не только это.
Вирус. Он отпустил ее. Отступил, подчинившись ― сейчас девушка это понимала ― команде в наушнике. Риша не была до конца уверена в своей догадке и поэтому не сообщила о ней в центр, но возможно ли…
Возможно, у вирусов тоже был «оператор»?
– Запустить поиск нелицензионных каналов связи.
Если вирусы общались между собой, используя те же методы, что и остальное киберпространство, то отследить их куратора будет даже проще, чем кажется.
Девушка устремилась вслед за беглецами. Пространство вокруг смазалось, заволоченное неоновой дымкой, по которой то и дело пробегали искры пикселей. Вновь подключившись к системе, Риша выбирала наименее загруженные маршруты, избегая запруженных улиц и проспектов, заставленных экранами крыш и мостов. Для этого ей не раз приходилось петлять, но девушка шаг за шагом приближалась к своей цели.
– Обнаружено восемь тысяч четыреста тридцать два нелицензионных канала в данном сегменте, ― мягким голосом отчиталась ей на ухо система.
– Отсортировать по степени загруженности. Приоритет ― от одного до десяти пользователей.
Одним махом перелетев оживленную трассу, Риша еще раз сверилась с картой. Уже некоторое время маячки вирусов не двигались с места, и это скорее настораживало, чем ободряло.
– Обнаружено семьсот…
– Найти те, которые используются прямо сейчас, а среди них ― подключенные к портативным передатчикам.
– Обнаружено триста…
– Исключить каналы, где производится передача аудио- и видеофайлов. Приоритет ― прямое соединение.
– Обнаружено сто семнадцать каналов.
– Запустить прослушивание. Дальше. Дальше-дальше-дальше… стоп! ― Риша на несколько мгновений застыла, задержав пальцы у наушника, а затем смахнула канал, переключившись на следующее соединение. ― Дальше.
Нелицензионные каналы связи не были редкостью в киберпространстве ― каждый, кто хоть немного разбирался в программировании, предпочитал самостоятельно настраивать соединение, чтобы избежать покупки лицензии и государственного контроля. Большинство из них попросту не знали, что заглянуть в частный канал для системы было так же просто, как и мгновенно оборвать связь. Риша закрыла глаза, лавируя между потоками бегущих знаков. Если она ошиблась, и оператор вирусов не использует канал, то будет потеряна уйма времени, но…
В очередной раз перескочив, девушка натолкнулась на преграду.
Шифрование! И довольно качественное.
– Запустить алгоритм дешифровки. Отследить собеседников и наложить на карту, ― Риша зажмурилась, про себя надеясь, что все сделала верно.
– Обнаружено совпадение, ― мягко и равнодушно сообщила система.
Есть!
Еще раз сверив местоположение всех участников канала, девушка подключилась к центру.
– Вышлите кого-нибудь из отряда задержания на координаты, которые я переслала, ― быстро оттарабанила Риша, прежде чем оператор набрал в легкие достаточно воздуха, чтобы отчитать ее, и снова отключилась.
Точки по-прежнему не двигались с места, но девушка не знала, сколько секунд продлится эта фора, и заторопилась дальше, перелетая, перепрыгивая, преодолевая сектор за сектором на такой скорости, что людям внизу она наверняка казалась размытым цифровым пятном. Она так разогналась, что едва не пролетела мимо своей цели.
Два вируса прятались на крыше здания в тени громадного экрана. Раскрытый кейс лежал перед девчушкой, которая торопливо манипулировала всплывавшими перед ней окнами, скорее всего ― просматривала и запаковывала файлы перед импортом. Атакующая программа стояла позади нее, зорко оглядывая соседние крыши.
«Обнаружен вирус».
Риша выхватила оружие ровно в тот момент, когда ее заметили. На мгновение что-то похожее на страх заставило ее вычислительные процессы ускориться, но девушка тут же взяла этот сбой под контроль.
В тот раз вирусу удалось застать ее врасплох, однако Риша не зря называлась «самообучающейся» программой.
Силуэт противника вновь размылся, но прежде, чем меч располосовал ее на отдельные строчки кода, девушка сбросила половину процессов восприятия, оставив равновесие, слух, зрение и осязание. Освободившихся мощностей хватило, чтобы рабочие чувства обострились до предела. Цифровое пятно вновь стало фигурой.
Риша проворно увернулась от прошедшего у виска лезвия и выстрелила в ответ, почти в упор, но вирус успел коленом ударить ее под руки, пытаясь выбить пистолет. Не тут-то было ― пошатнувшись, но не выронив оружие, она выстрелила еще раз. Противник шарахнулся в сторону. Краем глаза Риша приметила, как второй вирус спешно сворачивает окна, собираясь закрыть кейс.
Ну уж нет, во второй раз не уйдет!
Вынырнув из-под очередного удара, девушка вскинула пистолет, наставив его на «ронина»: тот качнулся, уходя с линии атаки.
А Рише только это и нужно было. Она без промедления выстрелила два раза подряд, один за другим всаживая деактиваторы в девчушку со смешной шевелюрой. Две зеленые вспышки исчезли в ее теле: в плече и спине, напротив сердца, там, где у большинства людей и программ находился исходник.
Вирус жалобно, очень натурально вскрикнул и повалился на крышу. Ее маленькое тело начала бить судорога. Услышав крик, противник Риши вздрогнул и, игнорируя грозящую ему самому опасность, обернулся.
Зеленые трещины расползались по вирусу медленнее, чем должны были: прямо сейчас защитные механизмы вредоносной программы боролись с проникающими в ее код алгоритмами, но это было ненадолго.
Второй вирус обернулся к Рише, заставив ее автоматически вскинуть оружие, но вместо того, чтобы напасть, он посмотрел на девушку полным ненависти взглядом, и вдруг выругался сквозь зубы:
– Глючная сука.
Вирус мгновенно оказался рядом с напарницей, подхватил ее на руки. Оторопевшая от подобного развития событий, Риша с опозданием навела прицел и выстрелила в них, но «ронин» прыжком ушел от атаки и скрылся, спрыгнув с крыши.
Совсем рядом зазвучали сирены других служебных программ.
― Все в порядке. ― Оператор еще раз сверилась с диаграммой и улыбнулась. ― Есть незначительные ошибки, но, в общем и целом, ты функционируешь правильно.
Риша неуверенно отняла руку от окна диагностики и спустила рукав. Стандартная процедура проверки после повреждений подошла к концу, но девушка медлила, ерзая на стуле и не зная, как подступиться к своему вопросу.
Оператор заметила ее колебания и вернулась на место.
– Тебя что-то тревожит?
– Да.
Нервничая, девушка сцепила пальцы в замок и невольно покосилась на камеру в углу кабинета. Глупость, конечно же ― на самом деле запись этого пространства могла вестись из любой точки, а маленький видеофиксатор тут находился скорее в качестве напоминания.
– Скажите. ― Риша еще раз посмотрела на окно диагностики. ― Чем вирус отличается от служебной программы?
Напрягшаяся было оператор снова мягко улыбнулась: она была человеком ― как и все операторы центра, ― но вела себя на порядок терпеливее других служащих.
– Риша, как давно тебя активировали? ― вместо прямого ответа спросила женщина и небрежным взмахом руки свернула все окна над столом.
– Я функционирую уже один год, четыре месяца, восемнадцать дней и два часа, ― автоматически отчиталась Риша.
– И подобный вопрос впервые пришел тебе в голову? ― Оператор откинулась на спинку кресла.
– Нет. ― Девушка смутилась и пожала плечами. ― Я задавала его на тестах.
– И какой же был ответ? ― заинтересовалась собеседница.
– «Вирусные программы ― нелицензионные и опасные. Программы ― лицензионные и полезные». Я это знаю. Просто…
– Просто этот ответ, в силу определенных причин, перестал тебя удовлетворять, ― закончила за нее оператор с понимающим видом. ― Это нормально. Ты многому учишься, в том числе подвергать сомнению авторитеты. Так что конкретно тебя смущает? ― Она повторила позу Риши и склонила голову на бок.
– Это…
Девушка открыла рот, но запнулась. Было что-то странное в ее вопросе, но что именно ― Риша не могла понять, сколько бы ни анализировала.
– Сегодня мне показалось, что вирусы ведут себя неправильно, ― вздохнула она наконец.
– Неправильно?
– Странно, ― уточнила программа. ― Они… отклонялись от задач.
– Ты тоже отклоняешься от некоторых задач, чтобы эффективнее выполнять свою работу, ― вновь кивнула оператор. ― Тебя это смутило?
– Нет. ― Риша уставилась на свои сцепленные руки, словно впервые заметила легкое, едва заметное голубоватое свечение над кожей. ― Они… он отклонился от определяющей его цели.
Он должен был сражаться с ней до конца, а не бежать, прихватив с собой поврежденную деактиваторами программу. Команда оператора могла остановить вирус, но его действия все равно не объяснялись привычными паттернами. Да, Риша, как и многие другие программы ее типа, могла принимать неожиданные, порой по-настоящему экстраординарные решения, но все они были так или иначе подчинены цели, заложенной в исходник. И если ради ее выполнения нужно было поставить под угрозу функционирование другой программы, Риша сделала бы это, не задумываясь. Обычно вирусы поступали точно так же.
И все же он пренебрег всеми этими нюансами. Да еще и эта его ругань…
– Скорее всего, ты неправильно проанализировала его поведение. ― Оператор пожала плечами. ― Вирусы ― одно сплошное отклонение от нормы, Риша, но они никогда не предают заложенную в них цель. Если сравнивать это с человеческой психикой, то вредоносные программы ― это люди, одержимые «idee fixe». Их характер скорее маниакальный и в некоторых случаях с трудом поддается интерпретации, но никогда не выходит за пределы этой самой идеи. ― Женщина перевела взгляд на всплывшее перед ней окно сообщения. ― Я ответила на твой вопрос?
– Да. ― Риша поправила волосы. ― Спасибо.
– Тогда позволь тебя оставить. ― Оператор поднялась и, потрепав девушку по плечу, шагнула к выходу из кабинета, но на полпути остановилась и обернулась. ― Пришли отчеты от других поисковых программ. Они исследовали координаты, которые ты указала: был обнаружен небольшой цифровой след, но он теряется около ближайшей магистрали. К тому же, его данных слишком мало, чтобы точно сказать, был это вирус, человек, или другая случайная программа, но центр склоняется к выводу, что ты просто ошиблась.
«Или же кто-то хорошо подчищает за собой», ― подумалось Рише.
– Понятно. ― Девушка кивнула.
– Постарайся больше так не делать. ― Оператор сдержанно улыбнулась и, наконец-то, вышла из кабинета.
Дверь за ней плавно соединилась со стенной панелью. Щелкнула аудиодорожка замка.
Риша с облегчением откинулась на спинку стула, сняла очки, стащила наушник и помассировала виски. Ей определенно требовалась перезагрузка часиков на пять-шесть, чтобы обнаружить и исправить ошибки. Пусть оператор была доброжелательна, но ни для кого не являлось секретом, что делают с программами, которые раз за разом выдают неверные решения.
И все же отключаться не хотелось; девушка открыла почту, поморщилась от количества служебных уведомлений, затем проверила чат, но Механик был не в сети.
Поднявшись, Риша прошлась по кабинету туда-сюда. Обстановка помещения была довольно лаконичной: встроенные в стену шкафы с файлами, которые девушка сохраняла для работы и обучения, большой стол, два стула. Один из шкафов скрывал внутри спальное место, где Риша могла перезагрузиться или просто побыть в одиночестве. На стенах неярко мерцали присвоенные девушке награды и лицензионные сертификаты, а еще ― несколько изображений в рамках. Девушка остановилась напротив собственной цифрографии. На виртуальном снимке была запечатлена серьезная девица с широко распахнутыми голубыми глазами, маленькая подпись внизу обозначала дату, когда Ришу после предварительных испытаний разработчиков только доставили в центр и представили операторам. Ух, как она тогда переживала!
Риша хмыкнула и вернулась за стол, вытянув ноги.
Прошло уже больше года, и она могла бы с гордостью сказать себе прошлой, что прекрасно справилась с адаптацией. Теперь, без отличительного знака, в ней и программу-то не узнать. Вот только проблем меньше не стало.
Блим!
Уведомление системы вывело девушку из задумчивости. Риша лениво махнула рукой, позволяя окну всплыть, но тут же подобралась, прочитав сообщение.
«Дешифровка канала завершена».
Дешифровка канала! Она совсем забыла, что запустила ее!
Девушка потянулась к гарнитуре, быстро надела наушник и глубоко вдохнула. Не факт, что ей удастся услышать хоть что-нибудь, но раз канал был все еще активен, у Риши был шанс. Она сцепила пальцы в замок и закрыла глаза.
– Подключи меня.
В сознании на несколько секунд воцарилась цифровая рябь, но, когда она рассеялась, в эфире наступило молчание. Неужели они им больше не пользуются?
Нервничая, Риша начала повышать громкость. Поэтому, когда в полной тишине внезапно раздался бодрый голос, девушка дернулась, едва не свалившись вместе со стулом.
– Ну и ну! А я-то думал, что хорошенько защитился от маленьких программок, сующих свои носы куда не следует. ― Голос искажался помехами, но все равно звучал насмешливо.
Риша не отвечала, ошарашенная тем, как быстро ее обнаружили ― она ведь едва подключилась!
– Оу, знаешь, молчуньи мне тоже нравятся, но, кажется, ты вломилась на мой канал не просто любопытства ради, да?
Все еще держа рот на замке, девушка потянулась, чтобы активировать окно сообщений и написать операторам.
– А вот этого делать не советую. ― Теперь голос звучал, словно принадлежал обиженному ребенку. ― Если не хочешь, чтобы я снова исчез, то нам придется общаться тет-а-тет, дорогая, твой визави довольно стеснительный.
Собеседник хихикнул, в очередной раз сбив Ришу с толку. Она медленно опустила руку и обернулась, как будто действительно переживала, что странный абонент может за ней наблюдать.
– Сейчас у меня есть свободное время и настроение поболтать, ― тем временем продолжал он, ― но…
Девушка не могла видеть или слышать, но почему-то на ум ей пришло, что сейчас этот странный человек или вирус на другом конце канала улыбается.
– Просто болтать будет не интересно. Как насчет встречи? Только чур без всех твоих операторов-наблюдателей!
– С чего бы мне так поступать? ― спустя несколько секунд глухо спросила Риша.
– У тебя будет шанс задать мне пару вопросов, ― хмыкнул собеседник. ― И, может ― чем система не шутит ― даже попытаться меня схватить.
– Мы можем отследить тебя по каналу связи.
– В прошлый раз это сильно помогло? ― уточнил абонент. ― В любом случае ― через семь минут можешь найти меня по координатам, которые я скинул тебе на почту. Приведешь хвост ― опять выставишь себя глупенькой сбоящей программой.
– Я еще не сог…
– Пока-пока.
Связь прервалась, а когда возмущенная Риша вновь попыталась подключиться к каналу, система нежным голосом сообщила, что данного соединения не существует. Девушка сдернула гарнитуру и вскочила, принявшись ходить из угла в угол.
Ну, и что ей теперь делать?!
Риша остановилась, закусив палец. Вариантов было не так много. Можно отправить на координаты несколько программ, но никто действительно не обещал, что таинственный собеседник объявится, а Риша не покажет себя глючной идиоткой. Или пойти и проверить самой, однако в таком случае девушка рисковала натолкнуться на засаду.
С другой стороны ― если бы этому «оператору» хотелось ее деактивировать, он мог бы просто позволить своему вирусу закончить начатое там, на крыше.
Время быстро иссякало. Риша вызвала окно поиска и вбила туда координаты, которые и впрямь пришли ей на почту с зашифрованного адреса. К ее удивлению, карта указала адрес небольшой забегаловки в довольно оживленной части сектора.
Да этот наглец вообще страха не знает?
Решительно нацепив очки и проверив наличие деактиватора, девушка выскочила из кабинета, направляясь к служебному транзитному узлу.
Дверь в маленький ресторанчик открылась с характерным позвякиванием колокольчика ― старомодным звуковым сопровождением, которое было распространено еще в эпоху материальности. Риша настороженно замерла на пороге, готовая в любую секунду отбиваться от нападения, но все было тихо: немногочисленные клиенты лениво переговаривались за своими столиками, мужчина за стойкой смерил посетительницу заинтересованным взглядом, но тут же отвернулся. Система молчала.
Девушка медленно прошла вглубь помещения, держа руку у пояса, отмахнулась от всплывающего рекламного уведомления, нахмурилась…
– Ты все-таки решила прийти, мисс охотница? Приятно удивлен.
Риша резко дернулась, разворачиваясь на месте, и застыла.
На обитом растрескавшимся дермантином диванчике сидел тип из толпы. Сейчас он выглядел немного более нервным, чем несколько часов назад: яркие волосы растрепались, руки беспокойно теребили бумажную салфетку, вызывающе розовые глаза лихорадочно блестели. Его очки-экран лежали тут же, на столике.
Девушка молча перебирала варианты того, что могла бы сказать или сделать в такой ситуации, но не нашла ничего умнее, чем выдохнуть:
– Ты.
– Запомнила меня, да? ― Он широко, по-мальчишески обаятельно улыбнулся. Риша машинально отметила, что «оператор» обладал действительно располагающими к себе манерами, когда хотел. Прямо как программа. ― Присаживайся, нам явно есть, о чем переговорить. ― Парень дождался, пока она опустится на противоположный диванчик, и пододвинул меню. ― Закажешь что-нибудь? Ты ведь так и не успела перекусить перед вызовом.
Он и это знает.
– Можешь не переживать за казенные средства, я оплачу… ― начал было тараторить собеседник, но Риша остановила его.
– Так ты и есть «оператор» вирусов? ― спросила она строго.
– А ты времени зря не теряешь, да? ― тот хмыкнул, открывая окно заказа и вручную забивая туда номера наименований. Судя по всему, кафе было местом не особо популярным и довольно старым: подобный метод уже почти нигде не использовался. ― Допустим так. Я оператор «вирусов». ― Он прищурился, явно озабоченный выбором. ― Как думаешь, лучше взять сырный соус или кисло-сладкий?
– Но сам ты не вирус.
– Слушай, от тебя парни на первом свидании случайно не сбегают? ― Он отвлекся от меню и изогнул бровь. ― Настоящий допрос с пристрастием устроила. Хочешь кофе?
– Я хочу ответы на свои вопросы. ― Риша нахмурилась. Смутное подозрение закралось в ее сознание, сбивая с мысли.
Почему этот «оператор» совсем не нервничает? Да еще и ведет себя так, словно ничего особенного не происходит? На первый взгляд казалось, будто сидящий перед ней парень ― просто легкомысленный программист, достаточно наглый и умелый, чтобы подрабатывать, курируя атаки самолично разработанных вирусов и перепродавая украденные ими данные. Однако Риша сталкивалась с его подопечными и точно могла сказать, что без острого, по-настоящему впечатляющего ума и соответствующей подготовки обычный человек попросту не способен справляться с таким количеством задач одновременно. Да еще и этот фокус с каналом.
– С чего ты взяла, что я не вирус, мисс программа? ― завершив заказ, вдруг посерьезнел парень.
– Я охочусь на вирусы, ― с уверенностью произнесла Риша. ― Я знаю, как их определить.
– То есть ― слепо доверяешь системе, да? ― хохотнул он. ― А я-то думал, самообучающиеся программы вроде тебя уже давно привыкли подвергать сомнению свои авторитеты.
Риша нахмурилась еще больше ― как-то часто в последнее время об этом заходила речь.
– Что ж, позволь тебе кое-что сказать, ― он жестом попросил девушку наклониться поближе. ― Это большой секрет, но… ― Парень тоже поддался вперед, так, что они почти столкнулись лбами. ― Нужно чаще запускать проверку внешнего кода, ― шепнул оператор, ловким движением выдергивая что-то у нее из-под воротника.
Риша ринулась перехватить его руку, но парень уже вернулся на место и жестом фокусника со старинных видеороликов продемонстрировал ей небольшой серебристо поблескивающий треугольник с цепкими лапками. Но девушка почти не обратила внимание, вместо этого уставившись на него самого. На несколько мгновений его лицо покрыла цифровая рябь, а потом…
«Обнаружен вирус».
Девушка вскочила, едва не опрокинув стол, на котором во время их разговора возник поднос с заказом.
– Как задергалась, ― ухмыльнулся собеседник, вальяжно откидываясь на спинку диванчика и протягивая руку к стаканчику кофе.
– Не двигайся! ― Риша выхватила пистолет и направила его на оператора. ― Что это такое было? Когда ты успел?.. Тогда в толпе, да?!
– Мисс программа, ― мягким, вкрадчивым голосом обратился к ней вирус. ― Сядь, пожалуйста, на место. Если ты сейчас меня деактивируешь, то не получишь ответы, а если продолжишь мешать посетителям, нас просто выгонят. Хозяину этого заведения плевать, вирус ты или нет, если счет оплачен, поэтому давай мы продолжим разговор без пистолета у моего виска? Ло говорит, что эта штучка довольно болезненная.
Риша не двинулась. Но и не выстрелила, хотя оживившаяся система монотонно талдычила ей об обнаружении вредоносной программы.
– Ты вирус, ― сказала Риша, однако в голосе ее не было уверенности. Не она ли несколько минут утверждала противоположное?
– Когда-то философы говорили, что все человечество ― вирус Земли, ― меланхолично возразил парень и сделал глоток. ― Но ― нет, мисс программа, я человек. Рожден человеком.
– Чушь. ― Девушка была категорична. ― Люди лицензионны.
– Как и домашние питомцы, ― отозвался оператор. ― Пока их не выбросят.
Память мгновенно подбросила Рише образ яркоглазой дворняги в переулке, но девушка решительно мотнула головой.
– Это не одно и то же!
Парень пожал плечами: не собираюсь тебя переубеждать, мол, ― и потянулся к завернутому в бумагу сэндвичу.
– Как тебе удалось это сделать? ― девушка медленно убрала оружие, поняв, что на нее пялятся посетители. Нужно доставить этого типа в центр. Операторы должны знать, что он такое.
– Ты о программке? ― вирус откусил от бутерброда и с удовольствием зажмурился. ― Маленький фокус, на время перекрывает доступ к конкретной сигнатуре в базе данных. К сожалению, система быстро их ловит, да и всех наших туда не запихнешь ― «подозрительную активность» сразу объявит.
– Раз твоя сигнатура есть в базе данных, значит ― ты вирус! ― победно заключила Риша.
– Моя сигнатура есть в базе данных, потому что меня лишили лицензии, мисс программа. ― Он запил кусок еще одним глотком кофе и вздохнул.
– Людей невозможно лишить лицен…
– Да-да, это я уже слышал, ― парень отмахнулся от ее слов, упорство Риши уже начинало его раздражать. ― «Каждый человек имеет право на лицензию» и все-такое. Тебя не учили, что человеческие законы не всегда работают так, как их прописывают?
Риша дернула щекой.
– Это законы системы.
– Той самой, которую мне удалось обмануть при помощи простенькой программы? С подсказки которой ты чуть не застрелила Ло?
– Что за «Ло»? ― уже догадываясь, о ком идет речь, мрачно уточнила девушка.
Парень руками показал пучки на голове.
– Она передавала привет, кстати. Желала тебе подавиться собственными деактиваторами.
– Деактиваторы рассчитаны только на вирусы.
Собственное упорство вдруг напомнило ей слова оператора о маниакальном поведении. Риша поспешила отмахнуться от этих мыслей, но собеседник неожиданно поскучнел.
– Знаешь… а ведь я почти поверил, что у тебя есть шанс. ― Он подцепил дольку картошки и обмакнул ее в соус. ― Типа, в какой-то момент мне даже казалось, что ты весьма похожа на человека.
– Поэтому ты не дал тому вирусу меня уничтожить? ― уточнила девушка. Неужели вредоносные программы способны на жалость?
– Ну… нет, ― парень глянул на проекцию часов в углу забегаловки, дожевал кусочек и вытер руки салфеткой. ― Я не дал ему этого сделать, чтобы ты могла вернуться в центр и пронести с собой еще одну маленькую программку, ― оператор взял со стола очки-экран и надел их на голову. ― Кстати говоря, думаю, она уже почти закончила рыться в вашей базе данных, так что ― мне пора идти. ― Он поднялся из-за стола и шагнул мимо остолбеневшей Риши.
Тем не менее она автоматически развернулась, выхватывая пистолет, пока ее сознание судорожно анализировало данные: встреча в толпе, отступление той атакующей программы… и даже вызов на разговор… это все были звенья одной цепочки?!
Но что еще хуже… черт, да он сделал из нее трояна! Омерзительно!
– Стоять! ― рявкнула она.
Оператор вирусов послушно остановился в дверях и медленно развернулся. Похоже, ситуация ему порядком наскучила. Он демонстративно постучал себя по запястью, показывая, что у него совсем нет времени.
– Что-то еще?
– Сейчас ты пойдешь со мной, ― от гнева едва контролируя модуляции голоса, начала Риша. ― Или…
– Или сделаю так. ― Парень подмигнул ей и щелкнул пальцами.
И исчез.
― Дурдом какой-то, ― вздохнула оператор, разваливаясь на стуле напротив Риши. ― Не антивирусный отдел, а проходной двор. ― Она устало помассировала виски.
Девушка тихо-тихо сидела на краешке другого стула в собственном кабинете, уставившись в колени, и боялась лишний раз вдохнуть, хотя умом прекрасно понимала, что все эти паттерны виноватого поведения ей не нужны, да и не помогут.
– И что ты предлагаешь с тобой делать? ― оператор выпрямилась и поправила воротник формы. Спросила без гнева или осуждения, но девушке все равно стало стыдно.
Риша облажалась. Риша беспрецедентно, с размахом облажалась, сначала упустив группу, затем притащив вредоносную программу за пазухой и напоследок покинув пост, чтобы поболтать с оператором вирусов, пока ее собственные операторы пытались справиться с проникшей в систему заразой. И все это ― меньше чем за сутки.
– Я… прошу прощения, ― пробормотала девушка, не поднимая головы. ― Обещаю, что учту все сегодняшние ошибки и выстрою новые, более эффективные алгоритмы…
– Не сомневаюсь, что ты так и поступишь, ― устало прервала ее оператор. ― Но это никак не отменит того ущерба, который нанес… твой нынешний сбой.
Риша открыла рот, чтобы возразить: это был вовсе не сбой, а лишь череда неверно принятых решений, а то и вовсе ― случайностей! К тому же у нее самой накопилось немало вопросов к операторам.
Но девушка передумала и смолчала.
– Думаю, мы должны отправить тебя к разработчикам, ― заключила женщина, потирая подбородок.
Что?
– Нет! ― Риша вскочила. ― Я… со мной все в порядке! Мне просто требуется перезагрузка!
«Ошибка».
Девушка оторопело уставилась на уведомление, но тут же отвлеклась на более насущную проблему. «Отправиться к разработчикам»! Конечно, это считалось стандартной процедурой для программ, которым требовалась полная диагностика и установка обновлений, но это также значило, что весь накопленный ею опыт, знания и переживания будут тщательно просеяны, рассортированы и препарированы, чтобы стать одним из дополнительных файлов или исчезнуть.