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