Форум: "WinAPI";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
ВнизОтследить запуск других приложений Найти похожие ветки
← →
keymaster © (2006-04-13 11:29) [0]Как отледить, какие приложения запускал пользователь в течение своего сеанса?
← →
Игорь Шевченко © (2006-04-13 12:43) [1]Включить аудит процессов в локальной/доменной политике, смотреть EventLog
← →
Elen © (2006-04-17 07:55) [2]Можно написать программку, которая по таймеру будет вызывать CallBack API функцию EnumWindow. Туда передается адрес процедуры, которую Винда будет вызывать, перелистывая список запущенных программ. Первая же программа - активна. Можно узнать ее имя, тип, файл и фиксировать эту информацию в файл
← →
Дмитрий Л. © (2006-04-17 10:57) [3]
> Elen © (17.04.06 07:55) [2]
>
> Можно написать программку, которая по таймеру будет вызывать
> CallBack API функцию EnumWindow. Туда передается адрес процедуры,
> которую Винда будет вызывать, перелистывая список запущенных
> программ. Первая же программа - активна. Можно узнать ее
> имя, тип, файл и фиксировать эту информацию в файл
А если у процесса нет окон? или жизненный цикл процесса входит в интервал между вызовами процедуры таймера?
← →
Elen © (2006-04-17 11:10) [4]Значит нужно использовать процедуру EnumProcesses. Кстати неплохо-бы спросить автора какие приложения например он имеет ввиду. Если это такие стремительные процессы, то в таком случае лучше перехватить их запуск, заменив функцию API CreateProcess на свою методом сплайсинга и регистрировать их
← →
Сергей М. © (2006-04-17 11:27) [5]Под НТ лучше и надежней всего с этим справится PsSetCreateProcessNotifyRoutine()
← →
Elen © (2006-04-17 11:41) [6]
> Под НТ лучше и надежней всего с этим справится PsSetCreateProcessNotifyRoutine()
Сергей, а что делает эта функция? В какой библиотеке она описана?
← →
Сергей М. © (2006-04-17 11:51) [7]
> что делает эта функция?
Регистрирует или удаляет ранее запрошенную регистрирацию callback-функции, которая будет вызываться системой всякий раз при старте или завершении процесса.
Описана в ntoskrnl.h (см. NT DDK).
Работает только в режиме ядра, пример имеется на wasm.ru
← →
DVM © (2006-04-17 16:24) [8]
> Elen © (17.04.06 07:55) [2]
еще лучше при старте один раз EnumWindows, а потом поставить ловушку WH_SHELL.
← →
Elen © (2006-04-17 16:59) [9]DVM прав. И неплохо еще подумать о скрытности программы, чтобы юзер не смог ее закрыть в диспетчере задач
← →
Игорь Шевченко © (2006-04-17 17:03) [10]Elen © (17.04.06 16:59) [9]
Лавры Ивана Кулибина покоя не дают ? Просто странно, при наличии готовых средств изобретать велосипед.
← →
DVM © (2006-04-17 17:06) [11]
> Игорь Шевченко © (17.04.06 17:03) [10]
У автора в вопросе стоит
> D7, Win95/98, Win2k, WinXP
насколько мне известно в 98/95 аудита нет.
← →
Игорь Шевченко © (2006-04-17 17:38) [12]DVM © (17.04.06 17:06) [11]
в 95/98 и диспетчера задач нету :) И PsSetCreateProcessNotifyRoutine...
← →
n0name (2006-04-17 19:13) [13]Если все приложения оконные, то хук WH_CBT пойдет.
Сергей М. © (17.04.06 11:27) [5]
Причем в инете есть примеры работы этой функции.
← →
Rouse_ © (2006-04-17 23:09) [14]
> Если все приложения оконные, то хук WH_CBT пойдет.
Если приложение - сервис, шелл расширение, батник? :)
Не ясно что имеет ввиду автор - способов исполнения произвольного кода сотни, какие необходимо детектировать - непонятно...
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c