要以编程方式获取进程信息(如您所问),这取决于您要使用的语言,还取决于您的处理器版本(32 位或 64 位)。
您可以使用 Python 的subprocess模块:
import subprocess
cmd = 'WMIC PROCESS get Caption,Commandline,Processid'
proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
for line in proc.stdout:
print line
或两个处理器版本的WMI模块:
import wmi
c = wmi.WMI ()
for process in c.Win32_Process ():
print process.ProcessId, process.Name
您还可以使用我之前提到的 subprocess 模块从 Python 中调用您在 CMD 中键入的任何命令。
至于仅仅隔离可疑进程,您首先需要列出您的判断依据的标准。
例如,Windows 7 和 8 操作系统具有进程层次结构,我们通常可以在其中找到三个或四个顶级进程。这使得很容易看出哪些进程是其他进程的父进程。Wininit例如,它是大量进程的祖先,包括著名的svchost.exe进程的多个实例。由于这个过程对于 Windows 操作系统来说太重要了,因此恶意软件会使用它,并且它们会出现在svchost诸如svch0st.exe(0而不是o)、svhost.exe(没有c)等列表中。
因此,一旦您掌握了这个标准,您就可以在Python 列表中对它们进行排序并单独显示它们,以帮助您区分可疑进程。