Семантический анализ структуры EXE файла и дисассемблер (с примерами и исходниками), вирусология
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: бесплатные рефераты скачать бесплатно, товар реферат
| Добавил(а) на сайт: Gorev.
Предыдущая страница реферата | 12 13 14 15 16 17 18 19 20 21 22 | Следующая страница реферата
ЕХЕ), и затем исполняет этот файл. Когда программа закончила работу, временный файл удаляется. Если при создании вируса не применялось дополнительных приемов защиты, то вылечить инфицированный
файл очень просто - достаточно удалить код вируса в начале файла,
и программа снова будет работоспособной. Недостаток этого метода
в том, что приходится считывать в память весь код инфицируемой про-
граммы (а ведь бывают экземпляры размером больше 1Мбайт).
Следующий способ заражения файлов - метод переноса который является самым совершенным из всех ранее перечисленных. Вирус
размножается следующим образом: при запуске инфицированной программы тело вируса из нее считывается в память. Затем ведется поиск
неинфицированной программы. В память считывается ее начало,
по длине равное телу вируса. На это место записывается тело вируса.
Начало программы из памяти дописывается в конец файла. Отсюда название метода - "метод переноса". После того, как вирус инфицировал
один или несколько файлов, он приступает к исполнению программы,
из которой запустился. Для этого он считывает начало инфицированной
программы, сохраненное в конце файла, и записывает его в начало файла, восстанавливая работоспособность программы. Затем вирус удаляет код начала
программы из конца файла, восстанавливая оригинальную длину файла, и
исполняет программу. После завершения программы вирус вновь записывает свой
код в начало файла, а оригинальное начало программы - в конец. Этим методом
могут быть инфицированы даже антивирусы, которые проверяют свой код на
целостность, так как запускаемая вирусом программа имеет в точности такой
же код, как и до инфицирования.
Рассмотрим алгоритм распространения Вируса.
Overwrite-вирус:
1. Открыть файл, из которого вирус получил управление.
2. Считать в буфер код вируса.
3. Закрыть файл.
4. Искать по маске подходящий для заражения файл.
5. Если файлов больше не найдено, перейти к пункту 11.
6. Открыть найденный файл.
7. Проверить, не заражен ли найденный файл этим вирусом.
8. Если файл заражен, перейти к пункту 10.
9. Записать в начало файла код вируса.
10. Закрыть файл (по желанию можно заразить от одного до всех фай-
лов в каталоге или на диске).
11. Выдать на экран какое-либо сообщение об ошибке, например
"Abnormal program termination" или "Not enough memory", - как бы, пусть
пользователь не слишком удивляется тому, что программа не запустилась.
12. Завершить программу.
В большинстве случаев для написания вируса широко используются
функции DOS-а. Их достаточно много всех не будем рассматривать, приведу
пример только одного из них.
DOS, функция 21h
Считать произвольную запись файла
Вход:
AH-21h
DS:DX - адрес открытого FCB (Таблица Б-2)
Выход:
AL=OOh, если чтение было успешным и DTA заполнена данными
AL°01h, если достигнут конец файла (EOF) и чтения не было
AL=02h, если произошел выход за сегмент (чтения нет)
AL°03h, если встречен EOF и усеченная запись дополнена нулями
Описание.
Данная функция читает из файла с текущей позиции как с указанной в полях
FCB "Запись с текущей позиции" и "Номер записи при непосредственном доступе
к файлу".
Другие функции:
DOS, функция OOh
Завершить программу
DOS, функция 01h
Считать со стандартного устройства ввода
Рекомендуем скачать другие рефераты по теме: реферат менеджмент, вопросы и ответы.
Категории:
Предыдущая страница реферата | 12 13 14 15 16 17 18 19 20 21 22 | Следующая страница реферата