-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


Как включить 2 и больше привилегии сразу?

Четверг, 19 Ноября 2020 г. 21:27 + в цитатник
zer0cat: Не могу разобраться в простейшем коде. Требуется включить сразу две привилегии, делаю так:

    void err(char *errM,DWORD errC)
    {
    printf("%s %d\n",errM,errC);
    }
    BOOL SetPrivileges()
    {
    HANDLE hToken;
    BOOL bRet = FALSE;
    do
    {
    if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))
    {
    err("OpenThreadToken: %u\n", GetLastError());
    break;
    }
    TOKEN_PRIVILEGES tp;
    LUID luid0, luid1;
    if (!LookupPrivilegeValueA(NULL, SE_TAKE_OWNERSHIP_NAME, &luid0))
    {
    err("LookupPrivilegeValue SE_TAKE_OWNERSHIP_NAME error: %u\n", GetLastError());
    break;
    }
    if (!LookupPrivilegeValueA(NULL, SE_DEBUG_NAME, &luid1))
    {
    err("LookupPrivilegeValue SE_DEBUG_NAME error: %u\n", GetLastError());
    break;
    }
    tp.PrivilegeCount = 2;
    tp.Privileges[0].Attributes = tp.Privileges[1].Attributes = SE_PRIVILEGE_ENABLED;
    tp.Privileges[0].Luid = luid0;
    tp.Privileges[1].Luid = luid1;
    if (!AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), NULL, NULL))
    {
    err("AdjustTokenPrivileges error: %u\n", GetLastError());
    break;
    }
    else
    bRet = TRUE;
    } while (0);
    CloseHandle(hToken);
    return bRet;
    }


Ошибок никаких нет, но Process Haker и подобное ПО показывает, что включается только первая (в списке) привилегия. Если менять местами- аналогично, первая включается, иные игнорятся. Почему так?? Да, если по одной все работает, но хочу тут разобраться.
Запускаю, ясное дело, от админа у которого эти привилегии есть.

https://forum.sources.ru/index.php?showtopic=420833&view=findpost&p=3842259

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку