zoukankan      html  css  js  c++  java
  • 判断当前用户有无Administrator的权限

     

    很方便的一个函数,有兴趣的看看!

    1. /************************************************************************/  
    2. /* 函数说明:判断有无Administrator的权限                                      
    3. /* 参    数:无                                  
    4. /* 返 回 值:成功返回TRUE,否则返回FALSE   
    5. /* By:Koma   2009.07.28 23:30                               
    6. /************************************************************************/  
    7. BOOL IsAdmin()    
    8. {    
    9.     HANDLE hAccessToken;    
    10.     BYTE * InfoBuffer = new BYTE[1024];    
    11.     PTOKEN_GROUPS ptgGroups;    
    12.     DWORD dwInfoBufferSize;    
    13.     PSID psidAdministrators;    
    14.     SID_IDENTIFIER_AUTHORITY siaNtAuthority = SECURITY_NT_AUTHORITY;    
    15.       
    16.     if(!OpenProcessToken(GetCurrentProcess(),TOKEN_QUERY,&hAccessToken))    
    17.     {    
    18.         delete InfoBuffer;    
    19.         return FALSE;    
    20.     }    
    21.       
    22.     if(!GetTokenInformation(hAccessToken,TokenGroups,InfoBuffer,1024,&dwInfoBufferSize))    
    23.     {    
    24.         delete InfoBuffer;    
    25.         CloseHandle(hAccessToken);    
    26.         return FALSE;    
    27.     }    
    28.       
    29.     CloseHandle(hAccessToken);    
    30.       
    31.     if(!AllocateAndInitializeSid(&siaNtAuthority,    
    32.         2,    
    33.         SECURITY_BUILTIN_DOMAIN_RID,    
    34.         DOMAIN_ALIAS_RID_ADMINS,    
    35.         0,0,0,0,0,0,    
    36.         &psidAdministrators))    
    37.     {    
    38.         delete InfoBuffer;    
    39.         return FALSE;    
    40.     }    
    41.       
    42.     ptgGroups = (PTOKEN_GROUPS)InfoBuffer;    
    43.       
    44.     for(UINT i = 0; i < ptgGroups->GroupCount; i++)    
    45.     {    
    46.         if(EqualSid(psidAdministrators,ptgGroups->Groups[i].Sid))    
    47.         {    
    48.             FreeSid(psidAdministrators);    
    49.             delete InfoBuffer;    
    50.             return TRUE;    
    51.         }    
    52.     }    
    53.     return FALSE;    
    54. }   

     

     

     

     

  • 相关阅读:
    matlab read txt
    matlab读取数据并操作
    NFS 共享信息泄露漏洞
    centos6.8环境下安装elasticdump进行elasticsearch索引结构mapping的备份
    Linux命令行下如何终止当前程序
    ubuntu 使用sudo vim /etc/apt/sources.list命令修改文件后该如何退出?
    隐写工具zsteg安装及使用教程
    【转】今天做CTF隐写术的题偶然发现一隐写图片查看的神器------stegsolve,分享给大家
    java安装及配置环境变量
    deepin使用root身份运行
  • 原文地址:https://www.cnblogs.com/huhu0013/p/3276519.html
Copyright © 2011-2022 走看看