Вирусы

Автор: Пользователь скрыл имя, 27 Февраля 2013 в 09:59, курсовая работа

Описание работы

Компьютерные вирусы со времени своего появления
распространились чрезвычайно широко . Сейчас уже
трудно найти человека,который бы ни разу не слышал
об этих " существах " .И вместе с тем подавляющее
большинство пользователей почти ничего не знают о
том, что это такое, и склонны приписывать виру-

Содержание

ЧАСТЬ 1 . COM - ВИРУСЫ ....................... 6

ГЛАВА 1 . РАЗРАБОТКА НЕРЕЗИДЕНТНОЙ
ВИРУСНОЙ ПРОГРАММЫ .............. 6
1.1 Загрузка и выполнение
COM - программы ..................... 6
1.2 Как вирус может заразить
COM - файл .......................... 7
1.3 Работа вируса в
зараженной программе ................ 8
1.4 Как начинается
распространение вируса .............. 9
1.5 Начало работы ....................... 10
1.6 Вирус получает управление ........... 10
1.7 Восстанавливаем зараженную
программу ........................... 12
1.8 Запоминаем содержимое DTA ........... 12
1.9 Ищем подходящий файл ................ 13
1.10 Читаем исходные три байта ........... 15
1.11 Выполняем необходимые расчеты ....... 16
1.12 Проверяем файл на зараженность ...... 18
1.13 Заражаем COM - программу ............ 19
1.14 Восстанавливаем DTA ................. 20
1.15 Передаем управление
зараженной программе ................ 20
1.16 Область данных вирусной программы ... 21
1.17 Завершаем запускающую программу ..... 21
1.18 Текст нерезидентного COM - вируса ... 23
1.19 Комментарии ......................... 29
1.20 Испытание вируса .................... 29

ГЛАВА 2 . РАЗРАБОТКА РЕЗИДЕНТНОЙ
ВИРУСНОЙ ПРОГРАММЫ .............. 30
2.1 Понятие резидентного
( TSR ) вируса ...................... 30
2.2 Несколько слов о
резидентных программах .............. 30
2.3 Алгоритм работы
резидентного COM - вируса ........... 31
2.4 Заголовок вируса .................... 34
2.5 Вирус начинает работу ............... 34
2.6 Сохраняем регистры процессора ....... 38
2.7 Создаем секцию
инициализации ....................... 39
2.8 Запрашиваем блок памяти ............. 41
2.9 Делаем вирус " незаметным " ......... 44
2.10 Получаем вектора прерываний ......... 46
2.11 Копируем вирусный код в память ...... 48
2.12 Устанавливаем вектора прерываний
на вирусные обработчики ............. 48
2.13 Пишем резидентную часть ............. 50
2.14 Заражаем COM - файл ................. 51
2.15 Восстанавливаем регистры ............ 56
2.16 Пишем обработчики прерываний ........ 57
2.17 Обработчик Int 13h .................. 58
2.18 Обработчик Int 21h .................. 60
2.19 Обработчик Int 24h .................. 62
2.20 Обработчик Int 2Fh .................. 62
2.21 Обработчик Int 28h .................. 64
2.22 Область данных вируса ............... 64
2.23 Процедура идентификации COMMAND.COM.. 65
2.24 Завершаем программу ................. 66
2.25 Текст резидентного COM - вируса ..... 67
2.26 Комментарии ......................... 81
2.27 Испытание вируса .................... 82


ЧАСТЬ 2 . EXE - ВИРУСЫ ....................... 82

