EXE-вирусы для MS DOS презентация

Содержание

Форматы EXE-файлов

Слайд 1EXE-вирусы для MS DOS
Неверов А.В.


Слайд 2Форматы EXE-файлов


Слайд 3Формат EXE-программы для MS DOS


Слайд 4Бинарный код файла

MZ-заголовок

Код

Данные


Слайд 5Формат MZ-заголовка

Relocation Table


Слайд 6Значение полей MZ-заголовка


Слайд 7Значение полей MZ-заголовка


Слайд 8Загрузка MZ-файла
1) Определяется участок памяти с размером, достаточным для загрузки программы.
2)

Формируется и заполняется MCB для переменных среды.
3) Создается и заполняется блок памяти для PSP (сегмент:0000h – PSP, сегмент+0010h:0000h – программа). В PSP заносятся необходимые значения.
4) Устанавливается адрес DTA равный PSP:0080h.
5) В рабочую область загрузчика считывается форматированная часть MZ-заголовка (без Relocation Table).
6) Вычисляется длина загрузочного модуля по формуле
Size = ((PageCnt * 512) – (HdrSize * 16)) – PartPag.

Слайд 9Загрузка MZ-файла
7) Вычисляется сегментный адрес для загрузки START_SEG = PSP +

10h.
8) Определяется смещение загрузочного модуля в файле, равное HdrSize * 16.
9) Считывается в память загрузочный модуль, начиная с адреса START_SEG:0000h.
10) Для каждого элемента в таблицу настройки адресов выполняются следующие операции:
a) считываются значения входных смещения и сегмента I_OFF и I_SEG;
б) вычисляется новое значение сегмента RELO_SEG = START_SEG + I_SEG;
в) читается слово по адресу RELO_SEG:I_OFF;
г) к прочитанному слову прибавляется значение START_SEG;
д) полученное значение запоминается по тому же адресу - RELO_SEG:I_OFF.
11) Распределяется память для программы в соответствии с MinMem и MaxMem.

Слайд 10Загрузка MZ-файла
12) Инициализируются регистры:
а) DS = ES = PSP (таким образом,

после загрузки exe-программы регистры DS и ES указывают не на сегменты данных, а на PSP. Следовательно, чтобы программа работала корректно, программист должен самостоятельно выполнить инициализацию этих регистров);
б) AX = результат правильности инициализации драйверов, указанных в командной строке;
в) SS = ReloSS + START_SEG; SP = ExeSP;
г) CS = ReloCS + START_SEG; IP = ExeIP.

Слайд 11Типы вирусов для EXE-программ в MS DOS
Вандалы (Overwrite)
Спутники (Companion)
Создание COM-спутника
Переименование EXE-файла
Внедряемые

(Parasitic)
Стандартное заражение
Внедрение методом сдвига
Внедрение переносом

Слайд 12Вандалы (Overwrite)
Считать тело вируса в буфер
Найти подходящую жертву
Открыть найденный exe-файл
Проверить зараженность

файла
Записать текст вируса в начало файла (поверх имеющейся информации)

Слайд 13Спутники (Companion) Создание COM-спутника
Если в командной строке есть параметры для запускаемого файла

– сохранить их
Найти exe-файл
Проверить наличие «спутника»
Скопировать тело вируса под именем <имя файла>.COM
Передать управление зараженному файлу. При необходимости передать ему параметры командной строки


Слайд 14Спутники (Companion) Переименование EXE-файла
Сохранить параметры командной строки
Найти exe-файл
Проверить, имеется ли для него

спутник с именем, выбранным для инфицирования
Скопировать жертву по выбранным именем
Записать текст вируса в файл со старым именем жертвы
Вернуть управление инфицированному файлу. При необходимости передать ему параметры командной строки

Слайд 15Внедряемые (Parasitic) Стандартное заражение EXE-файла
Текст вируса записывается в конец файла
Чтобы вирус получил

управление возможно два приема:
Модификация MZ-заголовка
Модификация одной из инструкций сегмента кода, как правило, первой

Слайд 16Внедряемые (Parasitic) Внедрение методом сдвига
Найти жертву
Проверить зараженность
Считать тело жертвы (полностью) в буфер
Записать

тело вируса
Записать тело жертвы

Слайд 17Внедряемые (Parasitic) Активация после внедрения методом сдвига
Создать временный файл
Переписать в него текст

жертвы
После выполнения вируса передать управление файлу жертвы
Если есть необходимость, то перед запуском сохранить параметры командной строки, а при передаче управления вернуть их жертве

Слайд 18Внедряемые (Parasitic) Внедрение методом переноса
Из начала файла считывается фрагмент файла, равный по

длине телу вируса
Данный фрагмент записывается в конец заражаемого файла
На его место записывается тело вируса


Слайд 19Внедряемые (Parasitic) Активация после внедрения методом переноса
После срабатывания вируса необходимо восстановить исходный

код зараженного файла во временный файл
После завершения работы вируса запустить текст программы из временного файла
Или можно не использовать временный файл, восстановив рабочую версию жертвы в том же файле, а затем заразив ее вновь

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика