无忧启动论坛

标题: [记录] SYSTEM_INFORMATION_CLASS [打印本页]

作者: Bluebells    时间: 2023-4-26 21:42
标题: [记录] SYSTEM_INFORMATION_CLASS
本帖最后由 Bluebells 于 2023-4-26 21:45 编辑

调用 NtQuerySystemInformation(ZwQuerySystemInformation), NtQuerySystemInformationEx(ZwQuerySystemInformationEx) 和 NtSetSystemInformation(ZwSetSystemInformation) 函数可以查询(设置)到很多系统信息. 而其中一个选项需要用到 SYSTEM_INFORMATION_CLASS, 但有很多 class 都没有文档化(未公开)

最近几天找到不少有关这些函数的信息, 故在此整理记录一下

先贴一个网址: https://www.geoffchappell.com/st ... formation_class.htm
上面网页的内容里有一个表格, 里面记录了各个 System Information classes 的值, 名称, 适用版本范围, 备注信息

再贴一个网址: https://github.com/yardenshafir/InformationClasses
这个网页的内容里又有一个表格, 里面记录了各个 System Information classes 适用于哪个函数...
最关键的是这个表格中有列出一些 class 所需的某特权
表格下面还有一些 class 的结构体信息

然后上传一个 NtQuerySystemInformation.h 文件, 里面详细记录了一些 System Information classes 的结构体的详细信息
NtQuerySystemInformation.txt (57.66 KB, 下载次数: 3)
由于上传文件扩展名限制文件, 建议在下载后更改其扩展名, 以便一些文本编辑器的正确显示语法高亮
PS: 此文件下载自 https://gist.github.com/jNizM/ddf02494cd78e743eed776ce6164758f

最后再上传一个从 github 下载的 ntexapi.h
ntexapi.txt (241.18 KB, 下载次数: 6)
由于上传文件扩展名限制文件, 建议在下载后更改其扩展名, 以便一些文本编辑器的正确显示语法高亮
PS: 其实 github 上可以下载到很多 ntexapi.h, 但我找到的这个里面有非常详细的信息

再啰嗦一下, 很多人都是使用 GetFirmwareEnvironmentVariable 函数加 GetFirmwareType 函数以获取系统的启动模式, 其实使用 NtQuerySystemInformation 函数的 SystemBootEnvironmentInformation class 更简易
PS: SystemBootEnvironmentInformation 需要 NT6.0 或以上版本
使用 SystemSecureBootInformation class 获取安全启动状态也很简易, 不需要启用 SE_SYSTEM_ENVIRONMENT_NAME 特权, 不需要固件环境变量的命名空间(GUID), 可惜的是这个 class 需要 NT6.2 或以上版本



作者: yc2428    时间: 2023-4-26 22:06
感谢分享!
作者: wintoflash    时间: 2023-4-26 22:10
本帖最后由 wintoflash 于 2023-4-26 22:13 编辑

前几天刚研究过这个,没想到你就发贴了。。。http://bbs.wuyou.net/forum.php?m ... &fromuid=487838
--------
不知道用 NtQuerySystemEnvironmentValueEx 是否需要 SE_SYSTEM_ENVIRONMENT_NAME 特权?还有我没有查到这个 API 所需的最低 NT 版本是多少。
作者: Bluebells    时间: 2023-4-27 11:03
wintoflash 发表于 2023-4-26 22:10
前几天刚研究过这个,没想到你就发贴了。。。http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost& ...

NtQuerySystemEnvironmentValue, NtQuerySystemEnvironmentValueEx 和 NtSetSystemEnvironmentValue 函数的资料我也搜索过,但可获得的相关信息量非常少
作者: yyz2191958    时间: 2023-4-27 13:29
感谢分享哦
作者: 2010wxy    时间: 2023-4-27 17:33
谢谢分享
作者: erfsdfs    时间: 2023-5-19 14:36
        很给力!




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3