zoukankan      html  css  js  c++  java
  • 【VC++积累】之二、黑客编程之提权SDK

     提权啊。。。。1要打开当前进程的权限令牌。。。。。。。2要获取权限标识。。。。。。。3要提升令牌权限。。。。。。。。。。。。3个API函数搞定

    分别是:

               OpenProcessToken();
               LookupPrivilegeValue();
               AdjustTokenPrivileges();


          BOOL OpenProcessToken(
    
      __in HANDLE ProcessHandle, //要修改访问权限的进程句柄
      __in DWORD DesiredAccess, //指定你要进行的操作类型
      __out PHANDLE TokenHandle //返回的访问令牌指针
      );              
    
    
    
          BOOL LookupPrivilegevalue(
    
      LPCTSTR lpSystemName, // 表示所要查看的系统,本地系统直接用NULL
      LPCTSTR lpName, // 表示所要查看的特权信息的名称
      PLUID lpLuid //接收所返回的制定特权名称的信息
      );      
    
    
    
    
    
    
                   BOOL AdjustTokenPrivileges(
      HANDLE TokenHandle, //包含特权的句柄
      BOOL DisableAllPrivileges,//禁用所有权限标志
      PTOKEN_PRIVILEGESNewState,//新特权信息的指针(结构体)
      DWORD BufferLength, //缓冲数据大小,以字节为单位的PreviousState的缓存区(sizeof)
      PTOKEN_PRIVILEGES PreviousState,//接收被改变特权当前状态的Buffer
      PDWORD ReturnLength //接收PreviousState缓存区要求的大小
      );
    


    下面来看一下代码:

    HANDLE TokenHandle;
            if(!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &TokenHandle))
            {
                    return ;
            }
    
            TOKEN_PRIVILEGES t_privileges = {0};
            if(!LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &t_privileges.Privileges[0].Luid))
            {
                    return ;
            }
            t_privileges.PrivilegeCount = 1;
            t_privileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    
            if(!AdjustTokenPrivileges(TokenHandle, FALSE, &t_privileges, sizeof(TOKEN_PRIVILEGES), NULL, NULL))
            {
                    CloseHandle(TokenHandle);
                    return ;
            }

    呃。。。。忘了说了。。。。WINDOWS NT 以上的内核需要提权。。。。进行对系统的操作(关机  重启 注销)98啥的就不用了  直接调用 ExitWindowsEx就行了。。。。。。。这里只说提权了    要了解的话 去看一下MSDN这个API 函数的用法


    2012/8/5

    jofranks 于南昌

  • 相关阅读:
    Session的配置
    插件编程小窥
    今日遇到了困难,顺便看了下SMO
    初识三层架构
    .NET文件类库
    JQuery学习笔记
    反射整理学习<二>
    通俗道破单例模式
    菜鸟写代码生成器最后一天完结篇
    卧谈会:委托与事件
  • 原文地址:https://www.cnblogs.com/java20130723/p/3211425.html
Copyright © 2011-2022 走看看