Просмотр полной версии : антитрассировочная фича - как это работает ?
копался у себя в исходниках и в одном из "хороших" вирусов в тебе обнаружил такой кусок кода:
может даже кому-то пригадится:
setupSEH:
; Небольшая антиотладочная, а точнее - антитрассировочная фича.
; Реально "помогает" от эвристики NOD32...
cdq
assume fs:nothing
push dword ptr fs:[edx]
mov fs:[edx], esp
pushfd
pop eax
bts eax, 8
push eax
popfd
jmp $
можете пошагово мне рассказать в чем заключается этот хитрый момент, что до сих пор NOD32 (про других даже не стоит говорить) не видет ничего подозрительного, хотя вирус по сути - очень даже опасный.. сказал бы критичный опасный..
P.S. публикавать не буду, кто хочет - мне в личку - исходники дам.
школьникам и поинерам просьба не писать
не понимаю при4ем тут эвристика. антитрассирово4ные триксы юзают 4тобы вырубить эмуль в АВ, и нод должен все проэмулить имхо, завтра проверю если будет время
тут все просто, TP флаг возводится
ProTeuS
Это автор вируса комментарии делал :) так что я вообше незнаю что там к чему ))))
GALIAFF
А все подробно не вариат написать? я плохо знаю ассемблер, но очень хотел этот момет хорошо понимать и как вообше делается обход NOD32.
из описание вируса:
Заражает PE-файлы путем добавления в них новой секции и замены первых исполняемых байт программы на переход к своему "телу". После получения управления вирус расшифровывается, перехватывает некоторые функции для работы с файлами и перед возвратом управления оригинальной функции пытается заразить целевые файлы. Также перехватывает функцию MessageBox и подменяет выводимый заголовок сообщения на свой.
На Wasm.ru усе подробно описано! :) И перехват
функций и так далее!Зайди и поинтересуйся!
Lamia
в книге Пирогов В. Assembler тоже много чего написано.
тогда зачем вообше форум? ненадо меня никуда слать. знаешь - отвечай, нет - то проходи мимо.
Сначала мы заталкиваем в стек регистр флагов
pushfd
потом он оказывается в eax
pop eax
http://sasm.narod.ru/apps/eflags/main.htm
формат регистра EFLAGS. Взводим 8 бит
bts eax, 8
после этого после каждой инструкции будет генерироваться отладочное исключение #db. После первого исключения бит сбрасывается снова. Перед установкой флага трассировки, устанавливается SEH обработчик, и мы отправляемся в него при возникновении #DB. трюк старый же
PS
>> тут все просто, TP флаг возводится
Флаг TF называется вообще-то
PPS Нет бы заюзать трассировку ветвлений для самотрассировки; объявить свои сегменты кода, данных в GDT (для этого, ясное дело, драйвер написать), причем селектор на новый дескриптор получать динамически из драйвера, на ходу самомодифицируясь, активно прыгать между сегментами и тд. вот доразберусь в vmcb (это к теме amd-v), так напишу вам что-нибудь ядерное фо фан, если хотите. защитку, аля кракми
Обязательно напиши!Только для новичьков!Пускай гуру этого дела не обьясняют,что к чему!
0x0c0de
Спасибо, вот уже понятно, хотя без хорошего знание ассемблера всеравно трудно понятно.
вот остался только такой любопытный момент - почему антивирус не видет это как вирус?
вот отчет от вирустотала:
__http://www.virustotal.com/ru/analisis/17f485f6ddab32965cb4f9b0d75b43cb
как видно - самые известные антивирусы ничего не видят.
вот остался только такой любопытный момент - почему антивирус не видет это как вирус?
вот отчет от вирустотала:
__http://www.virustotal.com/ru/analisis/17f485f6ddab32965cb4f9b0d75b43cb
как видно - самые известные антивирусы ничего не видят.
Ты уверен, что это единственный подобный приём в коде? Поскольку, вообще-то, не должны аверы так плохо на вызов обработчика исключений реагировать.
0verbreaK
21.01.2009, 00:46
Допустим если антивирус проверяет по определенной сигнатру, а не эмулирует работу вируса, то вставив такой код он не будет его видеть, но все же он должен и эмулировать вирус, так что это фантастика..
Я тебе могу множество произвести и даже криптор полиморфный предложить,но если ты сам будеш
подсказки постоянно искать то беспонту!
desTiny
ммм, вроде да. если хотите - могу вам прислать в личку исходник для полного изучение.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot