Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用令牌和特权的程序 我想创建一个特权有限的C++程序。我在互联网上做了一些研究,发现我必须创建一个令牌,然后使用AdjustTokenPrivileges()方法更改其权限_C++_Security_Methods_Token - Fatal编程技术网

使用令牌和特权的程序 我想创建一个特权有限的C++程序。我在互联网上做了一些研究,发现我必须创建一个令牌,然后使用AdjustTokenPrivileges()方法更改其权限

使用令牌和特权的程序 我想创建一个特权有限的C++程序。我在互联网上做了一些研究,发现我必须创建一个令牌,然后使用AdjustTokenPrivileges()方法更改其权限,c++,security,methods,token,C++,Security,Methods,Token,然而,我不太明白如何做到这一点。有人能给我提供一个如何创建令牌和禁用其权限的示例吗?谢谢:)您是否查看了位于的示例?似乎您只需要在使用GetTokenInformation()函数后确定哪些令牌是哪些令牌,然后禁用其中的一些令牌 [编辑] 详细解释一下 对GetTokenInformation()的第一个调用获取令牌priveledge info对象的长度(以字节为单位) 然后在堆上实际构建一个大小相同的缓冲区 第二个调用检索令牌信息对象并将其存储在缓冲区中 然后,您将缓冲区重新转换为TOKE

然而,我不太明白如何做到这一点。有人能给我提供一个如何创建令牌和禁用其权限的示例吗?谢谢:)

您是否查看了位于的示例?似乎您只需要在使用GetTokenInformation()函数后确定哪些令牌是哪些令牌,然后禁用其中的一些令牌

[编辑] 详细解释一下

  • 对GetTokenInformation()的第一个调用获取令牌priveledge info对象的长度(以字节为单位)
  • 然后在堆上实际构建一个大小相同的缓冲区
  • 第二个调用检索令牌信息对象并将其存储在缓冲区中
  • 然后,您将缓冲区重新转换为TOKEN_PRIVILEGES*,这允许您正确地解释它
  • 然后循环遍历此对象的特权成员,并将不同的属性设置为allowed
给你。对于Priviledges数组的每个成员,可以使用查找priviledge的名称

这是一份清单

在知道priviledge是什么后(即通过检查名称),可以将priviledge[i]成员的属性设置为以下属性之一:

  • SE_特权已启用
  • 默认情况下,SE_权限已启用
  • 特权被删除
  • SE_权限\u用于\u访问

在您的情况下,我确信这将是第三个。您是否查看了位于的示例?似乎您只需要在使用GetTokenInformation()函数后确定哪些令牌是哪些令牌,然后禁用其中的一些令牌

[编辑] 详细解释一下

  • 对GetTokenInformation()的第一个调用获取令牌priveledge info对象的长度(以字节为单位)
  • 然后在堆上实际构建一个大小相同的缓冲区
  • 第二个调用检索令牌信息对象并将其存储在缓冲区中
  • 然后,您将缓冲区重新转换为TOKEN_PRIVILEGES*,这允许您正确地解释它
  • 然后循环遍历此对象的特权成员,并将不同的属性设置为allowed
给你。对于Priviledges数组的每个成员,可以使用查找priviledge的名称

这是一份清单

在知道priviledge是什么后(即通过检查名称),可以将priviledge[i]成员的属性设置为以下属性之一:

  • SE_特权已启用
  • 默认情况下,SE_权限已启用
  • 特权被删除
  • SE_权限\u用于\u访问

在您的情况下,我确信这将是第三个。

说实话,我对代币还很陌生,不知道从哪里开始。我自己已经学会了C和C++,这些概念中的大多数对我来说都是新的:告诉你真相,我对令牌很陌生,不知道从哪里开始。我自己学习C和C++,这些概念中的大多数对我来说都是新的: