我有一个尝试使用以下方法打开事件的进程-1
LPCWSTR a = L"ShellReadyEvent";
HANDLE hEvent = OpenEvent ( EVENT_ALL_ACCESS , 0, a );
我正在尝试在后台创建一个可以更改访问权限的进程 甚至是。
我正在尝试使用以下方法在进程-2下使用create事件:
HANDLE hEvent = CreateEvent ( 0 , 1 , 1 , a );
我想将lpEventAttributes(第一个参数)替换为阻止第一个进程但没有运气和想法的东西?
答案 0 :(得分:1)
使用与进程-2不同的用户帐户运行进程-1,然后进程-2可以创建拒绝访问该用户的SECURITY_DESCRIPTOR
,并使用{{3}将其传递给CreateEvent()
结构。
要实际创建SECURITY_DESCRIPTOR
,您可以:
使用SECURITY_ATTRIBUTES
和InitializeAcl()
创建一个拒绝进程1的用户帐户SID
的ACL。使用AddAccessDeniedAce()
或相关功能获取用户的SID。使用LookupAccountName()
和InitializeSecurityDescriptor()
创建使用ACL的SetSecurityDescriptorDacl()
。
使用SECURITY_DESCRIPTOR
从描述ACL中所需内容的字符串创建SECURITY_DESCRIPTOR
。请参阅此示例:ConvertStringSecurityDescriptorToSecurityDescriptor()
。