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

Здесь есть возможность читать онлайн «Игорь Гульев - Создаем вирус и антивирус» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Прочая околокомпьтерная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Создаем вирус и антивирус: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Создаем вирус и антивирус»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Virus Warning!
С этим сообщением, хоть раз в жизни, сталкивался любой пользователь компьютера. Вирмейкеры с упорством маньяков плодят все новые и новые разновидности вирусов. Бытует мнение, что избавиться от них можно лишь с помощью сложных и дорогостоящих новейших антивирусных программ. Это не совсем верно – знание принципов действия и способов внедрения вирусов поможет вовремя их обнаружить и локализовать, даже если под рукой не окажется подходящей антивирусной «вакцины».
В этой книге вы найдете обширный материал, посвященный проблеме защиты информации, рассмотренной с обеих сторон баррикад (как от лица вирмейкера, так и создателя антивирусов).

Создаем вирус и антивирус — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Создаем вирус и антивирус», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

n_dir,

/* Количество исследованных файлов */

n_fil,

/* Количество больных и исцеленных файлов */

n_ill;

int

/* Длина имени файла */

l,

/* Временный индекс */

i;

#include ”antilib.c”

/* Рекурсивная процедура обхода дерева каталогов */

walk()

{

int found_d, found_f;

struct find_t buf;

/* Поиск каталогов */

found_d=_dos_findfirst(”*.*”,_A_SUBDIR ,&buf);

while (found_d == F_FOUND)

{

if ((buf.name[0] != ”.”) && (buf.attrib & _A_SUBDIR ))

{

chdir(buf.name);

walk();

chdir(”..”);

}

found_d=_dos_findnext( &buf );

}

/* К этому моменту не отсканированных нижележащих каталогов

больше не осталось – сканируем файлы */

n_dir++;

getcwd( path, PATH_LEN );

/* Поиск файлов */

found_f=_dos_findfirst(”*.*”,_A_NORMAL ,&buf);

while (found_f == F_FOUND)

{

l=strlen( buf.name );

if (((buf.name[l−3]==”C”)&&

(buf.name[l−2]==”O”)&&

(buf.name[l−1]==”M”))||

((buf.name[l−3]==”E”)&&

(buf.name[l−2]==”X”)&&

(buf.name[l−1]==”E”)))

{

n_fil++;

printf(”%c%s”,13,blank);

printf(”%c%s\\%s ”,13,path,buf.name);

/* Нашли новый файл – надо проверить, инфицирован ли он.

Если заражен, то лечим */

if (infected(buf.name)==BAD) cure(buf.name);

}

found_f=_dos_findnext( &buf );

}

}

main( int argc, char *argv[] )

