微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

分配JobObject以使用从SYSTEM服务启动的非零会话ID进行处理

如何解决分配JobObject以使用从SYSTEM服务启动的非零会话ID进行处理

我有一个Windows SYstem服务,该服务需要在已登录用户的上下文中启动新进程。与此同时,我需要为新流程创建一个具有一定限制的工作。

我正在提取explorer.exe的进程令牌,并将其复制以创建主令牌。我在CreateProcessAsUser中使用此令牌创建了一个新的进程,该进程在会话上下文为非零的用户上下文中运行。当我将作业分配给该进程时,AssignProcesstoJobObject函数将失败,并显示访问被拒绝错误。具体来说,我无法设置JOBOBJECT_BASIC_UI_RESTRICTIONS的限制(不过JOBOBJECT_EXTENDED_LIMIT_informatION可以使用)。

该进程被创建为挂起状态,在分配了作业之后,我恢复了线程。

当我使用当前进程的令牌(即会话ID为0的SYstem服务)而不是explorer.exe时,一切正常。

我正在Windows 10上对此进行测试

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。