Путеводитель по написанию вирусов: 10. Антитуннелинг — Архив WASM.RU

Все статьи

Путеводитель по написанию вирусов: 10. Антитуннелинг — Архив WASM.RU

Техники туннелинга также используются антивирусами при инсталляции, и все наши попытки найти оригинальный INT 21h пойдут насмарку, потому что они используют наше собственное оружие. И нам это не нравится. Также нас могут туннелить другие вирусы, что совсем беспонтово. Эта система наша и ничья больше! :)

Так как антивирусы используют определенные процедуры, чтобы обнаружить не занимается ли кто-нибудь трейсингом, мы можем использовать те же алгоритмы, чтобы бороться против них: они не защищены от нас. Мы используем процедуру, чтобы активировать traр flag для трейсинга... Можем ли мы использовать другую процедуру, чтобы деактивировать ее? Конечно. Это очень просто. Вместо использования OR, чтобы активировать его, для его деактивирования мы должны использовать AND.

        pushf
        pop     ax
        and     ah,11111110h
        push    ax
        popf

Разве это не прекрасно? :) Мы обламываем тех, кто хочет своровать наш INT 21h. Hо... что если мы захотим узнать, пытается ли кто-нибудь украсть его? Эта процедура взята из этого же туториала из главы о бронировании кода.

        push    ax
        pop     ax
        dec     sp
        dec     sp
        pop     bx
        cmp     ax,bx
        jz      not_traced
        jmр     $                       ; если кто-то трейсит, замораживаем
                                        ; процессор
 not_traced:
        [...]

Эта глава - расширение главы о туннелинге. Поэтому... с этими двумя процедурами плюс немного удачи, вы можете пойти далеко вперед :).

2002-2013 (c) wasm.ru