Каким образом можно задетектить тот момент когда АВ,допустим каспер проверяет файл? Т.е допустим я в программе свое ставлю определеный код,этот код проверяет под чем запущен файл. Если файл находится под эмулем АВ то программа выходит,если файл запущен пользователем то она продолжает выполнение. Очень нужно!!!
http://www.wasm.ru/forum/viewtopic.php?pid=287064#p287064 тебе читать второй пост (ну или перенести тему в коммерц)
Есть сложности 1) Практически невозможно написать универсальную (в смысле работающую для большинства AV) антиэмуляцию 2) Высока вероятность, того что тебя тут же будут детектировать по применяемой антиэмуляции. В итоге чтобы быть актуальным, придется очень часто платить "цену вопроса".
NEXo Самый простейший способ -- это проверять флаг трассировки, если он взведен, то выходим из программы, нет -- работаем дальше. Но все не так просто, т.к. большинство АВ это палят, нужно по-разному извращаться и "скрывать" эту проверку.
Да просто напиши какую-нибудь редкую инструкцию, которую эмуль антивируса не знает - и все. И выходить из программы не надо!
ага, тоже хотелось бы послушать (сразу видно, что человек не в теме) не забывай, что для одного - это антиэмуль, а для другого - сигнатура
Многое зависит от антивируса, у каждого свои слабости. Что "глотает" один, с другим может не проходить. Почитай - http://uinc.ru/articles/48/ , может быть что-то из этих способов еще работает, например DIV и вызов API's (хотя тот же туарег, вроде бы эмулится, а он генерит в расшифровщиках вызовы пары десятков API). Касперский, может быть еще обламывается с delta value (см. статью). Когда я писал эту статью (четыре года назад), трюку с div, о котором кричал на весь мир Z0MBiE (тем более, что его читали все, кто был "в теме" и ТЕМ БОЛЕЕ антивирусники), было 4 года и он все равно "работал", я, право был очень удивлен! Так что есть шанс, и что-нибудь из приведенных примеров до сих пор актуально. (там, кстати, есть архив с PEшниками, просто распакуй его и проверь антивирусами, если что-либо из файлов не детектируется, значит трюк еще актуален) Очень давно уже не в теме и ничего 100% актуального посоветовать не могу. Ну и могу, сказать, что поиск подобного рода уязвимостей, которые не могут быть закрыты "в течении пяти минут", не так уж и просто. Участки кода из которых можно выдернуть даже плавающее подобее сигнатуры, например без учета регистров) могут быть легкой наживой для кодо-анализатора, который позволит эмулю просто "пропустить" этот код. Помню, что когда я писал статью для UINC'а, процесс поиска обманок занял не один день, учитывая, что мне чем могли, помогали ребята из UINC'а (кроме доктора Головы). Так что все не так просто как кажется.