能力值:
( LV6,RANK:90 )
2 楼
提升权限..
能力值:
( LV2,RANK:10 )
3 楼
最初由 不知所谓 发布 我用OpenProcess可以打开用户进程,但打开系统进程时返回Null。 请问能否用OpenProcess打开系统进程,我想写进程内存? 如果不能,有什么办法可以写系统进程的内存?用CreateRemoteThread创建远程线程改行不?
要有SeDebugPrivilege权限才能打开系统进程。MSDN上是这么说的:If the caller has enabled the SeDebugPrivilege privilege, the requested access is granted regardless of the contents of the security descriptor.
下面这段代码可以获得SeDebugPrivilege权限:
HANDLE hToken;
LUID DebugNameValue;
TOKEN_PRIVILEGES Privileges;
DWORD dwRet;
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
LookupPrivilegeValue(NULL, "SeDebugPrivilege", &DebugNameValue);
Privileges.PrivilegeCount=1;
Privileges.Privileges[0].Luid=DebugNameValue;
Privileges.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE,&Privileges, sizeof(Privileges), NULL, &dwRet);
CloseHandle(hToken);
能力值:
( LV4,RANK:50 )
4 楼
谢谢^_^!!!
问题已解决。花了我一个多小时~~~
另,我上面提的用CreateRemoteThread原来也需要OpenProcess()返回的HANDLE
小菜有时会有些荒谬~~^_^希望大家别介意~~~~
愿与各位共同进步~~~
能力值:
( LV4,RANK:50 )
5 楼
怎么解决的啊。我现在也遇到这个问题。 瑞星的卡卡可以列出:smss.exe,winlogon.exe 的调用模块。可我列不出来啊