определение старта под админом

Тема в разделе "WASM.WIN32", создана пользователем cresta, 10 апр 2006.

  1. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Как определить, программа стартует под админом или нет? Примерно догадываюсь, что путём OpenSamUser -> GetUserAuthData -> ConvertAuthDataToToken, но нигде не могу найти примера применения, или хотя бы что за параметры у этих ф-ций, и как они должны выглядеть (сами параметры в msdn есть, неясно их назначение и вид). Может кто видел пример использования?

    Спасибо.
     
  2. razor

    razor Member

    Публикаций:
    0
    Регистрация:
    2 июл 2004
    Сообщения:
    40
    взято из MSDN

    The following example shows checking a token for membership in the Administrators local group.
    Код (Text):
    1.  
    2. BOOL IsUserAdmin(VOID)
    3. /*++
    4. Routine Description: This routine returns TRUE if the caller's process
    5. is a member of the Administrators local group. Caller is NOT expected
    6. to be impersonating anyone and is expected to be able to open its own
    7. process and process token.
    8. Arguments: None.
    9. Return Value:
    10.    TRUE - Caller has Administrators local group.
    11.    FALSE - Caller does not have Administrators local group. --
    12. */
    13. {
    14.     BOOL b;
    15.     SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
    16.     PSID AdministratorsGroup;
    17.     b = AllocateAndInitializeSid(
    18.         &NtAuthority,
    19.         2,
    20.         SECURITY_BUILTIN_DOMAIN_RID,
    21.         DOMAIN_ALIAS_RID_ADMINS,
    22.         0, 0, 0, 0, 0, 0,
    23.         &AdministratorsGroup);
    24.     if(b)
    25.     {
    26.         if (!CheckTokenMembership( NULL, AdministratorsGroup, &b))
    27.             b = FALSE;
    28.         FreeSid(AdministratorsGroup);
    29.     }
    30.     return(b);
    31. }
    32.  
     
  3. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    razor



    оказывается не те ф-ции искал...

    Спасибо!
     
  4. NullSessi0n

    NullSessi0n New Member

    Публикаций:
    0
    Регистрация:
    20 янв 2006
    Сообщения:
    322
    В разделе wasm\Секреты Win32 есть статья "Ваш друг имперсонация", там это на асме приведёно в пункте "Проверка".