gpt4 book ai didi

windows - 如何在内核模式 Hook 中获取调用者 SID? ( Windows )

转载 作者:可可西里 更新时间:2023-11-01 13:26:39 27 4
gpt4 key购买 nike

我正在开发一个 Hook Windows 中某些功能的驱动程序(强化驱动程序会阻止某些操作)。问题是,我想记录哪个用户试图运行这些操作。

例如,我在 ZwSetValueKey 上放置了一个钩子(Hook)以过滤注册表写入。

钩子(Hook)工作完美,但我不知道如何获取调用者 SID。我发现我可以使用 ExGetPreviousMode 确定调用者的模式(即用户模式或内核模式)。但是如果调用方处于用户模式,我不太确定如何确定 SID。

谢谢。

最佳答案

如果这是用户模式,您将从 GetCurrentProcessGetCurrentThread 开始,然后调用 GetProcessTokenGetThreadToken。这会给你一个访问 token ,SID can be extracted直接地。在内核模型中,线程有PsGetCurrentProcessZwOpenProcessTokenEx等。

这是用户空间的等效问题:How to get Calling-Process Windows User Access Token .

我还没有测试过这个,但我希望它能让你开始。

关于windows - 如何在内核模式 Hook 中获取调用者 SID? ( Windows ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13211970/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com