wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了OpenProcess:仅在Windows 8.1上访问被拒绝错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有一个调整SeDebugPrivilege的程序,然后开始迭代系统进程并为它们调用OpenProcess(并做其他事情,但现在并不重要).此外,程序当然也以管理员模式运行.在 Windows XP和 Windows 7上,它可以正常工作,但在Windows 8.1上,使用ERROR_ACCESS_DENIED(5)的以下系统进程的OpenProcess失败:smss.exe,csrss.exe,
我有一个调整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措施.

即使使用调试权限,也无法获取受保护进程的任何访问权限:

>删除
> READ_CONTROL
> WRITE_DAC
> WRITE_owneR
> PROCESS_create_tHREAD
> PROCESS_DUP_HANDLE
> PROCESS_QUERY_INFORMATION
> PROCESS_SET_QUOTA
> PROCESS_SET_INFORMATION
> PROCESS_VM_OPERATION
> PROCESS_VM_READ
> PROCESS_VM_WRITE

您仍然可以通过请求PROCESS_QUERY_LIMITED_INFORMATION访问权限来打开该流程.根据文档,还允许SYNCHRONIZE和PROCESS_TERMINATE访问.

大佬总结

以上是大佬教程为你收集整理的OpenProcess:仅在Windows 8.1上访问被拒绝错误全部内容,希望文章能够帮你解决OpenProcess:仅在Windows 8.1上访问被拒绝错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。