Dim WshSHell,FSO
Set WshSHell = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
ExePath="C:\WINDOWS\System32\smss.exe/C:\WINDOWS\system32\csrss.exe/C:\WINDOWS\system32\winlogon.exe/C:\WINDOWS\system32\services.exe/e:\test.EXE"
ExePathArr=split(ExePath,"/")
FOR each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_
For i=1 To UBound(ExePathArr)
ExeNameArr=split(ExePathArr(i),"\")
if LCase(ps.name)=LCase(ExeNameArr(UBound(ExeNameArr))) and LCase(ps.executablepath)<>LCase(ExePathArr(i)) then
WshSHell.Run ("ntsd -c q -p "&ps.handle),vbHide
WScript.Sleep 1000
FSO.DeleteFile ps.executablepath
end if
Next
NEXT
Set WshSHell = Nothing
Set FSO = Nothing
WScript.Quit(0)
在ExePath中添加需要监视的进程全路径,用"/"符号分隔。
另外没看明白你是想只删除假冒的名称(同名不同路径的),还是要杀除指定安全进程(ExePath)之外的所有进程,如果是后者自己改一下条件语句。
在网吧呢,限制了权限而没能测试.......至少可以当个思路
Last edited by baomaboy on 2007-12-9 at 01:06 AM ]