对于一个普通的程序来说,是没有办法访问一些系统进程的,
只能进行查询操作。
我想请问一下,如何编程才能提高自身进程的权限,从而
可以访问一些系统进程(包括远程注入)

解决方案 »

  1.   

    给你一段代码,调用这个函数即可!
    void EnablePrivilege()
    {
    DWORD dwError, dwLength;
    HANDLE hdCurrent, hdCurrentToken;
    unsigned char ucBuffer[512];
    TOKEN_PRIVILEGES *stToken;
    stToken = (TOKEN_PRIVILEGES *) ucBuffer;

    hdCurrent = GetCurrentProcess();
    dwError = OpenProcessToken(hdCurrent, TOKEN_ALL_ACCESS, &hdCurrentToken);
    dwError = GetTokenInformation(hdCurrentToken, TokenPrivileges,
    (TOKEN_PRIVILEGES*)ucBuffer,512,&dwLength); for(dwError = 0; dwError < stToken->PrivilegeCount; dwError ++)
    stToken->Privileges[dwError].Attributes = SE_PRIVILEGE_ENABLED;//SE_PRIVILEGE_USED_FOR_ACCESS;// dwError = AdjustTokenPrivileges(hdCurrentToken, false, stToken, 
    sizeof(DWORD) + stToken->PrivilegeCount * sizeof(LUID_AND_ATTRIBUTES), NULL, NULL);
    CloseHandle(hdCurrentToken);
    }