windows2000/xp内含的任务管理器(taskmgr)相信大家都熟悉吧,相比之下xp里的要比2000功能更加强大,返回的信息也更加的详细,不过您是否觉得还有很多希望获得的消息没有包含在里面吗?您是否觉得 windows的系统管理工具箱里的东西太分散了吗?下面就让我们看看它们的开发原理,并动手实现一个真正的任务管理器。现在我们是调用win32api来实现这些功能的,但是大家都说ms隐藏了太多的细节,以后我们将讨论更多关于windows内核的东东。
可能大家对任务管理器里最熟悉的功能要数进程管理了,常常我们在怀疑中了病毒/木马的时候都会看看任务管理器里有没有什么特别的进程在运行,所以进程查看器应该是一个非常重要的功能。我们除了需要获得进程的名称外,还有什么呢?当然包括它的进程标识符(processid),用户信息(username),cpu使用时间(cputime)和存储器的使用情况(memoryusage),还有它的优先权(basepriority)。cpu和memory信息可以帮助我们分析进程的运行情况,而优先权可以表示进程在cpu分配处理器使用时的优先情况。这些都是通用的进程信息,让我们再看看其他的信息吧。进程的父进程标识符(parent process id),创建时间(create time),程序名称等在很多情况下也是我们关心的信息。我们再看看进程相关的性能信息。在windows下通常有两种模式:内核模式(kernel: level 0)和用户模式(user: level 3),进程往往在两种模式中来回切换,所以可以获得进程在内核模式和用户模式各自的使用时间。同时还包括进程相关的工作集(workingset),分页池(pagedpool),非分页池(nonepagedpool)和页面文件(pagefile)信息。进程相关的i/o操作包括读/写/其他等动作,我们可以获得这些操作的次数和传送数据的数量。
如果您怀疑某个进程是木马,那您还想获得哪些信息呢?简单的进程名称应该是不够的吧!我们希望获得进程的实际程序的路径,这样可以帮助我们判断究竟是那个程序在运行。前段时间不是在讨论什么进程隐藏的,其中一种就是“创建远程线程”,而注体往往又是以动态链接库(dll)的形式存在的,我们就希望看到某个具体进程所包含的所有模块(module),常常是dll也。“线程”是一个大家熟悉的名字,它是windows系统中的实现体,而进程则是线程运行的环境。一个进程到底创建了多少线程了?我们同样可以枚举进程内部的所有线程信息。如果您发现一个木马进程,下面的动作就应该是分析它的运行机制(如果您对它感兴趣),不过最终您还是要将它结束吧。在windows2k下,很多系统关键进程在taskmgr里是不能被结束的,不过现在您不用担心了。好的,对进程的操作当然就包括结束进程。如果您用过中文的xp,您是否常常遇到任务栏“假死”的情况,虽然您的电脑没有挂掉,但却动弹不得,那好我们也同样可以将任意的进程挂起来,不管您对它做什么动作(除了结束),它都不会有任何的反应。有了挂起进程,同样我们也可以将进程从“挂起”状态激活。
桌面窗口是大家接触得最多的交互界面了,您是否想获得每个窗口的标题信息呢?当然我们还可以获得与窗口关联的进程,线程与窗口句柄属性。如果大家对vc比较熟悉,就应该知道其中的一个spy++工具吧,它就可以获得桌面窗口,进程和线程的详细信息,不过现在就不用打开这个,打开那个了,通通搞定了!
系统性能是每个用户关心的话题。它包括整个系统当前创建的句柄,进程以及线程的数目。还有物理存储器(physical memory)的总量和使用情况,系统高速缓存(system cache)的大小,存储器保留与提交(commit charge)状况,当然还有核心分页/非分页池(kernel memory)的使用情况。几乎包括了windows系统下存储器管理的大部分信息。
虽然现在硬盘的价格已经很低了,不过我还是在用6.4g的小东东,所以常常遇到“low disk”!我们常常要看看硬盘的使用情况,不过每次都要进入我的电脑,太麻烦了。而我们现在可以一次了解所有磁盘的容量和当前使用情况,同时还有它们的格式类型(如fat,ntfs,cdfs等)和磁盘标签。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器