Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вирусы [D6, WinXP]


Павел ©   (2004-02-08 18:56:00) 

Здравствуйте! Большинство вирусов используют размножение: при запуске ищут и дописывают EXE-файл. Хоть примерно как это делается? Нужно программно дизассемблировать? (исключительно ради любопытства).


DiGiTaL_BuSTaRD   (2004-02-08 19:19:00) [1]

Ваще в Windows такой необходимости нет. И лично мне такие вирусы уже давно не попадались. Но в теории это выглядит примерно так: у exe'шника есть заголовок; в этом заголовке в четко определенном месте валяется число, которое показывает откуда начинается собственно программа (т.н. точка входа); запоминаем это чилсло; в конец файла добалвляем свой код, который должен завершаться чем-то типа jmp <нормальная_точка_входа>(надеюсь с asm'ом знаком), чтобы exe'шник после нашего вируса выполнял и собственно стандартные возложенные на него функции; ну и наконец переписываем точку входа в заголовке на наш блок. Есть еще несколько способов (это еще не считая всяких TSR-вирусов), этот помоему самый наглядный.


Наверх

Титульная страница Поиск, карта сайта Написать письмо