zoukankan      html  css  js  c++  java
  • windows下,提权代码.

    #include <windows.h>
    
    bool AdjustPrivileges() {
    	HANDLE hToken = NULL;
    	TOKEN_PRIVILEGES tp;
    	TOKEN_PRIVILEGES oldtp;
    	DWORD dwSize = sizeof(TOKEN_PRIVILEGES);
    	LUID luid;
    
    	OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken);
    
    
    	if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luid)) {
    		CloseHandle(hToken);
    		OutputDebugString(TEXT("提升权限失败,LookupPrivilegeValue"));
    		return false;
    	}
    	ZeroMemory(&tp, sizeof(tp));
    	tp.PrivilegeCount = 1;
    	tp.Privileges[0].Luid = luid;
    	tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    	/* Adjust Token Privileges */
    	if (!AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), &oldtp, &dwSize)) {
    		CloseHandle(hToken);
    		OutputDebugString(TEXT("提升权限失败 AdjustTokenPrivileges"));
    		return false;
    	}
    	// close handles
    	CloseHandle(hToken);
    	return true;
    }
    
    调用伪代码:
    int main()
    {
      AdjustPrivileges();
      此时OpenProcess的时候 使用PROCESS_ALL_ACCESS权限则可以成功了
    }
    
  • 相关阅读:
    双循环解决添加列表问题
    贪心算法
    隔板法发红包
    python小兵之时间模块
    开发规范
    python 小兵(12)模块1
    Linux系统
    刷题
    Socket
    栈和队列
  • 原文地址:https://www.cnblogs.com/iBinary/p/10749280.html
Copyright © 2011-2022 走看看