Головна сторінка Випадкова сторінка КАТЕГОРІЇ: АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія |
Ethics and Moral PhilosophyДата добавления: 2015-10-19; просмотров: 477
Далее приведен исходный код резидентного COM вируса, который заражает файлы внедрением в начало. 1. Выделяем память, копируем туда себя и запускаемся там с метки next
2. Проверяем установлен ли наш вирус в памяти - вызываем int 21h с ax=0FFFFh, если уже установлен прыгаем на выход.
3. Устанавливаем наш обработчик прерывания int 21h.
4. Восстанавливаем значения всех сегментных регистров.
5. Восстанавливаем в памяти носитель, поднимаем его к PSP и передаем ему управление.
Далее идет резидентная часть, этапы функционирования которой имеют свою нумерацию и расположены не по порядку исполнения. Выполнение начинается с пункта 1 – метка New_Int21.
11. Закрываем файл и восстанавливаем регистры.
12. Прыжок на оригинальный обработчик int 21h.
1. Проверяем это запрос на зараженность памяти от другой копии вируса (ax=0FFFFh) или нет. Если да, то увеличиваем ax на 1 (становится ax=0) и возвращаемся из прерывания.
2. Проверяем вызывается подфункция запуска программы (4B00h), если нет – передаем управление оригинальному обработчику. Если да, сохраняем регистры.
3. Открываем файл, это исполняемый файл и его имя уже в ds:dx.
4. В области видеопамяти (0A000h) строим зараженную программу, для этого копируем в начало области тело вируса.
5. Читаем после тела вируса тело жертвы из файла.
6. Проверяем максимальный размер.
7. Проверяем начало жертвы на нашу сигнатуру – метку заражения.
8. Проверяем не EXE ли это.
9. Перемещаем указатель в начало жертвы.
10. Пишем зараженную программу в файл и прыгаем на следующий этап.
13. Область данных вируса и моделируемый носитель, состоящий из одной команды ret.
Порядок выполнения работы
1. Набрать, скомпилировать и исследовать работу простейшего антивируса из примера. 2. Изменить его под свой вирус, сделать сигнатуру - 16 байт. 3. Добавить интерфейс с выводом сообщения о том, что файл заражен, его имя и запросом на лечение, с вариантом действий: да / нет. 4. Набрать пример резидентного COM вируса и исследовать его работу в отладчике. 5. Создать резидентный монитор, который будет блокировать действия программ, которые считывают 4 байта и затем переводят указатель чтения/записи в конец файла.
Содержание отчета по выполненной работе
Отчет должен содержать номер и наименование лабораторной работы, данные о студентах, ее выполнивших, исходные тексты разработанных программ и исполняемые файлы с ними в электронном виде и выводы по результатам проделанной работы.
Контрольные вопросы 1. Какие виды антивирусов бывают. 2. Какие методы используют антивирусы. 3. Какие функции работают с файлами. 4. Каким образом обеспечивается резидентность. 5. Объясните работу предложенного фрагмента из лабораторной.
|