{

puts(”ANTISVC – демонстрационный антивирус−фаг”);

if (argc < 2)

{ puts(”Введите имя диска в качестве параметра”); exit(2); }

if (((toupper(argv[1][0]))>”Z”)||((toupper(argv[1][0]))<���”A”))

{ puts(”Неверно задано имя диска”); exit(3); }

drive[0]=argv[1][0]; drive[1]=”:”; drive[3]=”\0’;

for (i=0;i

n_dir=0; n_fil=0;

getcwd(old_path, PATH_LEN);

drive[2]=”\0”; system(drive);

drive[2]=”\\”; chdir(drive);

/* Запускаем рекурсивный обход дерева каталогов

для выбранного диска */

walk();

old_path[2]=”0”; system(old_path);

old_path[2]=”\\”; chdir(old_path);

printf(”\nКаталогов : %d\nФайлов : %d\nОбнаружено больных

и излечено: %d”, n_dir, n_fil, n_ill);

if (n_ill) exit(1); else exit(0);

}

Файл «ANTILIB.C», включаемый в предыдущий:

/***************************************************************

Процедуры обнаружения и лечения

***************************************************************/

/* Сигнатура */

char sign[7]={ (char) 0xB4,

(char) 0x83,

(char) 0xCD,

(char) 0x21,

(char) 0x5E,

(char) 0x56,

”\0”};

int infected( char *fn )

{

int f;

int r,q;

char buf[7]; /* Буфер под сигнатуру */

/* Открываем файл */

r=_dos_open( fn, O_RDONLY, &f );

if (r) { printf(” – ошибка открытия!”); return GOOD; }

/* Читаем 6 байт */

lseek( f, −1724, SEEK_END );

r=_dos_read( f, buf, 6, &q ); buf[6]=”\0”;

if ((r)||(q!=6)) {printf(” – ошибка чтения!”); _dos_close(f); return GOOD;

}

/* Закрываем файл */

_dos_close(f);

/* Сравниваем байты с сигнатурой */

if (strcmp( buf, sign)==0)

{ printf(” – был болен и...”); n_ill++; return BAD; } /* Болен !!! */

/* Годен к в/службе. П/пк мед. службы Орлов :−) */

return GOOD;

}

cure( char *fn )

{

int f;

int mz;

int r,q;

char buf[24]; /* Буфер под байты */

/* Открываем файл */

r=_dos_open( fn, O_RDWR, &f );

if (r) { printf(” – ошибка открытия!”); return; }

/* Читаем первые два байта для определения типа программы */

r=_dos_read( f, &mz, 2, &q );

if ((r)||(q!=2)) {printf(” – ошибка чтения!”); _dos_close(f); return; }

/* Читаем сохраненные вирусом 24 байта старого начала */

lseek( f, −80, SEEK_END );

r=_dos_read( f, buf, 24, &q );

if ((r)||(q!=24)) {printf(” – ошибка чтения!”); _dos_close(f); return; }

/* Определяем тип программы */

if ((mz==0x4D5A)||(mz==0x5A4D))

{ /* Это exe */

/* Пишем правильные PartPag и PageCnt */

lseek( f, 2, SEEK_SET );

r=_dos_write( f, &buf[2], 4, &q );

if ((r)||(q!=4)) {printf(” – ошибка записи!”); _dos_close(f); return; }

/* Пишем правильные ReloSS и ExeSP */

lseek( f, 14, SEEK_SET );

r=_dos_write( f, &buf[14], 4, &q );

if ((r)||(q!=4)) {printf(” – ошибка записи!”); _dos_close(f); return; }

/* Пишем правильные ReloCS и ExeIP */

lseek( f, 20, SEEK_SET );

r=_dos_write( f, &buf[20], 4, &q );

if ((r)||(q!=4)) {printf(” – ошибка записи!”); _dos_close(f); return; }

}

else

{ /* Это com */

/* Восстанавливаем сохраненные 3 первые байта программы */

lseek( f, 0, SEEK_SET);

r=_dos_write( f, &buf[0], 3, &q );

if ((r)||(q!=3)) {printf(” – ошибка записи!”); _dos_close(f); return; }

}

/* Усекаем файл (переходим на начало вируса

и записываем 0 байт) */

lseek( f, −1740, SEEK_END);

r=_dos_write( f, buf, 0, &q);

/* Закрываем файл */

_dos_close(f);

printf(”теперь исцелен!\n”);

return;

}

Глава 7 BBS и FTN-сети

В этой главе описаны методы взлома BBS и FTN-сетей, как программные, так и «обманные». Представлен исходный текст программы-взломщика с комментариями. Подробно рассказано о «слабых местах» различных программ для BBS и FTN-сетей. Даются рекомендации по защите компьютера от несанкционированного проникновения.

BBS – Bulletin Board System (электронная доска объявлений). Это небольшой информационный центр на базе микрокомпьютера (с винчестером большого объема), к которому пользователи могут подключиться через свой компьютер по телефонной сети в режиме точка – точка. Работая с BBS, пользователи могут не только скопировать оттуда имеющийся файл, но и оставить свой. Файлом может являться как письмо, так и обычная программа. Как правило, BBS работает в ночное время, а днем это обычный телефонный номер. Главным на BBS является системный оператор (SysOp), который и назначает ее правила и тематику. Услуги BBS часто являются бесплатными, для связи с ней достаточно обычной терминальной программы. При первом входе нужно зарегистрироваться, затем абоненту выделяется определенный промежуток времени для работы. Часто выделяемого времени недостаточно, тогда появляется потребность к взлому BBS. О том, как надо звонить на подобные BBS, как получать оттуда файлы и писать письма, можно узнать в специальной литературе. Поставленная задача – рассказать читателю, каким образом можно повысить себе уровень доступа или получить полный доступ к компьютеру. Для системных операторов это будет лишним поводом задуматься о том, как страшны последствия безграмотности…

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Создаем вирус и антивирус»

Представляем Вашему вниманию похожие книги на «Создаем вирус и антивирус» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Создаем вирус и антивирус»

Обсуждение, отзывы о книге «Создаем вирус и антивирус» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x