Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
BlackOwl
5 / 5 / 1
Регистрация: 23.12.2014
Сообщений: 90
#1

Какие права есть у процесса - C++

07.03.2015, 17:12. Просмотров 324. Ответов 5
Метки нет (Все метки)

Как узнать какие права есть у процесса, конкретно интересует есть ли у него права администратора
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2015, 17:12     Какие права есть у процесса
Посмотрите здесь:

Возможно ли как-то в Visual Studio 2010 проверять есть ли утечки памяти? Может есть какие-то специальные плагины для этого? - C++
Название темы отражает суть вопроса.

Какие книги есть по Си++? - C++
Чтобы там было как создать класс-динамический массив. И желательно чтобы эти книги были в интернете:)

Какие есть вирусы? - Visual C++
Здравствуйте. Пожалуйста киньте мне список всех вирусов, или какие есть вирусы. Заранее буду благодарен. С уважением denidav.

Какие есть ошибки в коде? - C++
Добрый день. Сейчас было небольшое собеседование и одна из задачек была такая /* What problems do you see in this code */ class A...

Какие есть ошибки в коде - C++
#include <iostream> using namespace std; class A { int num1, num2; public: A(int i) :num1(i), num2(i) { } A(int i, int j) :...

Какие сом порты есть у компютера? - C++ Builder
Как можно узнать используя с++билдер, какие номера сом портов используються в данном конкретном компюторе? спаибо!

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
07.03.2015, 17:18     Какие права есть у процесса #2
Если для своего процесса, тогда так: создаете SID группы "Администраторы"
(S-1-5-32-544, проще всего через CreateWellKnownSid), а затем с помощью
CheckTokenMembership проверяете, входит ли этот SID в access token потока.
На системах до Vista будет TRUE, если пользователь входит в группу админов.
На Vista и выше будет TRUE, если процесс запущен с повышением прав до
уровня администратора.

С чужими процессами сложнее, т.к. чтобы их открыть, нужны права
администратора, да и не все процессы вообще можно открыть...
BlackOwl
5 / 5 / 1
Регистрация: 23.12.2014
Сообщений: 90
07.03.2015, 17:20  [ТС]     Какие права есть у процесса #3
Убежденный, спасибо, меня интересуют именно чужие процессы
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
07.03.2015, 17:24     Какие права есть у процесса #4
OpenProcess, затем OpenProcessToken, и далее CheckTokenMembership,
как в рецепте выше. Перед вызовом OpenProcess полезно попробовать
включить привилегию SE_DEBUG_NAME, это повышает шансы на успешное
открытие процесса, который выполняется в другом контексте безопасности.
BlackOwl
5 / 5 / 1
Регистрация: 23.12.2014
Сообщений: 90
09.03.2015, 09:24  [ТС]     Какие права есть у процесса #5
я нашел решение своей проблемы, сейчас поделюсь, вдруг кому-то пригодится
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
BOOL IsUserAdmin(HANDLE token)
{
BOOL b;
SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
PSID AdministratorsGroup; 
b = AllocateAndInitializeSid(
    &NtAuthority,
    2,
    SECURITY_BUILTIN_DOMAIN_RID,
    DOMAIN_ALIAS_RID_ADMINS,
    0, 0, 0, 0, 0, 0,
    &AdministratorsGroup); 
if(b) 
{
    if (!CheckTokenMembership(token, AdministratorsGroup, &b)) 
    {
         b = FALSE;
    } 
    FreeSid(AdministratorsGroup); 
}
 
return(b);
}
Возращает 0 если есть права, и 1 если нету

Сайт с которого взял функцию: https://msdn.microsoft.com/en-us/lib...=vs.85%29.aspx
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2015, 09:49     Какие права есть у процесса
Еще ссылки по теме:

Какие есть функции для рисования - Visual C++
точки определенного цвета и рисования линии?

Какие есть GUI библиотеки для c++ - C++
какие есть GUI библиотеки для c++, они вообще есть?

Visual C++ Express какие есть ограничения? - Visual C++
Привет! Возможно ли сделать полноценную программу в экспрес версии visual c++? есть ли в версии visual c++ express ограничения или нет?

Какие механизмы для защиты кучи есть? - C++
Необходимо отключить механизмы защиты от переполнения кучи стоит windows 8.1 vs 12 -13 при необходимости готов менять операционку

Какие есть специальные символы и каково их назначение? - C++
какие в с++ есть специальные символы и каково их назначение?

Сколько языков Cи есть?Какие у каждого особенности? - C++
Сколько языков Cи есть?Какие у каждого особенности?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
09.03.2015, 09:49     Какие права есть у процесса #6
Все верно. Только я вместо AllocateAndInitializeSid предпочитаю
более простую CreateWellKnownSid.
Yandex
Объявления
09.03.2015, 09:49     Какие права есть у процесса
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru