Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.48 MB
Время: 0.01 c
2-1153123735
Leonid
2006-07-17 12:08
2006.08.06
Нужен компонент для отсылки e-mail


2-1153134874
LexXL
2006-07-17 15:14
2006.08.06
Формы


2-1153414657
XbI
2006-07-20 20:57
2006.08.06
массив


15-1152509704
Ega23
2006-07-10 09:35
2006.08.06
С Днём рождения! 8 июля


15-1152366303
ptrbuild
2006-07-08 17:45
2006.08.06
Хочу работать





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский