Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> processes, системныи процесс или нет 
:(
    Опции темы
visual
  Дата 30.8.2003, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ребята, подскажите пожалуйста !!!
Как узнать системный процесс или нет ??

Модератор: пишите грамотней. Если используете translit, прочитайте его описание.

Это сообщение отредактировал(а) RAN - 30.8.2003, 23:18
PM MAIL ICQ YIM   Вверх
Baa
Дата 30.8.2003, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

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



А че такое системный процесс? Я поставлю процесс в автозагрузку, вот его система запустила => он системный... А еще есть сервисы и драйверы, а еще есть RegisterServiceProcess, так что есть системный процесс?


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
p0s0l
Дата 31.8.2003, 03:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



это, наверное, тот процесс, который запустил не юзер... smile.gif
Т.е. все процессы запущенные от имени какого-то юзера - это пользовательские процессы, остальные - системные...


--------------------
С уважением, г-н Посол.
PM   Вверх
DIMA.NET
Дата 31.8.2003, 07:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


invisible fighter
**


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

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



Теоретически, я думаю, надо проверить имя пользователя, запустившего этот процесс. Когда жмешь Ctrl+Alt+Delete, в списке процессов, есть такие, у которых в имени пользователя написано SYSTEM - это системный процесс.
Вот это и надо проверять. Как это можне реализовать практически пока не знаю! smile.gif


--------------------
 Дмитрий Катаев 
----------------------
Я в контакте
PM MAIL ICQ   Вверх
DIMA.NET
Дата 31.8.2003, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


invisible fighter
**


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

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



У меня ещё одна идея появилась:
когда мы получаем список всех процессов, мы можем увидеть полный путь к приложению. Я заметил, что все приложения, имеющие SYSTEM находятся в папке Windows/SYSTEM => можно делать поиск в полном пути к приложению, и если там присутсвует SYSTEM, то этот процесс СИСТЕМНЫЙ.
Как вам эта идея?


--------------------
 Дмитрий Катаев 
----------------------
Я в контакте
PM MAIL ICQ   Вверх
Baa
Дата 31.8.2003, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

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



DIMA.NET, ну вот не факт, мой сервис запускается под учеткой Local System, а лежит он там, где я пожелаю.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
DIMA.NET
Дата 31.8.2003, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


invisible fighter
**


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

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



Вообще-то да...
Ладно будем что-нибудь ещё думать.
А не знаешь, как можно узнать кем был запущен процессconfused.gif


--------------------
 Дмитрий Катаев 
----------------------
Я в контакте
PM MAIL ICQ   Вверх
p0s0l
Дата 1.9.2003, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Можно узнать через SID (Security Identificator) учетной записи, запустившей процесс. Как узнать SID ?
Наверняка можно проще, но рыться неохота, поэтому я попробовал через TSEnumerateProcesses.
Пробовал еще GetSecurityInfo, но для системных процессов почему-то пишет, что отказано в доступе... (м.б. так определять ? нельзя сделать GetSecurityInfo - значит процесс системный ?).
Узнав SID процесса можно узнать тип SID'а (SID_USE), если тип = SidTypeWellKnownGroup, то процесс запущен системой...



--------------------
С уважением, г-н Посол.
PM   Вверх
Baa
Дата 1.9.2003, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

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



p0s0l, но ведь TaskManager как-то опеределяет... надо посмореть, как в нем сделано...


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
p0s0l
Дата 1.9.2003, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Baa - по крайней мере, то что показывает TaskManager (имена пользователей и группа, которую не показывает TaskManager) совпадает с тем, что получается с помощью WTSEnumerateProcesses (в прошлый раз пропустил буковку). Я просто прогаю на Дельфи, поэтому не выкладываю код... Если уж неполучится самим сделать, то переделаю под C, благо код там чуть больше страницы...



--------------------
С уважением, г-н Посол.
PM   Вверх
Baa
Дата 1.9.2003, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

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



Я вот чего думаю... а какие это у нас процессы запущены из-под LocalSystem? помойму токо сервисы(или я ошибаюсь?), тогда можно получить список всех сервисов и выбрать их них запущенные+юзер LocalSystem


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
p0s0l
Дата 1.9.2003, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Вот результат WTSEnumerateProcess
Первый столбец - image процесса
Второй - юзер
Третий - domain
Четвертый - тип юзера
Пятый - SID юзера

Как видно, системные процессы можно определить как по домену, так и по типу юзверя, помоему лучше по типу (5 = well known group, куда не может входить ниодин нормальный человеческий юзер...)



--------------------
С уважением, г-н Посол.
PM   Вверх
Baa
Дата 1.9.2003, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

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



А че у тя за винды? Для ентой функции ж Terminal Server нужен


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
DIMA.NET
Дата 2.9.2003, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


invisible fighter
**


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

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



Baa, в MSDN'е написано, что в WinXP, 2000 Professional такое работает.


--------------------
 Дмитрий Катаев 
----------------------
Я в контакте
PM MAIL ICQ   Вверх
Baa
Дата 2.9.2003, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

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



DIMA.NET, просто в ХР вроде встроен Terminal Server, а в 2К - нет.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

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


 




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


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

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