ГЛАВА 1 . РАЗРАБОТКА НЕРЕЗИДЕНТНОГО
EXE - ВИРУСА .................... 82
1.1 Формат EXE - файла на диске ......... 82
1.2 Загрузка и выполнение
EXE - программы ..................... 84
1.3 Как вирус может заразить
EXE - файл .......................... 86
1.4 Работа вируса в
зараженной программе ................ 86
1.5 Начало работы ....................... 88
1.6 Вирус получает управление ........... 88
1.7 Ищем подходящий файл ................ 89
1.8 Читаем заголовок файла .............. 92
1.9 Производим необходимые
вычисления .......................... 93
1.10 Заражаем EXE - программу ............ 98
1.11 Восстанавливаем DTA ................. 99
1.12 Восстанавливаем точку входа ......... 100
1.13 Область данных вируса ............... 101
1.14 Используемые процедуры .............. 103
1.15 Работа завершена .................... 104
1.16 Полный текст
нерезидентного EXE - вируса ......... 104
1.17 Несколько слов об
испытании вируса .................... 112

ГЛАВА 2 . РАЗРАБОТКА РЕЗИДЕНТНОГО
EXE - ВИРУСА .................... 113
2.1 Алгоритм работы резидентного
EXE - вируса ........................ 113
2.2 Защита от
программ - антивирусов .............. 115
2.3 Как реализовать защиту от
эвристического анализа .............. 116
2.4 Реализуем предложенный алгоритм ..... 119
2.5 Пишем промежуточный обработчик ...... 121
2.6 Защита от обнаружения вируса в файле. 122
2.7 Несколько слов о вредных
действиях вирусной программы......... 122
2.8 Полный текст резидентного

Работа содержит 1 файл

virur.doc

