Re[5]: Как отследить запуск нового процесса?
От: Ihor Osovyak Украина  
Дата: 24.11.04 10:22
Оценка:
Здравствуйте, Злость, Вы писали:


IO>>Есть еще один, не совсем очевидный способ — драйвер-фильтр файловой системы и отслеживание IRP_MJ_CREATE с последующим анализом currentIrpStack->Parameters.Create.SecurityContext->DesiredAccess на предмет наличия флажка FILE_EXECUTE.


З>Не могу связать наличие этого флага и запуск процесса — совсем. Причем здесь то, что данные могут читаться использую файл подкачки, я так и не понял.


При том, что образ бинарника отображается на память процесса — механизм MMP, который всегда сопровождается установкой соотв. флага. Конечно, немного не совсем прямое решение, да и будут случаи "фальшстартов" — но во вногих практических случаев это приемлимо.

З>[skip]


З>Если уж спустимся в ядро — тогда перехват Zw(Nt)CreateSection и проверка флага SEC_IMAGE. Даст как раз то — что нам нужно. Вернее — опять в переди паравоза и как следствие будут излишние данные.


Спасибо за наводку. Посмотрю. Хотя, предчувствую, что этот вариант не дает возможность перехвачивать подгрузку DLL..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.