无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4257|回复: 6
打印 上一主题 下一主题

[讨论] [记录] SYSTEM_INFORMATION_CLASS

[复制链接]
跳转到指定楼层
1#
发表于 2023-4-26 21:42:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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 或以上版本


2#
发表于 2023-4-26 22:06:32 | 只看该作者
感谢分享!
回复

使用道具 举报

3#
发表于 2023-4-26 22:10:21 | 只看该作者
本帖最后由 wintoflash 于 2023-4-26 22:13 编辑

前几天刚研究过这个,没想到你就发贴了。。。http://bbs.wuyou.net/forum.php?m ... &fromuid=487838
--------
不知道用 NtQuerySystemEnvironmentValueEx 是否需要 SE_SYSTEM_ENVIRONMENT_NAME 特权?还有我没有查到这个 API 所需的最低 NT 版本是多少。

点评

NtQuerySystemEnvironmentValue, NtQuerySystemEnvironmentValueEx 和 NtSetSystemEnvironmentValue 函数的资料我也搜索过,但可获得的相关信息量非常少  详情 回复 发表于 2023-4-27 11:03
回复

使用道具 举报

4#
 楼主| 发表于 2023-4-27 11:03:21 | 只看该作者
wintoflash 发表于 2023-4-26 22:10
前几天刚研究过这个,没想到你就发贴了。。。http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost& ...

NtQuerySystemEnvironmentValue, NtQuerySystemEnvironmentValueEx 和 NtSetSystemEnvironmentValue 函数的资料我也搜索过,但可获得的相关信息量非常少
回复

使用道具 举报

5#
发表于 2023-4-27 13:29:58 | 只看该作者
感谢分享哦
回复

使用道具 举报

6#
发表于 2023-4-27 17:33:35 | 只看该作者
谢谢分享
回复

使用道具 举报

7#
发表于 2023-5-19 14:36:04 | 只看该作者
        很给力!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 08:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表