论坛: 编程破解 标题: 关于枚举进程和模块时的权限问题 复制本贴地址    
作者: 处女座的沙加 [virgoshaka]    论坛用户   登录
最近看WINDOWS核心编程,把书上的代码试了一下,发现枚举进程和模块的时候好像有问题。。
我用的是Toolhelp函数,先CreateToolhelp32Snapshot创建映像,再Module32First,Module32Next枚举,一开始不能枚举系统进程的模块,CreateToolhelp32Snapshot返回Oxffffffff,GetLastError是拒绝访问。后来发现书上多用了一个EnableDebugPrivilege函数提升到SE_DEBUG_NAME权限的,就加上去,这下能访问winlogon之类的系统进程了,但还是有两个进程拒绝访问,是卡巴6的avp.exe和天网的pfw.exe,也是和上面一样,返回0xffffff,拒绝访问,问一下,什么原因?如何解决?能贴出代码就更好了。。。

这是EnableDebugPrivilege的代码
代码:

BOOL EnableDebugPrivilege(BOOL fEnable)
{

  // Enabling the debug privilege allows the application to see
  // information about service applications
  BOOL fOk = FALSE;    // Assume function fails
  HANDLE hToken;

  // Try to open this process's access token
  if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES,
      &hToken)) {

      // Attempt to modify the "Debug" privilege
      TOKEN_PRIVILEGES tp;
      tp.PrivilegeCount = 1;
      LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tp.Privileges[0].Luid);
      tp.Privileges[0].Attributes = fEnable ? SE_PRIVILEGE_ENABLED : 0;
      AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL);
      fOk = (GetLastError() == ERROR_SUCCESS);
      CloseHandle(hToken);
  }
  return(fOk);
}




[此贴被 处女座的沙加(virgoshaka) 在 03月15日01时24分 编辑过]


[此贴被 处女座的沙加(virgoshaka) 在 03月15日01时33分 编辑过]

地主 发表时间: 07-03-15 01:08

回复: jhkdiy [jhkdiy]   版主   登录
核心编程买了一直没看~~~
相信这两个进程可能做了手脚,不过具体是什么技术就不知道了。有待研究。

B1层 发表时间: 07-03-17 16:23

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号