使用令牌和特权计划(Program using tokens and privileges)

2019-10-17 08:49发布

我想创建一个具有有限特权的C ++程序。 我在网上发了一些研究,发现我要创建一个令牌,然后使用AdjustTokenPrivileges()方法来改变其特权。

不过,我不明白这是怎么做。 可有人请我提供的如何创建一个令牌,并禁用其权限的例子吗? 谢谢 :)

Answer 1:

你看看在例如执行特权操作使用C ++ ? 好像你只需要弄清楚哪些记号是其使用GetTokenInformation()函数,再经过禁用其中的一些。

[编辑]在一个位更详细地解释。

  • 到GetTokenInformation第一次调用()让你的令牌priveledge信息对象的长度,以字节为单位。
  • 然后,你实际上建立在堆中大小的缓冲区。
  • 第二个电话检索你的缓冲区令牌信息对象,并将其存储。
  • 然后,你再投你的缓冲区TOKEN_PRIVILEGES *,它允许你正确地解释它。
  • 然后,你遍历这个对象的特权成员,并设置不同的属性允许的。

以下是有关TOKEN_PRIVILEDGES结构细节 。 对于权限的阵列中的每个成员,你可以看一下使用特权的名称LookupPrivilegeName 。

这里是清单特权名称和说明 。

你知道以后有什么特权是(通过检查名字IE),您可以设置权限的[I]成员的属性到一个

  • SE_PRIVILEGE_ENABLED
  • SE_PRIVILEGE_ENABLED_BY_DEFAULT
  • SE_PRIVILEGE_REMOVED
  • SE_PRIVILEGE_USED_FOR_ACCESS

在你的情况,我侦察这将是主要的三分之一。



文章来源: Program using tokens and privileges