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