Защита от трассировки и антивирусов
Обман антивирусовНа практике обман антивируса не такое уж и сложное дело. Я написал простой "вирус-пробник" и на нем испытывал различные уловки для разных антивирусов. И вот что у меня получилось : Doctor WEB v4.05Допустим мы написали COM-вирус, который работает по следующей схеме : За это будет отвечать приблизительно такой участок кода : ; SI = offset расширения lodsw cmp AX,'OC' jne NOT_COM lodsb cmp AL,'M' jne NOT_COM COM: Если заменить вышеприведенное нижеприведенным, то DrWeb v4.05 на это приведенное ругаться не будет : ; SI = offset расширения lodsw inc AX cmp AX,'OD' jne NOT_COM lodsb inc AL cmp AL,'N' jne NOT_COM COM: Этот же прием можно использовать при проверке найденного COM'а на COMMAND.COM. Следующий трюк подходит только для тех компьютеров, которые оборудованы жестким диском. Если, кстати, такового нет, то зачем вообще вирусу работать дальше (в общем случае) ? Следующие строчки не определяются Web'ом как вирусные : int 11h and AX,1 add byte ptr FILE_MASK[+4],AL ... FILE_MASK db '*.COL',0 После INT 11h в AX мы получаем так называемый Equipment List (список оборудования). Первый бит показывает наличие "винчестера". Для получения различных значений, неизвестных антивирусу, можно использовать так называемые "неочевидности". Например, следующий участок кода антивирусу ничего не говорит, поэтому только мы знаем, что получится после его выполнения. mov AH,32h - функция DOS : получить параметры диска mov DL,0FFh int 21h Если на компьютере нет диска N 255, то AL=0FFh. Вряд ли антивирус знает об этом. Недостаток именно этого фокуса в том, что данная функция является недокументированной, а некоторые антивирусы (TBAV, например) реагируют на ее вызов. А вообще советую поэкспериментировать с подобными приколами.
|