OpenProcess:仅在Windows 8.1上访问被拒绝错误
我有一个调整SeDebugPrivilege的程序,然后开始迭代系统进程并为它们调用OpenProcess(并做其他事情,但现在并不重要).此外,程序当然也以管理员模式运行.在
Windows XP和
Windows 7上,它可以正常工作,但在Windows 8.1上,使用ERROR_ACCESS_DENIED(5)的以下系统进程的OpenProcess失败:smss.exe,csrss.exe,services.exe.正如我所知,使用SeDebugPrivilege,我应该能够打开这些进程并为它们检索句柄.有没有人有线索,只有在Windows 8.1上才会出现这种错误?
(无论如何,我对CreateToolhelp32Snapshot的相同进程有相同的错误) 解决方法
Windows 8.1引入了
system protected process的概念.这在第三方反恶意软件软件的上下文中有记录,但是假设它也用于保护特别关键的系统进程似乎是合理的.
受系统保护的进程是Windows Vista中引入的Protected Process mechanism(Microsoft Word文档)的扩展,作为DRM措施. 即使使用调试权限,也无法获取受保护进程的任何访问权限: >删除 您仍然可以通过请求PROCESS_QUERY_LIMITED_INFORMATION访问权限来打开该流程.根据文档,还允许SYNCHRONIZE和PROCESS_TERMINATE访问. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- powershell – Windows期望命令等效
- windows – getCPUTime只返回两个值(0或15625000000) – 这
- 单元测试 – 如何在实际项目中的Microsoft Dynamics AX 201
- windows-server-2008-r2 – 来自非域客户端的域服务器的RDP
- windows-8 – 如何在WinRT中创建一个tap可移动控件?
- winforms – 64位构建于microsoft visual c express 2010
- jmeter压测配置
- 哪个是Windows并发tcp / ip连接的最大数量?
- winapi – 从进程ID获取进程名称(win32)
- Windows 7中的Taskbar进度条