Структура СОМ- и ЕХЕ-программ




СОМ-программа представляет собой участок кода и данных, на­чинающийся с исполняемой команды и занимающий не более 64Кбайт. Например, такую структуру имеет командный процессор COMMAND.СОМ операционной системы MSDOS, версий до 6.22 включительно.

ЕХЕ-программа имеет гораздо более сложную структуру. В нача­ле файла ЕХЕ-программы располагается заголовок длиной 28 байт, содержащий следующие данные:

• MZiu — признак ЕХЕ-файла;

• PartPag — длина файла по модулю 512;

• PageCnt — длина файла в 512-байтовых страницах;

• ReloCnt — размер настроечной таблицы;

• HdrSize — размер заголовка;

• MinMem — минимум требуемой памяти;

• MaxMem — максимум требуемой памяти;

• Relo-SS — относительный сегмент стека;

ExeSP — смещение указателя стека;

• ChkSum — контрольная сумма файла;

• ExelP — смещение точки входа;

• ReloCS — относительный сегмент точки входа;

• TablOff — смещение настроечной таблицы;

• Overlay — номер оверлейного сегмента.

Поля ReloCS и ExelP определяют местоположение точки входа в программу, поля ExeSP и ReloSS — местоположение стека, поля PartPag и PageCnt — размер корневого сегмента программы.

Вычисленный по PartPag и PageCnt размер программы может не совпадать с реальным размером файла. Такие программы называют­ся «сегментированными» или «содержащими внутренние оверлеи». Грамотные авторы вирусов избегают заражать такие программы.

После заголовка может располагаться специальная таблица, точ­ное местоположение которой определяется полем TablOff, а раз­мер — полем ReloCnt. В этой таблице хранятся адреса тех слов в коде программы, которые модифицируются операционной систе­мой во время загрузки программы.

Стандартные методы заражения.

Случай СОМ-программы. Тело вируса приписывается к концу файла, где-то внутри его сохраняются несколько (обычно, три) бай­тов оригинального начала программы, на их место записываются команды перехода на начало вируса. Когда вирус заканчивает вы­полнение предусмотренных им действий, он восстанавливает ориги­нальные байты начала программы и передает туда управление.

Случай ЕХЕ-программы. Тело вируса приписывается к концу файла, в заголовке его модифицируются значения полей, определя­ющих местоположение точки входа и размер программы (иногда еще — местоположения стека). В результате управление получает вирусный код. По окончании работы вирус, используя сохраненные при заражении значения измененных полей, осуществляет переход на оригинальное начало программы.

4. ОСНОВНЫЕ ВИДЫВИРУСОВ И СХЕМЫИХ ФУНКЦИОНИРОВАНИЯ



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: