Слежение за запущенными процессами в Windows 7
Каким образом в Windows 7 можно следить за запущенными процессами? Судя по наблюдаемым эффектам (перехват выполнения запускаемых процессов с целью оповещения об их потенциальной небезопасности, например), это вполне себе возможно. На XP я делал DLL, внедряемую посредством AppInitDLLs, но почему-то в некоторых случаях способ не работал. А семёрка у меня 64-битная, и писать 2 отдельных библиотеки как-то нет желания. Задача — получение командной строки, с которой было запущено приложение, и имени пользователя, из-под которого оно было запущено. Большего пока не требуется.
PSAPI сгодится, семеру поддерживает.
Может
Увы, но там нет таких функций. Статичный мониторинг мне не нужен, надо что-то типа событий по запуску процессов, что ли…
здесь. Драйвер писать придется.
Есть жуткий способ --
Или вот ещё ETW вспомнил.
Кстати, у Защитника драйвера нет, но есть служба. Действительно, может в направлении служб покопать?
System.Management само на wmi завязано. Есть еще это.
Может, служба обращается к драйверу (хотя в драйверах не-PnP не обнаружил). Нашёл только вот это по поводу ETW, но там всё очень бедно и непонятно, а также, например, вот это, но применимо оно только для драйверов (не знаю, будет ли оно работать в UMDF, но не факт, что через них проще).
статейка.
Драйвер хоть и уровня ядра, но похоже не сложный. Может установить Ms. DDK - в нем наверняка примеры есть и возможно даже шаблоны драйверов.
Тоже примерно тем-же путем бродил :) Драйвер насколько понял kernel mode требуется. Вот любопытная
Драйвер хоть и уровня ядра, но похоже не сложный. Может установить Ms. DDK - в нем наверняка примеры есть и возможно даже шаблоны драйверов.
исходники есть! И даже ссылка скачать вначале статьи :) Совсем я тупой стал..
Ха, так к той-же статье даже
Благодарю за потраченное время.