Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Получить список процессов  (Прочитано 14609 раз)
0 Пользователей и 1 Гость смотрят эту тему.
l_sunny
Участник

ru
Offline Offline

« : 25-08-2010 05:02 » 

Есть задача определить по имени процесса его ProсessID (конкретно для csrss.exe), как я понимаю, нужно получить список всех процессов в системе и уже там искать. Вроде как должно быть всё просто, но для ядра не нашёл функций вроде NtQuerySystemInformation(). Может кто подскажет?
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 25-08-2010 12:05 » 

Using Nt and Zw Versions of the Native System Services Routines
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 25-08-2010 14:27 » 

Цитата: l_sunny
но для ядра не нашёл функций вроде NtQuerySystemInformation()

Уж не буду спрашивать где искал. NtQuerySystemInformation (и даже ZwQuerySystemInformation) экспортируется ядром.
Записан
x64
Участник

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 25-08-2010 16:29 » 

...конкретно для csrss.exe...

Зачем это?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #4 : 25-08-2010 16:44 » 

это известный вирус ) Я тоже такой гонял как-то на одной машине. Вредная сволочь, антивирусы не видели в упор, лечить надо было руками
Записан

Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 25-08-2010 16:44 » 

наверное  В капусту порублю!  хочет)

Леш, диспечер задач открой, он у тебя тоже установлен)))))
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #6 : 25-08-2010 17:07 » 

Так, попутал ) Там было csrsc.exe
Записан

l_sunny
Участник

ru
Offline Offline

« Ответ #7 : 02-09-2010 01:46 » 

Да, действительно можно использовать NtQuerySystemInformation в ядре, хотя в заголовочных файлах для ядра её нет. А надо всё это для того, чтобы в контексте csrss.exe получить KeServiceDescriptorTableShadow.
Записан
zubr
Гость
« Ответ #8 : 02-09-2010 05:19 » 

NtQuerySystemInformation ранее была недокументированной функцией. Но по крайней мере с MSDN2008 она уже документируется  у Microsoft.
Записан
x64
Участник

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 02-09-2010 14:54 » 

А надо всё это для того, чтобы в контексте csrss.exe получить KeServiceDescriptorTableShadow.

Тебе это в ядре надо? Это делается по-другому, через дизасм экспортов ядра, например, KeAddSystemServiceTable(). А если в режиме пользователя надо и если не малваре пишешь, тогда ещё проще, используя Debug Help API выкачиваешь символы с сайта Microsoft для данного ядра и в них уже ищешь RVA символа "KeServiceDescriptorTableShadow", потом добавить базу ядра и получишь VA указателя на таблицу.
Записан
l_sunny
Участник

ru
Offline Offline

« Ответ #10 : 09-09-2010 10:31 » 

А надо всё это для того, чтобы в контексте csrss.exe получить KeServiceDescriptorTableShadow.

Тебе это в ядре надо? Это делается по-другому, через дизасм экспортов ядра, например, KeAddSystemServiceTable(). А если в режиме пользователя надо и если не малваре пишешь, тогда ещё проще, используя Debug Help API выкачиваешь символы с сайта Microsoft для данного ядра и в них уже ищешь RVA символа "KeServiceDescriptorTableShadow", потом добавить базу ядра и получишь VA указателя на таблицу.

Я немного не то сказал, лезть в контекст csrss.exe нужно чтобы сделать подмену функций из KeServiceDescriptorTableShadow на свои. В контексте ядра случается BDOS при попытке даже прочитать содержимое KeServiceDescriptorTableShadow->win32k.ServiceTable[function_id], нужно лезть в контекст "графического" приложения.



Добавлено через 8 минут и 39 секунд:
NtQuerySystemInformation ранее была недокументированной функцией. Но по крайней мере с MSDN2008 она уже документируется  у Microsoft.
Да, она документирована, но только для UserMode. А в WDK (Built on December 01, 2009) её нет, соответственно и в заголовочных файлах, используемых для компиляции драйверов, её тоже нет. Если подключать ntdll.h, то куча ошибок вываливает.
« Последнее редактирование: 09-09-2010 10:39 от l_sunny » Записан
x64
Участник

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 09-09-2010 19:12 » new

...лезть в контекст csrss.exe нужно чтобы сделать подмену функций из KeServiceDescriptorTableShadow на свои.

Ясно.
Ну тогда, в общем-то, уже всё выше сказали.
Тебе нужна ZwQuerySystemInformation(), затем PsLookupProcessByProcessId(), ну и потом аттач к процессу.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines