探测Win2K/XP/2003本机系统信息
日期:2007年8月6日 作者: 查看:[大字体 中字体 小字体]-
Native API乃Windows用户模式中为上层Win32 API提供接口的本机系统服务。平常我们总是调用MS为我们提供的公用的Win32 API函数来实现来实现我们系统的功能。今天我们要谈的是如何通过本机系统服务(Native API)来探测本机系统信息。当然,微软没有为我们提供关于本机系统服务的文档 (Undocumented),也就是不会为对它的使用提供任何的保证,所以我们不提倡使用Native API来开发软件。不过在特殊情况下,本机系统服务却为我们提供了通向“秘密”的捷径。本文提到的信息仅在Windows2000/XP/2003上测试过。
今天,我们主要讨论的是一个函数NtQuerySystemInformation(ZwQuerySystemInformation)。当然,你不要小看这么一个函数,它却为我们提供了丰富的系统信息,同时还包括对某些信息的控制和设置。以下是这个函数的原型:
typedef NTSTATUS (__stdcall *NTQUERYSYSTEMINFORMATION)
(IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
IN OUT PVOID SystemInformation,
IN ULONG SystemInformationLength,
OUT PULONG ReturnLength OPTIONAL);
NTQUERYSYSTEMINFORMATION NtQuerySystemInformation;从中可以看到,SystemInformationClass是一个类型信息,它大概提供了50余种信息,也就是我们可以通过这个函数对大约50多种的系统信息进行探测或设置。SystemInformation是一个LPVOID型的指针,它为我们提供需要获得的信息,或是我们需要设置的系统信息。SystemInformationLength是SystemInformation的长度,它根据探测的信息类型来决定。至于ReturnLength则是系统返回的需要的长度,通常可以设置为空指针(NULL)。
首先,我们来看看大家比较熟悉的系统进程/线程相关的信息。这个题目在网上已经讨论了N多年了,所以我就不在老生常谈了,呵呵。那么就提出这个结构类型的定义:
typedef strUCt _SYSTEM_PROCESSES
{
ULONG NextEntryDelta; //构成结构序列的偏移量;
ULONG ThreadCount; //线程数目;
ULONG Reserved1[6];
LARGE_INTEGER CreateTime; //创建时间;
LARGE_INTEGER UserTime; //用户模式(Ring 3)的CPU时间;
LARGE_INTEGER KernelTime; //内核模式(Ring 0)的CPU时间;
UNICODE_STRING ProcessName; //进程名称;
KPRIORITY BasePriority; //进程优先权;
ULONG ProcessId; //进程标识符;
ULONG InheritedFromProcessId; //父进程的标识符;
ULONG HandleCount; //句柄数目;
ULONG Reserved2[2]; - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] 下一页
-
- 探测Win2K/XP/2003本机系统信息 相关文章:
- ·一般中学校园网组建方案探讨
- ·[探讨]errcannotlogin,解决办法
- ·中专学校校园网组建方案探讨
- ·linux下面Makefile探索
- ·qq堂探险0-30J勇气/等级/血量表!
- ·游戏外挂设计技术探讨
- ·理解jsp模式2架构:MVC设计模式探险
- ·设计模式探索系列之Bridge模式
- ·SPARC王朝回归?Sun UltraSPARC T1规格初探
- ·初探Vista防火墙高级配置功能
- 探测Win2K/XP/2003本机系统信息 相关软件
- ·帝国时代3:探险时代
- ·宝石探秘2(Jewel Quest 2)
- ·网络嗅探工具Wireshark(Ethereal) V0.99.5
- ·校园侦探亦天系列之《血染密室》
- ·模拟城市3000探索无限中文版
- ·文件夹嗅探器 V3.51
- ·深海探密
- ·名侦探秃作
- ·福尔摩斯探案全集(中)
- ·股市神探 V1.26
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:变Win 2003为工作站
精品推荐
热点TOP10
- ·GPMC:组策略的大管家
- ·解析远程桌面连接
- ·Windows2000/XP/2003系统默认共享的关闭
- ·在Win 2000中使用MSN Messenger7.5
- ·服务器应用之“远程桌面连接”(1)
- ·终端服务与远程桌面区别
- ·发挥Windows Server 2003远程桌面的作用
- ·Windows命令
- ·Win 2003中的分区魔术师:Diskpart
- ·win2003用户必看
- ·通过 Windows Server 2003 建立虚拟专用网络(1)
- ·设置远程桌面连接(1)
- ·用Windows 2003实现软RAID
- ·打造完美操作系统的秘籍
- ·探测Win2K/XP/2003本机系统信息
- ·win2000--2003超级技巧(1)
- ·Window2003 server的一些优化设置
- ·Windows98启动盘的创建与应用技巧
- ·DIY一张综合安装盘之制作篇
- ·制作全自动64位Windows XP安装光盘(1)
特别推荐
- ·打造完美操作系统的秘籍
- ·终端服务与远程桌面区别
- ·Server2003 DNS服务安装
- ·服务器应用之“远程桌面连接”(1)
- ·如何将DHCP数据库移动到运行Windows Server 2003的计算机上
- ·用Windows 2003实现软RAID
- ·Win 2003中的分区魔术师:Diskpart
- ·DIY一张综合安装盘之制作篇
- ·通过 Windows Server 2003 建立虚拟专用网络(1)
- ·解析远程桌面连接
- ·Window2003 server的一些优化设置
- ·GPMC:组策略的大管家
- ·部署Windows Server 2003终端服务
- ·Windows2000/XP/2003系统默认共享的关闭
- ·win2000--2003超级技巧(1)
- ·三种方法激活Win2003
- ·在Win 2000中使用MSN Messenger7.5
- ·探测Win2K/XP/2003本机系统信息
- ·win2003用户必看
- ·win2003硬盘权限设置
