24,855
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <windows.h>
using namespace std;
bool EnableDebugPriv()
{
HANDLE hToken;
LUID sedebugnameValue;
TOKEN_PRIVILEGES tkp;
if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) {
return false;
}
if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &sedebugnameValue)) {
CloseHandle(hToken);
return false;
}
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Luid = sedebugnameValue;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if (!AdjustTokenPrivileges(hToken, FALSE, &tkp, sizeof(tkp), NULL, NULL)) {
CloseHandle(hToken);
return false;
}
return true;
}
int main ()
{
int a = 0;
HANDLE hHnd = NULL;
if(EnableDebugPriv())
{
cout << "OK\n";
}
else
{
cout << "Mark\n";
}
for(int i=0; i<600; i++)
{
hHnd = OpenProcess(PROCESS_ALL_ACCESS, FALSE, i);
if(hHnd)
{
cout << hHnd << "\t" << i << "\n";
CloseHandle(hHnd);
hHnd = NULL;
}
}
return 0 ;
}
OK
00000090 340
00000090 341
00000090 342
00000090 343
00000090 356
00000090 357
00000090 358
00000090 359
00000090 416
00000090 417
00000090 418
00000090 419
00000090 516
00000090 517
00000090 518
00000090 519
00000090 576
00000090 577
00000090 578
00000090 579
00000090 584
00000090 585
00000090 586
00000090 587