Как работает антивирус ? если в двух словах? вот задался вопросом,а как он впринципе проверяет файл, и определяет инфицирован или нет, раскладывает файл по кусочкам, ищет скрипт схожий с вирусным,или как ? что является показателем что файл инфицирован. ( рассматривая толко систему, без интернета )
елси фаил зашифрован то у антивируса есть расшифровщик ,и поетомуесть крипторы приват (которые незанеслись в базу антивируса по методу шифровки) и паблик которые паляться
Code: http://www.merc-press.ru/index.php?name=Pages&op=page&pid=16 ну вот более менее инфа нормальная, пара принципов работы Антивирь ПО
как я понял, недавно тоже задовался подобным вопрос...сравнивается контрольная сумма приложения с контрольной суммой в базе если совподает то вирус...
тем более иногда бывает что просто модифицированный файл антивирус принимает за инфицированный хотя на самом деле это не так ...
Как правило, вначале антивирус проверяет файл по сигнатуре, сравнивая его со своей базой , если ничего не обнаружено, запускается эмулятор. антивирус как бы создает свою среду (буфер), в который загружает исследуемый код, далее определяется глубина погружения в мкс (примерно) и начинается выполнение всех инструкций как в ольге. глубина т.е время которое сканирует антивирус может меня вовремя сканирования, например антивирус обнаружил паковку и.т.п. однако все это должно быть в умеренном режиме, иначе процесс сканирования будет чрезвычайно долгим. по мере распаковки файла антивирус сверяет его со своей базой, и как только обнаружит вредоносную сигнатуру, сообщает об этом.
Есть несколько подходов обнаружения вирусов, сигнатурный (по характерным сегментам кода), и эвристический по поведению (например честной программе незначем скрывать свой прочес в диспетчере задач).
тоесть если закриптовать файл антивирь тока скажет что не может проверить, так , допустим , тогда вопрос - а дальше при запуске зашифрованного файла разве нет над ним контроля? делает что хочет????
так он палится или нет ? как насчет закриптованных вирей ? как о нем узнаю если антивирь пропустит ??? или же он сделает свое дело ?
Ахтунг Ахтунг!! Массированая атака ботов )))) Все ваши крипторы приват не приват в большинстве своем до одного места. После распаковки "пинча" он перестанет быть критованым файлом и снова станет "пинчем" на диске ли он или в памяти. Если авер написан грамотно и "наглухо погружен в МКС" то ваш файл полюбому спалят. Для этого в крипторы встраивают анти... эмуляцию, эвристику ляляля. Но при хорошем антивирусе это не поможет. Хотя в данный момент таковых нет
Антивирусы очень много чего не эмулируют. допустим вам нужно закриптовать пинч возмем самый простой способ каждый байт подвергнем хором с рандомным ключом + добавим рандомное число байт это же число вставим в стаб. эвристик конечно распакует все это тогда в дело вступает анти эмуляционные трюки. нужно заставить эмулятор пойти по ложному следу к примеру использовать такие команды о которых незнает эмулятор а программа выполнит их и пойдет по нужному пути. вот один пример. можно использовать сложную цепочку передачи из памяти в ммх из ммх в FPU ну а там можно к примеру в SSE далее прибавить к ним число которое тоже будет генерироваться подобным образом при этом в SSE у тебя должен получиться набор байт при вкладывании которых должна получиться команда push и байты после чего в стеке получим уже готовый ничем не эмулированный набор команд каких? ну тут уже вам решать. это один из способов сложной анти эмуляции осталось добавить генерацию использования разных ММХ SEE и FPU регистров ну и цифра которая будет прибавляться к каждому байту в SSE тем самым эмулировать будет еще сложней. собирается этот код в обратном порядке. к примеру конечные байты это и будет выход из бесконечного цикла,программа все это поймет и выпрыгнет а эмулятор зависнит. р.с правда в случии с пинчем это не поможет антивирусы палят его местоположение при запуске imageBase придеться и его сменить ну и постовить заглушку DOS. вот после этого он точно не спалиться. хотя при запуске проактивка все равно его спалит.