Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить список процессов. 
:(
    Опции темы
LuckLess
Дата 16.1.2006, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



Добрый день.
Требуеться получить список активных процессов в системе работая в режиме ядра

наверное какаянибудь ps* функция.. но чтото такой найти не могу.
PM MAIL   Вверх
Athlon
Дата 16.1.2006, 02:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.1.2006
Где: Украина:: Запорож ье

Репутация: нет
Всего: нет



есть недокументированая функция NtQuerySystemInformation из "ntdll.dll", только я незнаю как ее вызвать smile .
а вот ссылочка которая может тебе помочь http://www.wasm.ru/article.php?article=hidingnt,
статья на другую тему, но думаю нужную информацию ты найдешь
PM MAIL ICQ   Вверх
Guest
Дата 16.1.2006, 10:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Athlon
это все user-mode, мне надо kernel-mode..

Цитата(Athlon @ 16.1.2006, 02:29 Найти цитируемый пост)

есть недокументированая функция NtQuerySystemInformation из "ntdll.dll", только я незнаю как ее вызвать

могу скинуть пример как ее юзать ))..
  Вверх
LuckLess
Дата 16.1.2006, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



Код

char pri[0x80000];
SYSTEM_PROCESS_INFORMATION* si;

typedef long (WINAPI *NTQSIfunc)(_SYSTEM_INFORMATION_CLASS,void *,unsigned long,unsigned long *);
NTQSIfunc NTQSI = (NTQSIfunc)GetProcAddress(GetModuleHandle("NTDLL.DLL"),"NtQuerySystemInformation");
if (NTQSI == NULL){
//error handling
return -1;
}

ULONG lngth=0;
NTSTATUS NTret;
NTret = NTQSI(SystemProcessInformation,pri,0x80000,&lngth);
if (!NT_SUCCESS(NTret)){
//error handling
return -1;
}


DWORD Ids[150];
int cProcesses=0;
for (si=(SYSTEM_PROCESS_INFORMATION*)pri;;){
Ids[cProcesses++] = (DWORD)si->UniqueProcessId;
if (si->NextEntryOffset==0) break;
si =(SYSTEM_PROCESS_INFORMATION*)( ((PUCHAR)si) + si->NextEntryOffset);
}

PM MAIL   Вверх
Athlon
Дата 16.1.2006, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.1.2006
Где: Украина:: Запорож ье

Репутация: нет
Всего: нет



хорошая статья на тему получения списка активных прцессов
http://www.rsdn.ru/?article/qna/baseserv/enumproc.xml
PM MAIL ICQ   Вверх
LuckLess
Дата 16.1.2006, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



Athlon
там все про user-mode , мне нужен kernel-mode!!
PM MAIL   Вверх
SergeCpp
Дата 16.1.2006, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 10
Всего: 124



А у Свена Шрайбера в книге Недокументированная Windows 2000 не смотрел?

Не смотрел ещё сам, но, может быть, есть в Справочнике по Native API?

Это сообщение отредактировал(а) SergeCpp - 16.1.2006, 14:17
PM MAIL WWW ICQ   Вверх
LuckLess
Дата 16.1.2006, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



через Native API я знаю как можно сделать.
но хотелось бы документированный вариант))


Цитата(SergeCpp @ 16.1.2006, 14:12 Найти цитируемый пост)
А у Свена Шрайбера в книге Недокументированная Windows 2000 не смотрел?

Я эту книгу 4 месяца найти пытаюсь)) безрезультатно))
PM MAIL   Вверх
Athlon
Дата 17.1.2006, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.1.2006
Где: Украина:: Запорож ье

Репутация: нет
Всего: нет



Можно скрыть через нулевое кольцо - железный kernel-mode, но если тебе нужен документированый вариант, может это и не то, что ты ищешь.
Описание смотри здесь:
http://www.wasm.ru/print.php?article=apihook_3
PM MAIL ICQ   Вверх
LuckLess
Дата 18.1.2006, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



Athlon
это видел.
не то . там перехват апи.
мне нужен просто списокк процессов..

придеться Native API видимо юзать..

Это сообщение отредактировал(а) LuckLess - 18.1.2006, 01:27
PM MAIL   Вверх
SergeCpp
Дата 18.1.2006, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 10
Всего: 124



PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.