我想使用WinAPI的
例如,使用名称为“Global\cd689f00-0462-11e5-b939-0800200c9a66”的互斥锁进行创建。因此,只有知道互斥锁名称的进程才能访问该互斥锁。但这并不是一个好的解决方案,因为您仍然可以使用Winobj.exe,并且仍有一些机会找到该互斥锁。我希望通过类似ACL(访问控制列表)的东西来保护此互斥锁。问题是,我找不到创建自己SID的方法。
以下是我所了解的和所需的: 1. 我知道我可以通过命名为“Global\MyMutexName”之类的方式使互斥锁被许多进程访问。 2. 我也尝试理解MSDN上提到的ACL和SID。但我仍然找不到创建自己SID的方法(也许这没有意义?)。 3. 我不想升级我的进程到管理员。
CreateMutex()
和OpenMutex()
创建一个Windows互斥锁。但出于安全考虑,我希望只有知道“密码”或硬编码魔术代码的进程才能打开该互斥锁。我不希望每个进程都可以访问该互斥锁。例如,使用名称为“Global\cd689f00-0462-11e5-b939-0800200c9a66”的互斥锁进行创建。因此,只有知道互斥锁名称的进程才能访问该互斥锁。但这并不是一个好的解决方案,因为您仍然可以使用Winobj.exe,并且仍有一些机会找到该互斥锁。我希望通过类似ACL(访问控制列表)的东西来保护此互斥锁。问题是,我找不到创建自己SID的方法。
以下是我所了解的和所需的: 1. 我知道我可以通过命名为“Global\MyMutexName”之类的方式使互斥锁被许多进程访问。 2. 我也尝试理解MSDN上提到的ACL和SID。但我仍然找不到创建自己SID的方法(也许这没有意义?)。 3. 我不想升级我的进程到管理员。
CreatePrivateNamespace
。我稍后会尝试并在这里更新结果。 - Calvin Wu