当前位置: 首页 > news >正文

微软NativeApi-NtQuerySystemInformation

微软有一个比较实用的Native接口:NtQuerySystemInformation,具体可以参考微软msdn官方文档:NtQuerySystemInformation, 是一个系统函数,用于收集特定于所提供的指定种类的系统信息。ProcessHacker等工具使用NtQuerySystemInformation这个函数获取当前系统的处理器CPU核数,系统进程信息(包括CPU使用率、IO等)。

Native API乃Windows用户模式中为上层Win32 API提供接口的本机系统服务。平常我们总是调用MS为我们提供的公用的Win32 API函数来实现来实现我们系统的功能。今天我们要谈的是如何通过本机系统服务(Native API)来探测本机系统信息。当然,微软没有为我们提供关于本机系统服务的文档 (Undocumented),也就是不会为对它的使用提供任何的保证,所以我们不提倡使用Native API来开发软件。不过在特殊情况下,本机系统服务却为我们提供了通向“秘密”的捷径,详细介绍了NtQuerySystemInformation的技术秘密。

使用 NTQuerySystemInformation 列出 Windows 进程

有一篇文章介绍了使用 NTQuerySystemInformation 列出 Windows 进程,具体地址为:Windows Process Listing using NTQuerySystemInformation,对应Github代码地址为:WinAPI-RedBlue
WinAPI-RedBlue源代码

具体的位置为:WinAPI-RedBlue/Process Listing/NT Query System Api/
NT Query System Api

下载WinAPI-RedBlue源代码后,对应目录结果如下:
WinAPI-RedBlue
使用VS2022打开【WinAPI-RedBlue\Process Listing】下的Process Listing.sln解决方案工程文件,然后运行其中的NT Query System Api项目,可以获取当前系统中所有运行的进程信息,如下图所示:

VS2022中打开运行NT Query System Api`项目

参考资料

  • NtQuerySystemInformation函数
  • Windows Process Listing using NTQuerySystemInformation
  • Breaking Down System Routines #2 [NtQuerySystemInformation]
  • procprv.c
http://www.lryc.cn/news/257850.html

相关文章:

  • 灵活与高效的结合,CodeMeter Cloud Lite轻云锁解决方案
  • Flink 系列文章汇总索引
  • 计算机网络——期末考试复习资料
  • 【数据结构】面试OJ题——链表
  • flask web开发学习之初识flask(三)
  • 【设计模式-3.1】结构型——外观模式
  • flutter学习-day2-认识flutter
  • 解决selenium使用.get()报错:unknown error: unsupported protocol
  • 关于加密解密,加签验签那些事
  • 容器重启后,Conda文件完整保存(虚拟环境、库包),如何重新安装conda并迁移之前的虚拟环境
  • gitee对接使用
  • C语言中的一维数组与二维数组
  • 【Linux】地址空间
  • 作为一个产品经理带你了解Axure的安装和基本使用
  • 接口测试总结及其用例设计方法
  • 2023团体程序设计天梯赛——模拟赛和总决赛题
  • 智能优化算法应用:基于人工蜂鸟算法无线传感器网络(WSN)覆盖优化 - 附代码
  • 视频中自监督学习:「我的世界」下指令理解与跟随
  • Spring基于xml半注解开发
  • 功能测试,接口测试,自动化测试,压力测试,性能测试,渗透测试,安全测试,具体是干嘛的?
  • oracle 下载java之前版本
  • LLM之Agent(四)| AgentGPT:一个在浏览器运行的Agent
  • AGM离线下载器使用说明
  • viple与物理机器人(一):线控模拟
  • Appium 并行测试多个设备
  • 高防IP是什么? 防护CC 对抗DDOS
  • 使用消息队列遇到的问题—kafka
  • Linux系统---基于Pipe实现一个简单Client-Server system
  • CentOS7安装最新版本git
  • Java项目-瑞吉外卖Day3