Оверлейный методЭтот вирус работает по «оверлейному» методу, прикрепляя «жертву» к концу вирусного файла. После выполнения своих «супружеских обязанностей» Chukcha.554 копирует код «жертвы» в «исходную позицию» и… Позвольте, но каким образом тогда сможет выполниться команда «RETN», совершающая «скачок» на адрес 100h, ведь она при этом копировании будет неминуемо уничтожена кодом оригинальной программы?! Нет, это не ошибка. Дело в том, что младшие модели процессоров фирмы Intel выполняют команды, извлекая их из оперативной памяти не по одной, а группами. Первоначально команды оказываются во внутреннем буфере процессора, в так называемом Конвейере команд. Длина этого конвейера постепенно росла вместе с номером версии процессора: Таким образом, при выполнении рассматриваемого вирусного фрагмента «затирались» команды, еще находящиеся в оперативной памяти, а выполнялись — уже оказавшиеся в конвейере. Но из архитектуры процессоров типа Pentium «конвейер команд» был исключен. На практике это означает, что не только многие вирусы, но и почти все системы защиты от несанкционированного копирования, написанные примерно до середины 90-х годов XX века, актуальность потеряли. Разумеется, конкретных способов возврата «жертве» управления почти столько же, сколько и самих вирусов. И не только рассмотреть, но и даже упомянуть все особенности и «тонкости» было бы затруднительно. Тем не менее почти все способы построены на общих принципах и реализованы при помощи ограниченного количества команд. Наиболее сильно сходство заметно при изучении многочисленных и примитивных Студенческих вирусов, созданных начинающими ви — русописателями. Это обстоятельство подтолкнуло разработчиков антивируса DrWEB в 1998 г. к попытке научиться искать в кодах программ типичные фрагменты, принадлежащие новым, еще неизвестным COM-вирусам, анализировать их и автоматически удалять «заразу» из программы. Найденные таким образом вирусы получили в терминологии DrWEB общее имя Ninnyish. Generic.

Еще интересные статьи :