После четырех часов работы лазейки работали, а ком- пайлер Нексуса их добавлял. Ранган выставил затененный флажок, инструктируя компайлер повсюду распространять новый код как якобы не связанные между собой, безобидные схемы в двоичном коде, еще больше затрудняя воспроизведение того, что они сделали. После этого им нужно было изменить компайлер рабочей станции, чтобы добавить код лазейки в компайлер Нексуса. Этим занялся Ранган.
Кейд обратил внимание на второй этап. Он хотел получить возможность использовать лазейку, исключив, чтобы об этом знал тот, кто запускает ОС Нексус. Ему требовалась поддержка для скрытых процессов, и МодОС в определенной форме ею располагала. В теории все было просто, но на практике оставалось немало затруднений.
Он взял большие участки кода МодОС, которые никогда не использовались, и внедрил их в ОС Нексус. Лазейки должны соединить их со скрытой учетной записью суперпользователя. Это даст возможность выполнить большую часть того, чего он хочет. Для этой учетной записи загрузка будет отключена. Да. Но как скрыть использование памяти?
Черт! Он насторожил уши. Они заходили на посадку. Он выглянул из окна. Проклятье! Они находились в международном аэропорту Сан-Франциско, ближайшем к Калифорнийскому университету в Сан-Франциско. Сколько нужно времени, чтобы добраться от аэропорта до университета? Двадцать минут? Двадцать пять? Черт! Ранган свою часть закончил. Дело теперь за Кейдом.
Может ли он скрыть использование памяти? Он не видел, как это можно сделать. Придется оставить все как есть. Нет ли каких-то признаков, которые можно заметить? Думай, думай. Файлы регистрации. Все ли он предусмотрел? Трассировка сети? Тут следы нелегко спрятать. Приходится оставить их как есть.
Он снова выглянул в окно. Земля приближалась. Он вполголоса выругался, затем спохватился. Черт! Сохраняй спокойствие. Не нервничай. Отлично. Теперь нужно проверить произведенную модификацию ОС Нексус. У него есть время только на самые простые тесты. Подготовка… подготовка… готово. Он включил стресс-симулятор. Фатальный сбой? Пока нет. Утечка памяти? Явной нет. Можно ли использовать лазейки? Да. Может ли он скрыть процесс от самого себя?… Проверка… Проверка… Кажется, да. Выдержит ли это серьезную проверку? Он не имел понятия.
Колеса ударились о землю. Черт.
[кейд] Все еще работаю. Прикройте меня.
[ранган] Будет сделано.
Кейд вернулся к работе. Он сможет это сделать. Он сможет закончить вовремя.
Давление в салоне изменилось — открывалась дверь.
[илья] Поднимите головы. Хотя бы на минуту сосредоточьтесь на реальном мире.
Майерс встал.
— Отлично, все выходим и садимся в машину.
Кейд выглянул в окно. Рядом стоял черный внедорожник, возле него находился здоровенный тип в черном костюме. Черт. Он встал. Код манил его к себе, он помнил флажок, который нужно изменить. Проклятье, в каком же файле он был? Майерс шел к нему, пристально глядя в глаза. Кейд затаил дыхание. Неужели он знает? Сотрудник УПВР остановился.
— Вставайте, пора выходить. — Майерс жестом указал на проход между креслами и на дверь, которая находилась за Кейдом.
Кейд заморгал. Да, пора выходить. Из самолета. Он молча повернулся, вышел в проход и вслед за Ранганом спустился по трапу. Прямо за собой он ощущал присутствие Майерса. Он представил себе, как мясистая рука Майерса хватает его за плечо, представил, как сотрудник УПВР грозно вопрошает: «Вы пытались нас надуть, не так ли?»
Зацепившись, он едва не упал, Майерс подхватил его под руку.
— Осторожно, не споткнитесь, — сказал он.
Черт. О чем он только думает? Дыши. Ровно дыши. Он устроился на третьем ряду сидений. Майерс закрыл за ними дверь и сел на место стрелка.
[илья] Отлично. Мы тебя прикрываем.
Она тут же заговорила:
— Моя машина осталась в Симони-филд. Нельзя ли мне ее забрать?
— Агент Льюис может отвезти вас туда, когда мы закончим.
— Мне тоже нужно ездить, — сказал Ранган. — К тому же я, кажется, оставил ключ в сумке, в ангаре. Наверно, он все еще там… — И так далее и так далее.
Кейд сосредоточился на своей работе. Черт! Новая ОС Нексус в режиме стресс-симулятора рухнула через семь минут. Проклятье, проклятье, проклятье! Взгляни на трассировку стека. Что вызвало сбой? Он всего лишь реактивировал стандартный код МодОС. О, черт! Он закодировал прекращение сбора данных. Это как-то связано с файлами регистрации.
Ну конечно! Это был сбой при попытке доступа к файлу регистрации. Отлично. Но что же делать? Он вручную создал пустые файлы регистрации и снова запустил симулятор. Опять сбой.
Ладно. Пусть будут не пустые файлы регистрации, а файлы с поддельной записью.
Он выглянул в окно и понял, что зря это сделал. Они Двигались по Приморской сквозной дороге, непосредственно вдоль берега, направляясь на север в Южный Сан- Франциско. Возможно, полпути уже пройдено. Сосредоточься, сосредоточься, сосредоточься.
Он скопировал случайную строку из каждого параллельного файла регистрации своего собственного Нексуса, скопировал их в нужные места и снова запустил симулятор. Черт, он все еще находился за той точкой, где рухнул. Кейд перемотал его, снова добавил файлы регистрации, ввел поддельные записи, запустил стресс-симулятор… Прошла секунда. Две. Три секунды. Десять секунд. Он не рухнул. Кейд понял, что все это время он сидел затаив дыхание. И сделал выдох.
Ранган и Илья говорили все громче и громче. Он что, шумел? Кейд снова выглянул в окно. Залив уже проехали. Это что, Потреро-хилл?' Черт, мы уже подъезжаем.
Стресс-симулятор продолжал работать. Нужно скопировать новый код в скрытый инъектор компайлера. Так, сделано. Чтобы его проверить, запустим компайлер с помощью инъекто- ра. И посмотрим, остались ли прежними размеры файлов. Компилируй, компилируй. Черт, как же неприятно вот так ждать. Шоссе сделало поворот. Это СоМа — район к югу от главной улицы, Маркет-стрит. Черт, уже практически приехали.
Компилирование завершилось. Все идентично. Спасибо всевышнему за маленькое чудо. Кейд перебросил код Ранга- ну, чтобы тот вставил его на один уровень выше в компайлер компайлера. Ранган занялся этим. Они выскочили на Дью- бос-авеню, затем свернули на Маркет-стрит. Они уже были в центре города, наверное, километрах в трех от лаборатории.
Чем теперь нужно заняться Кейду? Да, конечно, управлением исходником. Нужно его подделать. Он принялся за работу, убеждая систему управления исходным кодом, что эти изменения были здесь всегда.
Водитель свернул на 17-ю улицу, чтобы с запада подъехать к университету.
Отлично. Поддельные журналы изменений. Поддельные записи действий. Поддельные даты изменения файлов. Машина сделала поворот, затем еще один.
(adsbygoogle = window.adsbygoogle || []).push({});