快捷搜索: 王者荣耀 脱发

ProcessMonitor实现进程文件和注册表监控

本文内容

1.processmonitor 有什么用

2.processmonitor 使用方法

3.小结

1.processmonitor 有什么用

processmonitor是windows系统下的一款进程监控工具,能够捕获进程对于注册表、文件、线程、网络等资源的各种操作事件,让使用人员能够站在一个更高的视角窥探程序底层对于系统各项资源的使用情况。从应用角度出发,掌握工具的使用是非常有必要的。

众所周知,注册表在windows系统中扮演着举足轻重的作用,它存储着操作系统和应用程序的各项基础配置信息。正因如此,掌握了对于注册表的监控手段,让我们分析获取软件的配置信息多了一种途径。对于文件、网络等监控亦是如此,进程的启动和执行离不开对于文件的读写,,相信很多人都碰到DLL文件找不到但是却又不知道DLL放在哪个路径的问题,而这个工具能捕获进程的所有文件读写信息,正好解决了这类问题。

2.processmonitor 使用方法

processmonitor程序包

程序包分为32位和64位,与操作系统位数一致,分别监控对应位数的进程

如何查看进程的位数呢,可以通过查看任务管理器 "详细信息"栏,以win10为例,"平台"列可以看到进程的位数

使用filter筛选进程

processmonitor最好使用管理员权限启动,因为有些进程是使用管理员权限启动的。一般我们监控指定进程可以使用processName和PID,以谷歌浏览器为例,它的进程名是chrome.exe,那么就可以根据 "processName is chrome.exe"来监控所有的chrome.exe进程了,因为chrome.exe一般是多进程模式,如果定位单个进程,那么就需要指定PID了。

监控事件类型

工具栏按钮对应分别是 注册表、文件、网络、线程进程活动、性能分析,这些按钮可以组合使用,能够同时监控一种或者多种事件

以线程为例,下图中列出了线程创建、线程退出、镜像加载等事件

列表中包含 时间戳、进程ID、操作、操作结果等列

选中一条事件右键菜单能够查看属性,属性栏包含 Event、Process、Stack面板信息

该面板包含线程ID、持续事件等信息、操作。

Process面板包含进程可执行文件路径、命令行、平台架构等详细信息

该面板下方列表包括该进程已加载的所有动态链接库详细信息

Stack面板包含该事件的堆栈调用详情并列举了每个栈帧调用的函数地址和模块

再来看文件监控,Operation列包含了CloseFile,ReaddFile,WriteFile等操作。PATH列列出了这些API函数关联的文件全路径信息,详情列还包含了 API函数调用的参数信息。

ProcessMonitor中还包含对各种事件的汇总统计功能,如

Process Activity Summary

File Summary

Registry Summary、

Stack Summary

Network Summary

Cross References Summary

以File Summary 为例,以文件路径作为分组条件分组统计了该文件路径 打开、关闭以及读写的次 数和数据量,为分析程序行为提供了数据的支持。

进程树

以树状结构直观地展示了进程的继承关系

3.小结

工欲善其事,必先利其器。面对相对复杂的问题,只有借助了合适的工具,才能有一个好的开头。在windows上可以使用processmonitor来实现对进程的监控,应该还有更好的工具,这就需要我们不断的去发现和积累了。另外好的工具在其设计和呈现上面也有值得我们平时借鉴和学习的地方。

经验分享 程序员 微信小程序 职场和发展