– А как имитировать неисправность основного сервера? – спросил он.
Ратмир молчал всего секунду.
– Разные способы. Много способов. Можно извлечь какой-нибудь из блоков памяти.
Тупею я, подумал Вадим. Вопросы глупее не придумаешь задаю.
– Понятно, – сказал он Ратмиру. – Приступай.
Поднявшись, они перешли в серверную. Выдвинув на выкатной тележке системный блок резервного сервера и подсоединив к нему ноутбук, Ратмир начал работать; мгновенье понаблюдав за ним, Вадим отошел в сторону. В сущности, все понятно, подумал он. Гиперсамогонный аппарат в соседней комнате – это, видимо, та самая установка, что вырабатывает рабочую субстанцию и представляет собой уменьшенную копию технологической системы комбината, на ней этот Лебединский и его команда проводили эксперименты и моделировали технологические процессы. Система, установленная на серверах, управляет этой установкой, а если потребуется в каких-нибудь чрезвычайных обстоятельствах, и технологическим процессом в целом. Понятная система, наверняка придуманная каким-нибудь академиком-светилом еще в советские времена – слишком уж все просто и рационально. Если б подобную хрень строили сегодня, то производство и научно-исследовательский центр наверняка разнесли бы по разным департаментам и разным корпусам – чтобы они вообще ничего не знали друг о друге. Потому что сегодня менеджеры командуют учеными, а не наоборот. Ладно, бог с ним. Лишь бы у Ратмира получилось.
Провозившись несколько минут с системным блоком и ноутбуком, Ратмир вернул системный блок на место и запустил резервный сервер снова; подождав немного и выдвинув на выкатных полозьях из соседней стойки основной сервер, он вытащил из него какой-то блок и отправился назад в консольную, Вадим пошел за ним. Аккуратно усевшись перед консолью и запустив ее снова, Ратмир, дождавшись появления на экране надписи «Введите имя пользователя», мгновенье помедлив и быстро пробежавшись пальцами по клавишам, ввел имя:
Root
Мигнув экраном, система выдала надпись «Введите пароль». Заглянув в ноутбук, Ратмир ввел длинную буквенно-числовую комбинацию. Экран мигнул, заставка на нем сменилась директорией с набором папок в шесть колонок. Бегло пробежав по ней, Вадим быстро перевел взгляд на Ратмира.
– Так мы вошли?
Ратмир неподвижно смотрел на экран.
– Да.
– И можем вносить изменения?
– Да.
– Любые?
– Да. – Помедлив мгновенье, он аккуратно положил руки на колени. – У нас Root-права. Мы суперпользователи.
Убиться об стенку, подумал Вадим. Охренеть. Система взломана за пятнадцать минут.
– Ладно, – сказал он вслух. – Разобраться бы теперь во всем этом.
Придвинувшись к консоли, он пробежался по директории, заглянув в несколько папок. Часть папок имела английские, часть – русские названия, имена файлов ничего ему не говорили. Чего я дергаюсь, подумал он, только мешаю человеку работать.
– Ты можешь определить, какие программы работают в настоящее время?
– Да.
– Как?
– Командой top.
– Действуй.
Введя команду, Ратмир смотрел на экран, на растущий список программ. Некоторое время Вадим смотрел туда же.
– Что это за программы?
– Драйверы. Программы слежения за ресурсом. Программы очистки диска.
– Системные программы Linux?
– Да.
– А какие-нибудь другие программы есть?
Надолго замолчав, Ратмир просматривал длинную колонку.
– Есть, – наконец произнес он.
– Много?
– Одна.
– Какая?
– Вот.
Приникнув к экрану, Вадим прочел название: Current_Process_Control.
– Какие программы и файлы с ней работают, определить можешь? И в каких они папках?
– Да.
– Как?
– Командой grep.
– Давай.
Из выданных сервером почти трех десятков программ и файлов почти все были в папке Current Process. Все, подумал Вадим, мы поймали их за хвост. А теперь не торопись. Теперь осторожность и анализ. Одна из программ называлась Current_Process_Control.cpp. Исходник на языке C++. Сколько столетий прошло с тех пор, как я сам перестал программировать? Впрочем, даже если бы я завязал с этим вчера, все равно от анализа, если честно сказать, мало толку. Любой программист, будь он хоть семи пядей во лбу, подтвердит, что разобраться в чужой программе – гиблое дело и могила усилий и времени. Чужие исходники в девяноста девяти случаях из ста бесполезны – проще самому все заново написать. Даже если функциональности, реализуемые программой, известны. А здесь мы даже толком не понимаем, что она делает. Впрочем, анализировать все равно надо; в конце концов, наша цель – не воспроизводить эти функциональности, а прекратить. Возможно, комментарии в исходнике что-то подскажут.
– Вот что, – сказал он Ратмиру, – распечатай мне ее текст. Ты сам как смотреть будешь – в распечатке или на экране?
Ратмир почти не медлил с ответом.
– На экране.
– Тогда в одном экземпляре.
Дождавшись, пока принтер перестал выплевывать бумажные листы, Вадим забрал образовавшуюся стопку. На глаз текст программы занимал около пятидесяти страниц. Взяв их, Вадим принялся просматривать исходник.