我从DuplicateHandle
的签名和documentation了解到我可以从外部(可能不相关的)进程复制句柄,因为我有权限并且知道进程ID和句柄值。这是真的吗?
如果是,那么必须向进程和/或句柄授予哪些权限?
答案 0 :(得分:0)
是的,如果您可以使用PROCESS_DUP_HANDLE访问权限打开它,则任何进程都有重复的句柄。如果你知道进程ID - 可能你可以打开进程。关于句柄权限,通常使用DUPLICATE_SAME_ACCESS标志,你在新句柄中获得相同的权限
答案 1 :(得分:0)
DuplicateHandle()的文档中描述了这一点:
hSourceProcessHandle [in]
要复制句柄的进程句柄。
句柄必须具有PROCESS_DUP_HANDLE访问权限。
因此,远程流程的ACL必须授予您PROCESS_DUP_HANDLE
,并且您必须在调用OpenProcess()时请求该权限。
句柄本身没有ACL。如果您有PROCESS_DUP_HANDLE
,则可以在此过程中复制任何有效句柄。