对于进程这个概念,许多电脑用户都没有给予太多关注。在很多人印象里,只知道结束进程可以杀死程序,至于哪些进程对应哪些程序,究竟什么样的进程该杀,什么样的进程不能杀这些问题很少考虑。这里通过几个实例为大家揭开进程的神秘面纱。
实例一:和进程的“表演者”交个朋友
很多时候,我们并没有注意到系统中到底有多少进程。如果想了解进程的秘密,首先就必须和一些常见系统进程交个朋友,一旦掌握了它们,就能像侦探一样迅速从进程名单中发现可疑的家伙。
在Windows 2000/XP中,Ctrl+Shift+Esc组合键能快速调出任务管理器,而Windows 9X为Ctrl+Alt+Del组合键。
1.“主角”进程
首先来熟悉一下系统中的基本进程,它们是系统运行的基本条件,一般情况下不能关闭它们,否则会导致系统崩溃。
Windows 2000/XP:smss.exe、csrss.exe、winlogon.exe、services.exe、lsass.exe、 svchost.exe(可以同时存在多个)、spoolsv.exe、explorer.exe、System Idle Process;
Windows 9x:msgsrv32.exe、mprexe.exe、mmtask.tsk、kenrel32.dll。
你知道吗
进程与程序
简单地说,每启动一个程序,就启动了一个进程。在Windows 3.x中,进程是最小运行单位。在Windows 9X/2000/XP中,每个进程还可以启动几个线程,比如每下载一个文件可以单独开一个线程。在Windows 9X/2000/XP中,线程是最小单位。程序是永存的,进程是暂时的。举一个例子说:如果程序是剧本,那么表演过程就是进程;如果程序是菜谱,那么烹调过程就是进程。
人鬼情未了——Svchost.exe
它位于系统目录的System32文件夹,是从动态链接库(DLL)运行服务的一般性宿主进程。在任务管理器中,可能会看到多个 Svchost.exe在运行,不要大惊小怪,这可能是多个DLL文件在调用它。不过,正因为如此,它也成为了病毒利用的对象,以前的“蓝色代码”病毒就是一例。另外,如果感染了冲击波病毒,系统也会提示“Svchost.exe出现错误”。
如果要查看哪些服务正在使用Svchost.exe,对于Windows 2000可从其安装光盘的SupportToolsSupport.cab压缩包中,将Tlist.exe解压缩至任意目录,接着在“命令提示符”中进入 Tlist.exe所在目录,输入“tlist -s”并回车(“tlist pid”命令可看到详细信息)。而在Windows XP则直接输入“Tasklist /SVC”查看进程信息(“Tasklist /fi "PID eq processID"”则可看到详细信息)。
2.“配角”进程
这些系统进程虽然不是系统运行必须的,但也经常在进程列表中抛头露面。如internat.exe、systray.exe、 rundll32.exe、loadwc.exe、ddhelp.exe、mstask.exe、ctfmon.exe、taskmagr.exe、 msnmsgr.exe、wmiexe.exe,它们都是正常的系统进程。
建议在安装完Windows后,点击“开始→程序→附件→系统工具→系统信息”,在打开的“系统信息”窗口中再点击“软件环境→正在运行任务”(在此进程列表中,可看到更详细的属性,其中程序路径是非常重要的信息),接着点击“操作→另存成文本文件”,以后系统出现异常时则对照进行分析。另外,“优化大师”也提供了保存进程快照的功能●。
实例二:查找木马的蛛丝马迹
许多木马和一些防护工具采用了双进程保护手段,例如“Falling Star”木马就采用双进程模式,下面来看看如何发现它们。
第一步:打开任务管理器。根据和常见进程比较,很明显会发现两个“熟悉的陌生人”(和系统基本进程名称相似,但不相同):“internet.exe”和“systemtray.exe”。请和上一实例中的”配角“进程比较。
第二步:打开“系统信息”的“软件环境→正在运行任务”,查看路径信息,两者均指向WindowsSystem32目录,而且文件大小、日期均相同,但从文件日期来看并不属于微软的系统文件。进入资源管理器查看其版本属性,虽然公司标明为Microsoft,但与系统文件中的微软公司名称书写并不相同,基本可断定是非法进程,并且为双进程模式。
第三步:在尝试结束进程时,第一次选择“systemtray.exe”来结束进程树,结果进程马上就再生了,任务管理器中又显示出这两个进程!于是再次选择“internet.exe”,然后结束进程树●。进程没有再生,从而将木马进程从系统中清除。
实例三:真真假假系统进程
许多病毒和木马为避免从进程名称中发现它们的踪影,往往会采用“障眼法”,使用和系统文件或系统进程名称类似的进程名称。
1.文件名伪装
(1)修改常见程序或进程个别字符
例如,上面介绍的“Falling Star”木马的进程名称“internet.exe”就与输入法进程“internat.exe”十分相似。“WAY无赖小子”的服务端进程名称为 “msgsvc.exe”,与系统基本进程“msgsrv32.exe”类似,还有Explorer.exe和Exp1orer.exe的区别,不仔细的话你能看出来吗?(数字“1”取代了字母“l”)
(2)修改扩展名
著名的冰河木马的服务端进程为Kernel32.exe,乍一看很熟悉,好像是哪个系统进程,其实系统根本不存在这样一个文件,Windows 9x的基本进程中却有一个叫做“Kernel32.dll”的。诸如此类的还有“Shell32.exe”的木马进程是从“Shell32.dll”这个大家都很熟悉的文件“演变”而来的,实际在系统中都是不存在的。
2.路径伪装
Windows目录和System目录是系统核心文件所在地,一般是“闲人免进”。因此,出入它们的文件一般都被人们认为是系统文件,而病毒和木马就借机将源文件放在这两个目录中。对于这类情况,一般只需要通过系统信息找到其源文件路径,打开文件的属性,从日期(这个非常重要,可以看是否与系统文件日期一样)、版本、公司名称信息中即可看出破绽。没有哪个病毒、木马文件能设计得与系统文件完全一致。
实例四:优化系统从进程开始
除系统运行必须的基本进程外,每个程序运行后都会在系统中生成进程,每个进程都会占用一定的CPU资源和内存资源。过多的进程和一些设计不良的进程就会导致系统变慢、性能下降,这时可对它们进行一下优化。
1.精简进程
系统中的一些进程并不是必须的,结束它们并不会对系统造成什么损害。
比如:internat.exe(显示输入法图标)、systray.exe(显示系统托盘小喇叭图标)、ctfmon.exe(微软Office输入法)、mstask.exe(计划任务)、sysexplr.exe(超级解霸伺服器)、winampa.exe(Winamp代理)、 wzqkpick.exe(WinZip助手)等。
有一款叫做“进程杀手”的免费小工具,具备自动精简进程功能,可自动中止系统基本进程以外的所有进程。在怀疑电脑运行了某些黑客进程或病毒进程但又不能确定是哪一个时,该软件就可以有效清除那些非法进程。不过它只适合Windows 9x/Me。下载地址http://www.onlinedown.net/soft/11003.htm
2.杀死不良进程
有时你会发现系统运行速度特别慢,这时可打开任务管理器,单击“进程”标签,点击“CPU”列标签让进程按CPU资源占用排序,可以很明显地看到资源占用最高的程序。同样方法,可以点击“内存”列标签,查看那些内存占用大户,及时结束进程。
这里有一种情况比较特殊:在查看CPU占用率时,一个叫做“System Idle Process”的进程会一直显示在90%左右。不必担心,实际上它并没有占用这么多系统资源,单击“性能”标签可看到其实际的CPU资源占用情况。
★对于Windows 9x,使用任务管理器是无法像Windows 2000/XP那样看到所有进程以及CPU、内存占用情况,推荐使用Process Explorer(下载地址http://www.onlinedown.net/soft/19289.htm)。
★如果某个16位程序影响了系统运行,而且死活也关不掉,可进入任务管理器的进程选项卡,找到NTVDM.exe进程,将其关掉即可杀掉所有16位应用程序,而不用重启。