如何使用 Process Explorer

如何使用 Process Explorer,第1张

ProcessExplorer是一款小巧而功能强劲的进程管理软件,它能随时关闭进程,甚至系统级别的关键进程也不在话下。此外,CPU、内存使用情况曲线图表,DLL、句柄查看,进程冻结等功能都非常实用。有了它,也许某些恶意程序就不用劳烦杀毒软件来清除。

 软件支持全系列视窗 *** 作系统,包括Windows2003以及最新的64位 *** 作系统,

 软件主窗口分为上下两个面板,上部“进程”面板,提供了详细的进程信息列表,如:进程名、程序描述、开发商信息等资料。列表采用进程树方式显示,能够直观显示各进程之间的依存关系。高亮显示功

能,蓝色为用户进程、红色为系统进程。这些人性化细节令人称道,现在迅速发现可疑程序并不是件太难的事情。

一、系统进程仔细看

 光说不练假把式,ProcessExplorer进程管理功能究竟有多强,还是亲自实践一下吧!

 这不,笔者在Winlogon.exe进程树下发现了一个可疑用户进程:TIMPlatform.exe(高亮显示就是贴心啊)。显示公司名是:tencent,不就是腾迅吗?QQ里面什么时候多了这个东东,名字也是可以伪装的,

安全第一,还是看看这个程序的详细资料吧。

500)this.width=500"title="点击这里用新窗口浏览图片">

可疑进程

 鼠标双击选定进程,进入“属性”面板。

 “映象”选项卡,提供具体的文件路径、命令行、当前运行目录等资料。

 “性能”:CPU、句柄、内存、I/O资料一目了然。

 “性能曲线图表”:以图表方式显示该进程的CPU、内存使用情况。

 “线程”:线程ID、进程启动时间、基本优先级、模块、堆栈等资料。

 “TCP/IP”:显示进程使用的网络协议、本地地址、远程地址等资料。只要是网络通信都逃不过软件

的监控。比如,查看QQ的进程属性,同自己聊天的QQ好友IP地址,在远程地址栏里清晰可见。

 “安全性”:显示用户权限分配。

 “环境变量”:显示系统环境变量。

 “字符串”:显示文件包含的各种字符串资料。

 可以看到,该程序正是在QQ安装目录下面,看来的确是QQ自带,可以放心使用。当然,如果你是个打

破砂锅问到底的人,ProcessExplorer也会给你满意答案。继续选定当前进程,按键盘快捷键“Ctrl+G”

,软件会以“TIMPlatform.exe”为关键字,调用Google搜索引擎进行检索。很快就可以看到相关搜索结

果。明白了吧,TIMPlatform.exe是QQ和TM共用的外部应用开发接口管理程序,就是QQ中那个“一键切换

到TM”功能调用的进程,如果你不需要它,可以关闭而不影响QQ使用。

500)this.width=500"title="点击这里用新窗口浏览图片">

 使用Google搜索引擎进行关键字搜索非常有用,大家不妨多试试。许多时候,如果搜索的进程刚好是

病毒,那么检索结果中将明白无误的说明。嘿,也许杀毒方案也在里面啦,赶紧看看吧。

三、删除“无法删除文件”

 软件的功能还不止于此:巧妙删除顽固文件,也是妙用之一。

 我们在删除文件时,经常都会遇到这样的提示:“无法删除××文件,共享冲突”,遇到这种情况,大家多半都会重启电脑后再删除文件。而现在很容易就能就能解决这一问题,例:“D:\1.jpg”文件无法

删除,进入ProcessExplorer,选择菜单:“查找”→“查找句柄”,进入查找对话框。输入文件名:

“1.jpg”(不含引号)。在结果中可以看到当前文件被HprSnap5.exe文件占用着。原来如此,是抓图软

件HyperSnap-DX占用着进程,自己刚才的确用它打开过文件。接下来就很简单了,先关闭HprSnap5.exe进

程,再去删除“D:\1.jpg”文件。

四、总结

 在软件中查看系统信息也很方便,快捷键“Ctrl+I”调用“系统信息”窗口。怎么样,功能、界面不 输于任务管理器吧。CPU、内存使用记录等资料一应俱全。鼠标滑过“CPU使用记录”曲线图上相应时间段,还可以显示该时段某进程的使用情况。其它如分页、I/O信息更是任务管理器所不具有的。现在你是否考虑用ProcessExplorer来正式替换Windows任务管理器呢?点击菜单“选项”→“替换taskmanager”。

以后,无论是“Ctrl+Alt+Del”还是通过任务栏右键菜单方式调用任务管理器,运行的都将是

ProcessExplorer。

你首先需要为VC下载一个Microsoft

Platform

SDK

for

Windows

XP

SP2,有了这个包以后,将psapi.h和psapi.lib拷贝到VC的include和lib目录,采用PSAPI编程:

1、用EnumProcesses函数列出当前所有进程

2、用OpenProcess打开进程

3、用GetProcessImageFileName函数就可以获取程序的完整目录

上面三个函数的资料在互联网上很完整,你可以用函数名作为关键字搜索一下就知道了。

下面举个例子:

#include

<windows.h>

#include

<stdio.h>

#include

<tchar.h>

#include

<psapi.h>

#pragma

comment(lib,

"psapi.lib")

void

PrintProcessNameAndID(

DWORD

processID

)

{

TCHAR

szProcessName[MAX_PATH]

=

TEXT("<unknown>")

TCHAR

szProcessPath[MAX_PATH]

=

TEXT("<unknown>")

//

获取进程句柄

HANDLE

hProcess

=

OpenProcess(

PROCESS_QUERY_INFORMATION

|

PROCESS_VM_READ,

FALSE,

processID

)

//

获取进程名称和路径

if

(NULL

!=

hProcess

)

{

HMODULE

hMod

DWORD

cbNeeded

if

(

EnumProcessModules(

hProcess,

&hMod,

sizeof(hMod),

&cbNeeded)

)

{

GetModuleBaseName(

hProcess,

hMod,

szProcessName,

sizeof(szProcessName)/sizeof(TCHAR)

)

}

GetProcessImageFileName(hProcess,

szProcessPath,

MAX_PATH)

}

//

打印进程名、进程号和路径地址.

_tprintf(

TEXT("%s

(PID:

%u)

<%s>\n"),

szProcessName,

processID,

szProcessPath

)

CloseHandle(

hProcess

)

}

void

main(

)

{

//

获取进程列表.

DWORD

aProcesses[1024],

cbNeeded,

cProcesses

unsigned

int

i

if

(

!EnumProcesses(

aProcesses,

sizeof(aProcesses),

&cbNeeded

)

)

return

//

计算当前一共多少个活动进程

cProcesses

=

cbNeeded

/

sizeof(DWORD)

//打印进程信息

for

(

i

=

0

i

<

cProcesses

i++

)

if(

aProcesses[i]

!=

0

)

PrintProcessNameAndID(

aProcesses[i]

)

}

Process Explorer 工具,把系统中当前正在运行的进程以列表的形式进行展开,可以查看进程相关的所有信息,如进程父进程、进程线程、进程相关权限、杀进程、暂停进程等等。

Monitor 工具很好用,可以监控进程在系统内的所有 *** 作。如逆向一个程序,查找一个程序等。

合适的抓包时机,合适的过滤条件,可以精准的定位到程序的相关 *** 作。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7956973.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存