Как написать компьютерный вирус

Игорь Коваль
Изд. Символ
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