关于进程访问权限的问题

发布于 2024-09-30 19:01:00 字数 136 浏览 10 评论 0原文

我得到以下场景:

进程 A 创建进程 B,然后 B 尝试使用 OpenProcess() 获取 A 的句柄。我希望 B 拥有 A 的 PROCESS_ALL_ACCESS 权限。

我应该如何实现这一点?

谢谢。

I got the following scenario:

Process A create process B, and then B try to get a handle of A with OpenProcess(). I want B to have PROCESS_ALL_ACCESS rights to A.

How should I achieve this?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

遗弃M 2024-10-07 19:01:00

对于父级来说,最简单的方法可能是避免子级完全调用 OpenProcess。相反,让父级检索自身的句柄(它将自动拥有所有访问权限),然后使用 bInheritHandle = true 调用 DuplicateHandle。然后,当它创建进程 B 时,该句柄(具有对进程 A 的完全访问权限)将已在子进程中打开。进程A只需将句柄传递给进程B,进程B就可以使用它。

Probably the easiest way is for the parent to avoid the child having to call OpenProcess at all. Instead, have the parent retrieve a handle to itself (which will automatically have all access) and then call DuplicateHandle with bInheritHandle = true. Then when it creates process B, that handle (with full access to process A) will already be open in the child. Process A simply has to pass the handle to process B, and process B can use it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文