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