首页
社区
课程
招聘
[已解决]能否用OpenProcess打开系统进程
发表于: 2006-1-7 16:47 8583

[已解决]能否用OpenProcess打开系统进程

2006-1-7 16:47
8583
我用OpenProcess可以打开用户进程,但打开系统进程时返回Null。
请问能否用OpenProcess打开系统进程,我想写进程内存?
如果不能,有什么办法可以写系统进程的内存?用CreateRemoteThread创建远程线程改行不?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 214
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
提升权限..
2006-1-8 11:57
0
雪    币: 207
活跃值: (40)
能力值: ( 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);
2006-1-8 12:24
0
雪    币: 215
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
谢谢^_^!!!

问题已解决。花了我一个多小时~~~

另,我上面提的用CreateRemoteThread原来也需要OpenProcess()返回的HANDLE

小菜有时会有些荒谬~~^_^希望大家别介意~~~~

愿与各位共同进步~~~
2006-1-8 12:48
0
雪    币: 212
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
怎么解决的啊。我现在也遇到这个问题。

瑞星的卡卡可以列出:smss.exe,winlogon.exe 的调用模块。可我列不出来啊
2006-12-29 09:52
0
游客
登录 | 注册 方可回帖
返回
//