— 1.23 Мб (Скачать)

                                                     КАК НАПИСАТЬ КОМПЬЮТЕРНЫЙ ВИРУС

          -------------------------------------

 

 

                       СОДЕРЖАНИЕ

                    ----------------

 

                                                  стр.

 

    ВВЕДЕНИЕ ..................................... 5

 

 

    ЧАСТЬ 1 . COM - ВИРУСЫ ....................... 6

 

       ГЛАВА 1 . РАЗРАБОТКА  НЕРЕЗИДЕНТНОЙ

                 ВИРУСНОЙ ПРОГРАММЫ .............. 6

        1.1  Загрузка  и выполнение

             COM - программы ..................... 6

        1.2  Как вирус  может заразить

             COM - файл .......................... 7

        1.3  Работа  вируса в

             зараженной программе ................ 8

        1.4  Как начинается

             распространение вируса .............. 9

        1.5  Начало  работы ....................... 10

        1.6  Вирус  получает управление ........... 10

        1.7  Восстанавливаем  зараженную

             программу ........................... 12

        1.8 Запоминаем содержимое DTA ........... 12

        1.9  Ищем подходящий файл ................ 13

        1.10 Читаем исходные три байта  ........... 15

        1.11 Выполняем необходимые расчеты  ....... 16

        1.12 Проверяем  файл на зараженность ...... 18

        1.13 Заражаем COM - программу ............ 19

        1.14 Восстанавливаем  DTA ................. 20

        1.15 Передаем  управление

             зараженной программе ................ 20

        1.16 Область  данных вирусной программы ... 21

        1.17 Завершаем запускающую программу ..... 21

        1.18 Текст нерезидентного COM - вируса ... 23

        1.19 Комментарии  ......................... 29

        1.20 Испытание  вируса .................... 29

 

       ГЛАВА 2 . РАЗРАБОТКА  РЕЗИДЕНТНОЙ

                 ВИРУСНОЙ ПРОГРАММЫ .............. 30

        2.1  Понятие  резидентного

             ( TSR ) вируса ...................... 30

        2.2  Несколько  слов о

             резидентных программах .............. 30

        2.3  Алгоритм  работы

             резидентного COM - вируса ........... 31

        2.4  Заголовок  вируса .................... 34

        2.5  Вирус  начинает работу ............... 34

        2.6  Сохраняем  регистры процессора ....... 38

        2.7  Создаем  секцию

             инициализации ....................... 39

        2.8  Запрашиваем  блок памяти ............. 41

        2.9  Делаем  вирус " незаметным " ......... 44

        2.10 Получаем вектора прерываний ......... 46

        2.11 Копируем вирусный код в  память ...... 48

        2.12 Устанавливаем вектора прерываний

             на вирусные обработчики ............. 48

        2.13 Пишем резидентную часть ............. 50

        2.14 Заражаем COM - файл ................. 51

        2.15 Восстанавливаем регистры ............ 56

        2.16 Пишем обработчики прерываний ........ 57

        2.17 Обработчик Int 13h .................. 58

        2.18 Обработчик Int 21h .................. 60

        2.19 Обработчик Int 24h .................. 62

        2.20 Обработчик Int 2Fh .................. 62

        2.21 Обработчик Int 28h .................. 64

        2.22 Область  данных вируса ............... 64

        2.23 Процедура  идентификации COMMAND.COM.. 65

        2.24 Завершаем  программу ................. 66

        2.25 Текст резидентного COM - вируса ..... 67

        2.26 Комментарии  ......................... 81

        2.27 Испытание  вируса .................... 82

 

 

    ЧАСТЬ 2 . EXE - ВИРУСЫ ....................... 82

 

       ГЛАВА 1 . РАЗРАБОТКА  НЕРЕЗИДЕНТНОГО

                 EXE - ВИРУСА .................... 82

        1.1  Формат EXE - файла на диске ......... 82

        1.2  Загрузка  и выполнение

             EXE - программы ..................... 84

        1.3  Как вирус  может заразить

             EXE - файл .......................... 86

        1.4  Работа вируса в

             зараженной программе ................ 86

        1.5  Начало работы ....................... 88

        1.6  Вирус получает управление ........... 88

        1.7  Ищем подходящий файл ................ 89

        1.8  Читаем заголовок файла  .............. 92

        1.9  Производим необходимые

             вычисления .......................... 93

        1.10 Заражаем EXE - программу ............ 98

        1.11 Восстанавливаем  DTA ................. 99

        1.12 Восстанавливаем  точку входа ......... 100

        1.13 Область  данных вируса ............... 101

        1.14 Используемые  процедуры .............. 103

        1.15 Работа  завершена .................... 104

        1.16 Полный  текст

             нерезидентного EXE - вируса ......... 104

        1.17 Несколько  слов об

             испытании вируса .................... 112

 

       ГЛАВА 2 . РАЗРАБОТКА  РЕЗИДЕНТНОГО

                 EXE - ВИРУСА .................... 113

        2.1  Алгоритм  работы резидентного

             EXE - вируса ........................ 113

        2.2  Защита  от

             программ - антивирусов .............. 115

        2.3  Как реализовать  защиту от

             эвристического анализа .............. 116

        2.4  Реализуем предложенный алгоритм ..... 119

        2.5  Пишем  промежуточный обработчик ...... 121

        2.6  Защита  от обнаружения вируса в файле. 122

        2.7  Несколько  слов о вредных

             действиях вирусной программы......... 122

        2.8 Полный текст резидентного

             EXE - вируса ........................ 123

 

 

    ЧАСТЬ 3 . ЗАГРУЗОЧНЫЕ  ВИРУСЫ ................. 143

 

       ГЛАВА 1 . РАЗРАБОТКА  ЗАГРУЗОЧНОЙ

                 ВИРУСНОЙ ПРОГРАММЫ .............. 143

        1.1  Краткие  сведения о начальной

             загрузке персонального компьютера ... 143

        1.2  Понятие  о загрузочных вирусах ....... 144

        1.3  Алгоритм  работы загрузочного

             вируса .............................. 145

        1.4  Как начинается  распространение

             вируса .............................. 147

        1.5  Начало  работы ....................... 147

        1.6  Вирус  получает управление ........... 148

        1.7  Защита  от антивирусных программ ..... 150

        1.8  Перехватываем Int 13h ............... 152

        1.9  Читаем  исходную BOOT - запись ....... 153

        1.10 Заражаем MBR винчестера ............. 154

        1.11 Пишем обработчик  прерывания Int 13h . 156

        1.12 Используемые  процедуры .............. 161

        1.13 Область данных вируса ............... 162

        1.14 Пишем секцию  инсталляции ............ 163

        1.15 Текст загрузочного вируса ........... 166

        1.16 Комментарии ......................... 176

        1.17 Испытание  вируса .................... 177

 

 

    ЗАКЛЮЧЕНИЕ ................................... 177

 

    ПРИЛОЖЕНИЕ 1

    Краткий справочник по  функциям

    MS DOS и BIOS ................................ 178

 

    ПРИЛОЖЕНИЕ 2

    Формат загрузочной записи  для MS DOS

    различных версий ............................. 186

 

    ПРИЛОЖЕНИЕ 3

    КОДЫ ОШИБОК ПРИ ВЫПОЛНЕНИИ  ФУНКЦИЙ

    MS DOS и BIOS ................................ 192

 

    ЛИТЕРАТУРА ................................... 194

 

 

                        ВВЕДЕНИЕ

 

    Компьютерные  вирусы  со времени  своего появления

    распространились  чрезвычайно  широко . Сейчас  уже

    трудно найти человека,который  бы ни разу не слышал

    об этих " существах  " .И вместе с тем  подавляющее

    большинство пользователей  почти ничего  не знают о

    том,  что это такое,  и склонны  приписывать виру-

    сам различные фантастические  возможности,  а также

    сильно преувеличивать  их опасность.Словом,эта тема

    окутывается  завесой  таинственности .Такое положе-

    ние возникло,  главным  образом, из - за почти пол-

    ного отсутствия специальной  литературы  по данному

    вопросу ( причина этого  вполне понятна ).А в имею-

    щейся литературе для  широкого круга читателей ино-

    гда можно встретить   ошибочные и  неправдоподобные

    сведения .Например, в одной очень распространенной

    и читаемой  книге  сказано,  что  некоторые   вирусы

    "выживают" в компьютере  даже после выключения  пи-

    тания !Неизвестно,что  имел ввиду автор,но эта фра-

    за полностью абсурдна . Дело в том,  что  при вык-

    лючении питания содержимое  оперативной памяти  те-

    ряется, в ПЗУ записать  что - либо невозможно, а  в

    CMOS - памяти свободного  места для хранения вирус-

    ного  кода никогда  не хватит .Вирус может "выжить"

    в компьютере разве   что на жестком диске, но  этой

    способностью обладают  все вирусные программы .

    Книга, которая предлагается  вашему вниманию, напи-

    сана с  использованием  собственных разработок, на-

    блюдений и  экспериментов   автора .Изложение  рас-

    считано на пользователей, знакомых с языком ассем-

    блера микропроцессоров  семейства 8086 фирмы INTEL.

    Автор  рассказывает  о  принципах  работы  компью-

    терных  вирусов и  подробно описывает процесс   соз-

    дания нерезидентных,  резидентных и загрузочных ви-

    русов. Разработка  программ  ведется от простого к

    сложному. Предыдущие  программы  становятся основой

    для  разработки  последующих  . Читатель  найдет  в

    книге большое количество  хорошо прокомментирован-

    ных  исходных текстов  .Каждая фаза  создания виру-

    сов подробно объясняется  .В общем,читайте и совер-

    шенствуйтесь !Разобравшись  с программами,приведен-

    ными в книге,вы сможете  создавать  собственные ви-

    русы,  а главное - повысите  свой  профессиональный

    уровень .Кроме того, устойчивое  мнение,  что "Ви-

    русы пишут только  гении,мудрецы  и " посвященные  "

    покинет вас навсегда .

    УДАЧИ !

    18.08.1998

    Автор .

 

 

                  ЧАСТЬ 1 . COM - ВИРУСЫ

 

 

           ГЛАВА  1 . РАЗРАБОТКА НЕРЕЗИДЕНТНОЙ

                    ВИРУСНОЙ ПРОГРАММЫ

 

    * Эта глава написана "по мотивам" [ 3 ] и не  пре-

      тендует на оригинальность. Предложенная в  книге

      П.Л.Хижняка программа  существенно  переработана,

      исправлены  замеченные  ошибки и  глюки. Так что

      Главу 1 можно рассматривать  как "ре-мэйк" разра-

      ботки тов. Хижняка.

 

 

        1.1  Загрузка и выполнение COM - программы

 

    Для  того,  чтобы дальнейшее изложение  стало  более

    понятным, следует  немного рассказать  о действиях

    MS DOS при запуске программы типа COM.

    Для  запуска программ в системе  MS DOS используется

    специальная  функция  EXEC . Действия этой  функции

    при  запуске COM - программы выглядят  так :

 

    1. Запускаемой   программе  отводится  вся   свобод-

    ная в данный момент оперативная память .Сегментная

    часть  начального адреса этой памяти  обычно называ-

    ется  начальным сегментом программы.

 

    2. По  нулевому  смещению в  сегменте, определяемом

    начальным сегментом  программы,  EXEC строит специ-

    альную  служебную структуру  - так  называемый  PSP

    ( Program Segment Prefix ),  в котором   содержится

    информация,необходимая  для правильной работы прог-

    раммы . Заполняет PSP операционная  система ( ОС ),

    а его размер всегда  равен 100h ( 256 ) байт .

 

    3. Сразу вслед за PSP загружается  сама COM - прог-

    рамма .

 

    4. EXEC  выполняет настройку  регистров процессора.

    При этом устанавливаются  такие значения :CS = DS =

    = SS = ES указывают на начальный   сегмент  програ-

    ммы,  регистр IP инициализируется числом  100h,  а

    регистр SP - числом 0fffeh .

 

    5. Теперь загруженную  COM - программу можно испол-

    нить . Для этого EXEC передает  управление по адре-

    су CS : 100h.После завершения  программы управление

    передается обратно в  EXEC,  а оттуда программе  -

    предку .

 

    Таким образом,по адресу CS : 100h обязательно дол-

    жна стоять первая  исполняемая команда .Чаще  всего

    это команда перехода,  но допустимо использовать и

    другие .Следует также  напомнить, что в MS DOS раз-

    мер COM - файла не может  превышать 64 Кбайт. В са-

    мом деле, ведь COM - формат  предполагает  размеще-

    ние программных кодов,  данных и стека в одном сег-

    менте оперативной памяти . А  размер  сегмента как

    раз и ограничен 64 Кбайтами .

 

 

         1.2 Как вирус  может заразить COM - файл

 

    Под заражением понимают  присоединение вирусом сво-

    его кода к файлу  .При этом вирус должен так   моди-

    фицировать  заражаемый  файл, чтобы получить управ-

    ление при его запуске .

    Существует несколько  методов заражения  COM - про-

    грамм.Вирусный код может  записываться в конец, на-

    чало и даже в середину  файла.Каждый из этих спосо-

    бов имеет свои достоинства  и недостатки.Мы же рас-

    смотрим запись вирусного кода в конец файла .Такой

    прием используется в  подавляющем большинстве виру-

    сов, и обеспечивает  хорошие результаты при сравни-

    тельно простой реализации .

    Итак, вирус записывает  свой код в конец файла .Для

    того,чтобы при старте  этот код получил  управление

    и начал выполняться,  во время заражения программа

    несколько  модифицируется .

    С  этой целью   используется  трехбайтовая  команда

    прямого  ближнего  перехода . Вирус записывает  эту

    команду вместо первых  трех байт заражаемого файла,

    а  исходные  три   байта  сохраняет в своей  области

    данных .Теперь при запуске   зараженной   программы

Информация о работе Вирусы