Как написать компьютерный вирус
Игорь Коваль
Изд. Символ
ISBN 5-93286-006-5
2000
Коваль, Игорь. Как написать компьютерный вирус : Практикум программирования на ассемблере
Игорь Коваль. - СПб. : Символ, 2000. - 189 с.; 21 см. - (Совершенно секретно). Библиогр. в подстроч. примеч.
ISBN 5-93286-006-5, 4000 экз.
В предлагаемой вашему вниманию книге просто и доходчиво рассказывается о принципах работы компьютерных вирусов различных типов и подробно описывается процесс их создания. Книга содержит множество хорошо прокомментированных исходных текстов, различную справочную информацию. Прочитав эту книгу, вы не только в совершенстве освоите язык ассемблера и научитесь создавать собственные вирусные программы, но и повысите свой профессиональный уровень. Кроме того, устойчивое мнение о том, что "вирусы пишут только гении, мудрецы и "посвященные" покинет вас навсегда. Пособие рассчитано на пользователей, знакомых с языком ассемблера процессоров семейства х86 фирмы Intel, и может быть полезно профессиональным программистам, студентам технических ВУЗов и всем, кто интересуется программированием для персональных компьютеров на языках низкого уровня.
Игорь Коваль - инженер-электронщик, увлекающийся программированием. Изучая возможности ассемблера, он написал с чисто научными целями множество компьютерных вирусов, некоторые из которых представлены в этой книге. Является автором нескольких статей о компьютерных вирусах, опубликованных на сайте "Территория взлома" (www.hackzone.ru).
Содержание
- Введение
- Часть 1. COM - вирусы
- Глава 1. Разработка нерезидентной вирусной программы
- 1.1 Загрузка и выполнение COM - программы
- 1.2 Как вирус может заразить COM - файл
- 1.3 Работа вируса в зараженной программе
- 1.4 Как начинается распространение вируса
- 1.5 Начало работы
- 1.6 Вирус получает управление
- 1.7 Восстанавливаем зараженную программу
- 1.8 Запоминаем содержимое DTA
- 1.9 Ищем подходящий файл
- 1.10 Читаем исходные три байта
- 1.11 Выполняем необходимые расчеты
- 1.12 Проверяем файл на зараженность
- 1.13 Заражаем COM - программу
- 1.14 Восстанавливаем DTA
- 1.15 Передаем управление зараженной программе
- 1.16 Область данных вирусной программы
- 1.17 Завершаем запускающую программу
- 1.18 Текст нерезидентного COM - вируса
- 1.19 Комментарии
- 1.20 Испытание вируса
- Глава 2. Разработка резидентной вирусной программы
- 2.1 Понятие резидентного ( TSR ) вируса
- 2.2 Несколько слов о резидентных программах
- 2.3 Алгоритм работы резидентного COM - вируса
- 2.4 Заголовок вируса
- 2.5 Вирус начинает работу
- 2.6 Сохраняем регистры процессора
- 2.7 Создаем секцию инициализации
- 2.8 Запрашиваем блок памяти
- 2.9 Делаем вирус " незаметным "
- 2.10 Получаем вектора прерываний
- 2.11 Копируем вирусный код в память
- 2.12 Устанавливаем вектора прерываний на вирусные обработчики
- 2.13 Пишем резидентную часть
- 2.14 Заражаем COM - файл
- 2.15 Восстанавливаем регистры
- 2.16 Пишем обработчики прерываний
- 2.17 Обработчик Int 13h
- 2.18 Обработчик Int 21h
- 2.19 Обработчик Int 24h
- 2.20 Обработчик Int 2Fh
- 2.21 Обработчик Int 28h
- 2.22 Область данных вируса
- 2.23 Процедура идентификации COMMAND.COM
- 2.24 Завершаем программу
- 2.25 Текст резидентного COM - вируса
- 2.26 Комментарии
- 2.27 Испытание вируса
- Часть 2. EXE - вирусы
- Глава 1. Разработка нерезидентного EXE - вируса
- 1.1 Формат EXE - файла на диске
- 1.2 Загрузка и выполнение EXE - программы
- 1.3 Как вирус может заразить EXE - файл
- 1.4 Работа вируса в зараженной программе
- 1.5 Начало работы
- 1.6 Вирус получает управление
- 1.7 Ищем подходящий файл
- 1.8 Читаем заголовок файла
- 1.9 Производим необходимые вычисления
- 1.10 Заражаем EXE - программу
- 1.11 Восстанавливаем DTA
- 1.12 Восстанавливаем точку входа
- 1.13 Область данных вируса
- 1.14 Используемые процедуры
- 1.15 Работа завершена
- 1.16 Полный текст нерезидентного EXE - вируса
- 1.17 Несколько слов об испытании вируса
- Глава 2. Разработка резидентного EXE - вируса
- 2.1 Алгоритм работы резидентного EXE - вируса
- 2.2 Защита от программ - антивирусов
- 2.3 Как реализовать защиту от эвристического анализа
- 2.4 Реализуем предложенный алгоритм
- 2.5 Пишем промежуточный обработчик
- 2.6 Защита от обнаружения вируса в файле
- 2.7 Несколько слов о вредных действиях вирусной программы
- 2.8 Полный текст резидентного EXE - вируса
- Часть 3. Загрузочные вирусы
- Глава 1. Разработка загрузочной вирусной программы
- 1.1 Краткие сведения о начальной загрузке персонального компьютера
- 1.2 Понятие о загрузочных вирусах
- 1.3 Алгоритм работы загрузочного вируса
- 1.4 Как начинается распространение вируса
- 1.5 Начало работы
- 1.6 Вирус получает управление
- 1.7 Защита от антивирусных программ
- 1.8 Перехватываем Int 13h
- 1.9 Читаем исходную BOOT - запись
- 1.10 Заражаем MBR винчестера
- 1.11 Пишем обработчик прерывания Int 13h
- 1.12 Используемые процедуры
- 1.13 Область данных вируса
- 1.14 Пишем секцию инсталляции
- 1.15 Текст загрузочного вируса
- 1.16 Комментарии
- 1.17 Испытание вируса
- Глава 2. Еще один BOOT-вирус (Глава 6 (3 часть/глава 2) была добавлена позднее)
- 2.1 Краткие итоги предыдущей главы
- 2.2 Объясняем полученные результаты
- 2.3 Разрабатываем новый алгоритм активизации
- 2.4 О перехвате Int 21h программой, загружаемой из Master Boot Record
- 2.5 О применении вектора Int 16h
- 2.6 Общий алгоритм работы вируса
- 2.7 Полный текст созданного вируса
- 2.8 Испытание вируса
- 2.9 Вместо комментария
- Заключение
- Литература
- Приложение 1. Краткий справочник по функциям MS DOS и BIOS
- Приложение 2. Формат загрузочной записи для MS DOS различных версий
- Приложение 3. Коды ошибок при выполнении функций MS DOS и BIOS