Облако | страница 133



– Ты можешь определить, какие программы работают в настоящее время?

– Да.

– Как?

– Командой top.

– Действуй.

Введя команду, Ратмир смотрел на экран, на растущий список программ. Некоторое время Вадим смотрел туда же.

– Что это за программы?

– Драйверы. Программы слежения за ресурсом. Программы очистки диска.

– Системные программы Linux?

– Да.

– А какие-нибудь другие программы есть?

Надолго замолчав, Ратмир просматривал длинную колонку.

– Есть, – наконец произнес он.

– Много?

– Одна.

– Какая?

– Вот.

Приникнув к экрану, Вадим прочел название: Current_Process_Control.

– Какие программы и файлы с ней работают, определить можешь? И в каких они папках?

– Да.

– Как?

– Командой grep.

– Давай.

Из выданных сервером почти трех десятков программ и файлов почти все были в папке Current Process. Все, подумал Вадим, мы поймали их за хвост. А теперь не торопись. Теперь осторожность и анализ. Одна из программ называлась Current_Process_Control.cpp. Исходник на языке C++. Сколько столетий прошло с тех пор, как я сам перестал программировать? Впрочем, даже если бы я завязал с этим вчера, все равно от анализа, если честно сказать, мало толку. Любой программист, будь он хоть семи пядей во лбу, подтвердит, что разобраться в чужой программе – гиблое дело и могила усилий и времени. Чужие исходники в девяноста девяти случаях из ста бесполезны – проще самому все заново написать. Даже если функциональности, реализуемые программой, известны. А здесь мы даже толком не понимаем, что она делает. Впрочем, анализировать все равно надо; в конце концов, наша цель – не воспроизводить эти функциональности, а прекратить. Возможно, комментарии в исходнике что-то подскажут.

– Вот что, – сказал он Ратмиру, – распечатай мне ее текст. Ты сам как смотреть будешь – в распечатке или на экране?

Ратмир почти не медлил с ответом.

– На экране.

– Тогда в одном экземпляре.

Дождавшись, пока принтер перестал выплевывать бумажные листы, Вадим забрал образовавшуюся стопку. На глаз текст программы занимал около пятидесяти страниц. Взяв их, Вадим принялся просматривать исходник.

Масса активируемых подпрограмм. Бездна вызываемых массивов данных. Сложно организованные циклы. Комментарии были в основном на английском языке, имели сугубо прикладной характер и практически ничего не поясняли. По диагонали просмотрев какую-то часть текста, Вадим отложил листы в сторону. Без особой надежды он подошел к Ратмиру, некоторое время постояв у него за спиной. Оставив текст исходника, Ратмир внимательно рассматривал вызываемые программы и массивы данных. Вновь придвинув стул, Вадим сел рядом с ним. Некоторое время он раздумывал, как правильно сформулировать вопрос.