КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Алгоритм работы резидентного COM - вируса
Несколько слов о резидентных программах Вы, наверное, знаете, как строятся резидентные программы. В этом пункте мы немного поговорим об их организации и функционировании. Резидентными называют программы, которые после своего завершения остаются в памяти и активизируются при наступлении каких - либо событий в вычислительной системе. Такими событиями могут быть, например, нажатие "горячей" комбинации клавиш, выполнение некоторых операций с дисками и т. п. Но в любом случае программа получает управление при тех или иных условиях. Все резидентные программы строятся одинаково, или почти одинаково, и состоят из двух секций - секции инициализации и собственно резидентной части. Резидентная часть, как правило, состоит из одной или нескольких подпрограмм - обработчиков прерываний и находится в памяти во время сеанса работы компьютера. Такие подпрограммы могут полностью подменять собой системные обработчики или только служить их дополнением.Естественно,для того,чтобы резидентная часть получила управление, необходимо заменить соответствующие вектора в таблице векторов прерываний на точки входа в заново установленные обработчики. Эту функцию и выполняет секция инициализации, которая всегда выполняется при запуске программы первой. После перехвата прерываний, которые должна обрабатывать резидентная часть, секция инициализации завершает программу, используя для этой цели прерывание или функцию резидентного завершения MS DOS. В результате резидентная часть остается в памяти и активизируется в случаях, предусмотренных автором программы. Часть инициализации в процессе работы больше не потребуется,поэтому оставлять ее в памяти бессмысленно, и она "затирается" MS DOS в случае необходимости. Рассмотрим один из возможных алгоритмов работы резидентного COM - вируса. По своей сути резидентный вирус отличается от обычной резидентной программы только тем, что он размножается сам по себе, независимо от желания пользователя. Значит, построить его можно по той же схеме, по которой пишутся обычные TSR - программы. Но сначала выясним, что должны делать секция инициализации вируса и его резидентная часть. Итак: Секция инициализации выполняет следующие действия:
В том случае, если резидентная часть вируса уже находится в памяти, он просто передает управление зараженной программе. Резидентная часть выполняет следующие действия:
Если оператор не будет менять текущий католог или диск, вирус, очевидно, ничего заразить не сможет. Как вы уже заметили, заражением файлов занимается исключительно резидентная часть! Секция инициализации нужна только для инсталляции вируса в память. Кроме того, в отличие от обычной резидентной программы, в вирусе эта секция записывается в память вместе с резидентной частью. Иначе при записи ее в заражаемый файл возникли бы серьезные трудности. Из рассказанного в этом пункте легко сделать вывод о том, насколько резидентный вирус должен быть устроен сложнее обычного. Вместе с тем, в его написании нет ничего магического, и вы без труда разберетесь в следующей программе.
Дата добавления: 2014-11-20; Просмотров: 864; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |