Юрий Нестеренко - Поздравляем, вы выиграли !
Экран потемнел, затем на темно-фиолетовом фоне высыпали звезды. Заиграла характерная для видеоигр бодрая музыка. Потом звезды закружились в хороводе и сложились в мерцающие буквы:
ПРИВЕТ, ЛАМЕР!
Трентон хмыкнул. Ламером на хакерском жаргоне презрительно именуют дилетанта, возомнившего себя крупным специалистом. Выходит, Ричардс тоже относил себя к племени хакеров и занимался не только видеоиграми.
Звезды еще немного померцали, и картинка застыла. Музыка смолкла с завывающим звуком, словно в результате внезапной аварии остановилась катушка старого магнитофона. Машина наглухо "висела", не реагируя на клавиатуру. Трентон подождал еще немного, затем нажал кнопку перезапуска.
Система вновь загрузилась без проблем. Трентон тут же посмотрел протокол "шпиона". Так и есть! Программа lastwill записала в одну из системных областей памяти пару фраз в характерном хакерском стиле - с заменой "С" на "(", "О" на нули и т.п.:
"Охотимся за деньгами дядюшки Джимми? Боюсь, сосунок, ты недостаточно крут для этого"
"Ты меня недооцениваешь", - ответил Трентон. Поскольку перезапуск машины заново грузит системные области, только протокол "шпиона" и позволил установить, что там что-то было. Но Ричардс, видимо, считал такие уловки очевидным пустяком - как, впрочем, и Трентон.
Он просмотрел программу lastwill так, как будто это был текстовый файл, и, разумеется, не увидел там послания Ричардса. Конечно же, оно было зашифровано. Тогда Трентон просмотрел lastwill по командам и установил алгоритм шифрования - это был как раз тот, что вскрываются только полным перебором - а также ключ. Ключ зависел от конфигурации машины - на другом компьютере программа записала бы в память бессмыслицу. Но теперь Трентон знал, что он на верном пути. Раз Ричардс дал ему ключ, значит, решение существует и к нему можно прийти эвристическим путем. Очевидно, с помощью этих же алгоритма и ключа вскрывается и другое, более содержательное послание; вот только где его искать? Старый хакерский прием - помечать некоторые блоки диска как "плохие", непригодные к использованию, и именно там прятать информацию. Трентон протестировал диск на плохие блоки и быстро обнаружил их. "Ты не так-то крут, Джимми. Человек с твоими доходами не стал бы пользоваться диском, на котором есть непригодные блоки; любому ламеру понятно, что ты сделал их специально". Трентон натравил программу-декодировщик на первый плохой блок, и на экране появился результат ее работы:
"Я же говорил, что ты сосунок. По-твоему, я стану прятать информацию в плохих блоках? Не суди обо всех по себе."
Трентон хмыкнул. Емкость диска Ричардса составляла 10 гигабайт; перекодировка всего этого объема заняла бы много часов, но это было не самое худшее. Из перекодированных данных следовало выделить осмысленные, а сделать это с помощью программы, учитывая склонность Ричардса заменять буквы на похожие по написанию символы, было бы непросто. Значит, следовало как-то сузить область поиска.
Очевидно, важные данные не могли находиться в свободных областях диска, где их слишком легко было случайно затереть; значит, шифрованная информация хранится в каком-то файле. Для начала Трентон решил проверить файлы, созданные или измененные недавно. Конечно, Ричардсу ничего не стоило искусственно изменить дату модификации файла, но...
Получив огромный список файлов, отсортированных по дате, Трентон довольно хмыкнул. Список возглавляли два десятка файлов, различавшихся решительно всем - именем, размером, расположением на диске - кроме одного обстоятельства: если верить дате, все они были модифицированы 14 июля.
Ричардс покончил с собой тринадцатого.
Декодировщик обработал их все - и выдал полную бессмыслицу.
Но Трентон не сомневался, что его идея была правильной. Он отсортировал результаты по времени модификации исходных файлов и просмотрел сперва их начала, потом концы. Есть! Последние один-два символа каждого перекодированного файла образовывали следующее послание.
"А у тебя кое-что есть между ушами!"
Больше Ричардс ничего не счел нужным сообщить, но у Трентона уже возникла мысль, что делать дальше. Первые буквы названий файлов с посланием выглядели как набор сокращений; хакер предположил, что это полное имя файла - и не ошибся. Такой файл действительно был. Трентон запустил декодировщик...
И вновь не получил ничего осмысленного.
Немного поразмыслив, Трентон пришел к выводу, что Ричадс изменил ключ. Но каким образом? Подсказка должна быть где-то рядом. Трентон обратил внимание на последний файл от 14 июля. Он кончался нулем. Сначала хакер не придал этому значения, поскольку ноль нередко используется для обозначения конца строки, но теперь он пригляделся к этому файлу получше. Название файла состояло из цифр и букв из начала алфавита; Трентон догадался, что это шестнадцатиричное число. Но что надо сделать с этим числом? Прибавить к первоначальному ключу? Вычесть из результата перекодировки?
Неожиданно хакер понял, что это число как раз и означает требуемое действие. Это был код команды умножения. А что же тогда множители? Один, очевидно, исходный ключ, а второй - содержимое файла с нулем на конце, точнее, его первые 64 ненулевые байта. В результате получается новый ключ.
Через минуту на экране перед Трентоном было последнее послание.
"Ты сделал это, парень - ну что ж, будем считать, что ты заработал свой приз. Это 6 миллионов долларов - ты рад? Получить их ты сможешь... - Трентон переписал адрес загородного дома. - Код замка 17654309. Остальные инструкции получишь на месте."
Трентон спрятал в карман бумажку с адресом и кодом. Теперь оставалось только уничтожить все сообщения Ричардса.
Кажется, лейтенант Мерчинсон не был вполне удовлетворен рассказом Трентона о полном крахе его попыток. Ну что ж, теперь подобный крах ожидал любого, кого полицейское управление пригласило бы после Трентона. Сам же хакер более месяца жил самой обычной жизнью, пока, наконец, не решил, что теперь за ним наверняка уже не следят. И вот однажды вечером, когда было еще не настолько поздно, чтобы случайный прохожий или автомобиль обращали на себя внимание, но и не настолько рано, чтобы детали хорошо различались издали, Трентон сел в свою машину и поехал по адресу, который помнил наизусть уже много дней.
Дом стоял на отшибе, в стороне от шоссе. Собственно, с шоссе его не было видно; Трентону и в голову не пришло бы здесь свернуть, если бы не указания Ричардса. У старого особняка был совершенно нежилой вид; казалось, он стоит заколоченным уже лет пятьдесят. Однако, когда хакер поднялся на крыльцо, в лунном свете тускло блеснул новенький кодовый замок. Трентон еще раз оглянулся - нигде вокруг никаких признаков жилья; вряд ли кто-нибудь может его здесь увидеть. "Покойник любил дешевые эффекты, - усмехнулся он про себя, - настоящий дом с привидениями." Пальцы пробежались по кнопкам замка, и он щелкнул, открываясь.