如何在内核模式钩子中获取调用者SID? (视窗)
发布时间:2020-12-14 02:26:05 所属栏目:Windows 来源:网络整理
导读:我正在开发一个在 Windows中挂钩一些函数的驱动程序(强化驱动程序会阻止某些操作).问题是,我想记录试图运行这些操作的用户. 例如,我在ZwSetValueKey上放了一个钩子来过滤注册表编写. 钩子工作得很好,但我不知道如何获得调用者SID.我发现我可以使用ExGetPrevi
我正在开发一个在
Windows中挂钩一些函数的驱动程序(强化驱动程序会阻止某些操作).问题是,我想记录试图运行这些操作的用户.
例如,我在ZwSetValueKey上放了一个钩子来过滤注册表编写. 钩子工作得很好,但我不知道如何获得调用者SID.我发现我可以使用ExGetPreviousMode确定调用者的模式(即用户模式或内核模式).但是,如果调用者处于用户模式,我不确定如何确定SID. 谢谢. 解决方法
如果这是用户模式,则从GetCurrentProcess或GetCurrentThread开始,然后调用GetProcessToken或GetThreadToken.这将为您提供一个访问令牌,直接从
SID can be extracted.在内核模型中,有针对线程的PsGetCurrentProcess和ZwOpenProcessTokenEx等.
以下是用户空间的等效问题:How to get Calling-Process Windows User Access Token. 我没有测试过这个,但我希望它可以让你开始. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – 禁用“应用程序已停止工作”窗口
- windows-update – 是否有“wusa.exe”的完整返回代码列表?
- winforms – 拖放Windows窗体按钮
- windows – “提供远程协助”是否有“运行”命令?
- windows-8 – 我可以将Windows Phone和Windows 8 App从一个
- windows – 如何找出从文件夹中读取的文件
- windows – 域名登录非常慢10分钟
- windows-server-2012 – 可以使用填充程序来更改Windows版本
- windows-server-2003 – 增加允许的远程桌面连接数
- Windows和Linux之间的Python Multiprocess差异
推荐文章
站长推荐
- windows – 如果环境变量有空格,则find_path不起
- windows-server-2008 – 如何阻止Windows 2008登
- xaml – Windows Phone Toolkit ListPicker引发未
- 在我的DLL中的Delphi中,我必须分配一个函数的ret
- Win32 C控制台清除屏幕没有闪烁
- windows – 除了ICON_BIG之外,如何让Delphi 10.2
- windows – 如何从Subversion存储库中删除意外放
- 当Windows服务器想要重新启动以完成卸载功能/角色
- 为Winthreads for XP实现CRITICAL_SECTIONs的条件
- Windows下Git的用法(一)
热点阅读