Лекция: Соответствующему ernie.berkeley.edu. в порт 11357. Этого не произошло ни разу, так как автор

Неправильно использовал вызов функции.

Основной цикл doit содержал наиболее активные компоненты вируса. В нем вызывается процедура

Cracksome, пытающаяся найти компьютеры, в которые можно проникнуть. Далее, после ЗО-секундного

Ожидания, во время которого происходит попытка связаться с другими вирусами, вирус пытается

Проникнуть в другие машины.

После осуществления атак он разветвляется, создавая две копии. Первоначальная копия (процесс-

Родитель) уничтожается, оставляя процессу-потомку всю информацию.

Затем процедуры hd, hi и ha ищут машины для заражения, и программа ждет еще 2 минуты.

Наконец, перед возвратом на начало цикла проверяется значение глобальной переменной pleasequit. Если

Она установлена и вирус уже перебрал более 10 слов из собственного словаря паролей, работа завершается.

Таким образом, принудительная установка pleasequit не дает эффекта моментального завершения всех

Вирусов.

Вот немного переделанный для лучшего понимания исходный текст процедуры doit:

Static doit()

{ long key, timel, timeO:

time(&key);

srandom (key):

timeO == key:

if (hgO ==0&& hl() — 0)

ha():

if ((random() %7) i= 3)

checkother():

report_breakin():

Cracksome();

other_sleep(30):

while (1) {

Cracksome();

if(fork())>0)

exit(O):

if(hg()-0&&hi()==0&&ha()==0)

hl():

еще рефераты
Еще работы по информатике