![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Goganchic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 678 Регистрация: 18.6.2004 Репутация: нет Всего: 5 |
Я пишу драйвер, который логирует сведения о всех запускаемых в системе процессах. С помощью ф-ии PsSetCreateProcessNotifyRoutine добавляю слухатель на запуск и завершение процессов. В результате, я получаю хэндл процесса при запуске и завершении каждого процесса. Но мне бы хотелось получить информацию в удобночитаемом виде, чтобы потом можно было записать это дело в файл. Вопрос: как это сделать? Как в ядре получить инфомацию о процессе (имя исполняемого файла, имя пользователя, запустившего файл, аргументы запуска и т.п.) по его хэндлу?
|
|||
|
||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 5 Всего: 95 |
Думаю, тут тебе поможет PsLookupProcessByProcessId. Она возвращает некислую структуру EPROCESS, которая содержит уйму полезной информации... Попробуй покопаться...
-------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
| Goganchic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 678 Регистрация: 18.6.2004 Репутация: нет Всего: 5 |
ama_kid, для этой ф-ии, как я понял нужно либо IFS Kit, либо WDK. Лан, буду ждать, когда эту штуку на работе наконец-то закажут
|
|||
|
||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 5 Всего: 95 |
Goganchic, ну в принципе, эта функция экспортируется ядром, поэтому, думаю, ты можешь просто вручную написать все объявления и использовать... Здесь есть бесплатная версия ntifs.h, где найдутся необходимые тебе объявления...
-------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
| BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: 4 Всего: 10 |
А ZwQueryInformationProcess уже не в моде? -------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |