КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Тема 4.2. Способы заражения программ.· метод приписывания. Код вируса приписывается к концу файла заражаемой программы, и тем или иным способом осуществляется переход вычислительного процесса на команды этого фрагмента; · метод оттеснения. Код вируса располагается в начале зараженной программы, а тело самой программы приписывается к концу. · метод вытеснения. Из начала (или середины) файла «изымается» фрагмент, равный по объему коду вируса, и приписывается к концу файла. Сам вирус записывается в освободившееся место. Разновидность метода вытеснения — когда оригинальное начало файла не сохраняется вообще. Такие программы являются «убитыми насмерть» и не могут быть восстановлены никаким антивирусом. · прочие методы. Сохранение вытесненного фрагмента программы в «кластерном хвосте» файла и пр. Структура СОМ- и ЕХЕ-программ СОМ-программа представляет собой участок кода и данных, начинающийся с исполняемой команды и занимающий не более 64Кбайт. Например, такую структуру имеет командный процессор СОММАND.СОМ операционной системы МSDOS, версий до 6.22 включительно. ЕХЕ-программа имеет гораздо более сложную структуру. В начале файла ЕХЕ-программы располагается заголовок длиной 28 байт, содержащий следующие данные: · MZш — признак ЕХЕ-файла; · PartPag — длина файла по модулю 512; · РаgeCnt — длина файла в 512-байтовых страницах; · ReloCnt — размер настроечной таблицы; · HdrSize — размер заголовка; · MinMen — минимум требуемой памяти; · МахМеn — максимум требуемой памяти; · Relo-SS — относительный сегмент стека; · ExeSP — смещение указателя стека; · ChkSum — контрольная сумма файла; · ЕхеIР — смещение точки входа; · ReloCS — относительный сегмент точки входа; · TableOff— смещение настроечной таблицы; · Overlay — номер оверлейного сегмента. Поля ReloCS и ЕхеIР определяют местоположение точки входа в программу, поля ЕхеSР и ReloSS — местоположение стека, поля PartPag и PageCnt — размер корневого сегмента программы. Вычисленный по PartPag и PageCnt; размер программы может не совпадать с реальным размером файла. Такие программы называются «сегментированными» или «содержащими внутренние оверлеи». Грамотные авторы вирусов избегают заражать такие программы. После заголовка может располагаться специальная таблица, точное местоположение которой определяется полем TableOff, а размер — полем ReloCnt. В этой таблице хранятся адреса тех слов в коде программы, которые модифицируются операционной системой во время загрузки программы.
|