【导入与导出配置】

一旦您配置了一个筛选器,您能够使用“工具(Tools)”菜单中的“保存筛选器(SaveFilters)”菜单项将其保存。Process Monitor将您所保存的筛选器加入到“读取筛选器(Load Filter)”菜单,便于您能够方便地訪问。您也能够选择“工具(Tools)”菜单中的“管理筛选器(Organize Filters)”来打开管理筛选器对话框,以改变筛选器的显示顺序。您能够使用管理筛选器对话框来重命名已保存的筛选器,也能非常easy地以一定的格式导出筛选器。这样您以后就能够在其他系统中使用管理筛选器对话框来又一次导入。

您也能够使用“文件(File)”菜单中的“导出配置(ExportConfiguration)”菜单项来导出整个Process Monitor的配置信息,包含筛选器、列目选择、列目的顺序和大小。日志文件设置以及调试帮助文件路径配置信息到一个Process Monitor的配置文件里(.PMC)。

使用“文件(File)”菜单中的“导入配置(Export Configuration)”菜单项能够读取一个保存的配置文件或者使用“/LoadConfig”命令行选项。

【命令行选项】

Process Monitor提供了一些命令行选项:

        /Openlog<已保存的PML日志文件>

令Process Monitor打开并读取指定的日志文件。

        /Backingfile<日志文件名称>

令Process Monitor创建并使用指定的文件名称作为日志文件。

        /Pagingfile

将事件保存在分页文件里。

        /Noconnect

当这个标志位出现时,ProcessMonitor就不能自己主动開始日志活动。

        /Nofilter

在启动时清空筛选器。

        /AcceptEula

自己主动绕过许可并绕过EULA对话框。

        /Profiling

打开线程分析事件类。

        /Minimized

使Process Monitor在启动时将其窗体最小化显示在任务栏上。

        /WaitForIdle

等待Process Monitor的一个实例。直至其准备完成。

        /Terminate

终止Process Monitor的全部实例并退出。

        /Quiet

在启动时不使用筛选器选项。

        /Run32

使用这个开关能够在64位版本号的Windows中执行32位版本号的ProcessMonitor。以打开在32位系统中生成的日志。

        /HookRegistry

这个开关仅仅可以在32位的Vista和Server 2008中使用,ProcessMonitor使用系统调用钩子以代替注冊表回调机制来监视注冊表的活动,这就行令其在这些操作系统上查看Softgrig的虚拟注冊表操作。这个选项必须在Process Monitor在系统上第一次执行时使用,而且仅仅能用于SoftGrid应用程序的故障排除。

        /SaveAs,/SaveAs1,/SaveAs2

配合/OpenLog来使用这些开关,可以使ProcessMonitor以CSV、XML或PML格式导出一个日志文件。/SaveAs1选项包含以XML格式导出的栈信息,而/SaveAs2选项加入了符号信息。

        /LoadConfig

读取指定的筛选器和设置文件。

【ProcessMonitor脚本编写】

您可以使用Process Monitor的命令行选项来编写批处理文件。

这里的样例为您展示了怎样编写批处理文件。使其可以捕获“记事本(notepad.exe)”程序的运行:

set PM=C:\sysint\procmon.exe
start %PM% /quiet /minimized /backingfile C:\temp\notepad.pml
%PM% /waitforidle
start /wait notepad.exe
%PM% /terminate

Process Monitor的第一个调用使用的是start命令。来确保进程与控制台窗体相脱离,这可以使其与最新的命令同一时候执行。第二个调用使用的是/WaitForIdle命令,它可以令批处理文件暂停。直至第一个实例出现、执行而且捕捉事件活动。最后的调用使用的是/Terminate命令,它告诉第一个实例停止捕捉。将重要的数据保存到备份文件再顺利地退出。

【注入应用程序的调试信息】

假设您是一位应用程序开发者,那么将您自己的调试输出包括在Process Monitor的事件流中会很实用。这样您就能够更好地将应用程序的操作与其他的事件相关联。Process Monitor同意未经授权的应用程序注入长达2048个字符长度的宽字符串中。以下演示样例代码展示了怎样打开Process Monitor的调试界面并在事件流中写入信息。您在实际编程中无需以空字符作为结尾,虽然演示样例中是以空字符结尾的。以下的代码演示样例描写叙述了怎样生成Process Monitor的调试输出。John Robbins也编写了帮助类。您能够在您本地或管理应用中方便地加入这些支持,您能够在此下载

        注意:您必须显示分析事件(它被默认的过滤配置所过滤)。以查看这些事件。

#include <windows.h>
#include <tchar.h>
#include <stdio.h> #define FILE_DEVICE_PROCMON_LOG 0x00009535
#define IOCTL_EXTERNAL_LOG_DEBUGOUT (ULONG) CTL_CODE( FILE_DEVICE_PROCMON_LOG, 0x81, METHOD_BUFFERED, FILE_WRITE_ACCESS ) int main()
{ HANDLE hDevice = CreateFile( L"\\\\.\\Global\\ProcmonDebugLogger", GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if ( hDevice != INVALID_HANDLE_VALUE ) { WCHAR text[] = L"Debug out"; DWORD textlen = (wcslen(text)+1) *sizeof(WCHAR);
DWORD nb = 0; BOOL ok = DeviceIoControl( hDevice, IOCTL_EXTERNAL_LOG_DEBUGOUT, text, textlen, NULL, 0, &nb, NULL ); if ( ok ) { printf( "wrote debug output message\n" ); } else { printf( "error 0x%x\n", GetLastError() ); } CloseHandle( hDevice ); } else { printf( "error %d opening Process Monitor\n", GetLastError() ); } return 0; }

【附:ProcessMonitor的简单演示】

为了简单演示一下本软件的功能。我将《反病毒攻防研究第001篇:自我复制与自删除》《反病毒攻防研究第002篇:利用注冊表实现自启动》这两篇文章中的程序相结合,然后用ProcessMonitor对其行为进行监測。

这里先来总结一下我所编写的“恶意程序”的行为,以便与ProcessMonitor的监測结果相比較:

(1)将自身拷贝到system32与windows文件夹下。

(2)将自身加入到注冊表HKCU\Software\Microsoft\Windows\CurrentVersion\Run中。

(3)映像劫持cmd.exe程序。

(4)删除自身。

接下来,先在计算机中执行Process Monitor v3.10(注:真实病毒应当在虚拟机下执行并监控),此时会弹出“ProcessMonitor Filter”对话框,让我们对筛选条件进行设置。

这里我们要监控的程序名称为“Hacked.exe”,将进程名称包括在筛选器中,然后单击“Add”。此时“Hacked.exe”已包括在筛选器中。我们单击“OK”。


图1 筛选器设置

        执行“Hacked.exe”程序,此时ProcessMonitor已监控到该程序对应的操作,例如以下图所看到的:

图2 查看监控结果

图中完整地监控到了整个程序的运行流程。首先能够打开进程树查看一下相关进程的启动情况:

图3 查看进程树

可见“Hacked.exe”自身还启动了cmd.exe程序。那么假设有必要的话,还应当对其进行监控。

这里我是将全部项目的监控都打开了。为了简单起见,我们能够逐个分析。首先令ProcessMonitor仅仅显示文件监控。然后进行查看:

图4 查看“Hacked.exe”的自我复制

由监控结果可见。程序将自身拷贝到了windows以及system32文件夹下。

继续观察:

图5 “Hacked.exe”创建自删除文件

这里创建了DelSelf.cmd文件,而且对其进行了写入操作。至此。我们并未发现“Hacked.exe”有删除自身的行为,那么有必要对cmd.exe进行监控。结果例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaW9pb19qeQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

图6 查看“Hacked.exe”的自删除行为

可见cmd.exe触发调用了SetDispositionInformationFile。用于删除“Hacked.exe”与“DelSelf.cmd”。

到这里为止。我们已经分析清楚了“Hacked.exe”的文件行为,接下来分析注冊表行为。关闭文件行为button,打开注冊表监控。进行分析:

图7 注冊表项监控

ProcessMonitor已经将对应的注冊表项监控到了。在Detail列目中也给出了对应的细节信息,这里不再赘述。

至此,“Hacked.exe”已经分析完成。能够根据上述分析结果来编写专杀工具。

专杀工具的编写已在我的文章中论述过了。这里不再叙述。

以上简介了Process Monitor的用法。这款软件很多其它的功能有待于大家去发掘。

希望读者朋友可以将我的文章作为起点。不断学习,从而成为反病毒领域的专家。

文档翻译第003篇:Process Monitor帮助文档(Part 3,附Process Monitor的简单演示)的更多相关文章

  1. 文档翻译第001篇:Process Monitor帮助文档(Part 1)

    [译者注] Process Monitor是一款非常著名的系统进程监视软件.总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统中所有文件的 ...

  2. Postman----基础使用篇(没有接口文档的情况下如何着手做接口测试)

    [备注说明]内文中的图片由于页面的限制,图片显示不清晰,为了能更加的看清图片,请点击"图片",点击"右键"选择"在新标签页中打开图片",可查 ...

  3. python基础-第十一篇-11.2DOM为文档操作

    文档对象模型(DOM)是一种用于HTML和XML文档的编程接口 节点类型 12种节点类型都有NodeType属性来表明节点类型 节点关系 <div id="t"> &l ...

  4. FlexPaper实现文档在线浏览(附源码)

    园子里也有关于FlexPaper的文章,但都不怎么详细. 没有较全的参数说明.就连官方网站都没有.没法,最后只得将swf文件反编译后查看了源码才将里面的参数全部弄出来. 好了,废话不多说,开始正题. ...

  5. 如何教你在NIPS会议上批量下载历年的pdf文档(另附04~14年NIPS论文下载链接)

    如何获得NIPS会议上批量下载的链接? NIPS会议下载网址:http://papers.nips.cc/ a.点击打开上述网站,进入某一年的所有会议,例如2014年,如下图 b.然后对着当前网页点击 ...

  6. 文档翻译第002篇:Process Monitor帮助文档(Part 2)

    [筛选与高亮显示] Process Monitor提供了一些方式来配置筛选器和高亮显示.         筛选器的包含与排除 您可以在筛选器中指定事件的属性,这样就可以令Process Monitor ...

  7. 文件翻译002片:Process Monitor帮助文档(Part 2)

    [筛选亮点] Process Monitor提供了一些方式来配置筛选器和高亮显示.         筛选器的包括与排除 您能够在筛选器中指定事件的属性,这样就能够令Process Monitor仅显示 ...

  8. 【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)

    转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50515359 参考 :  -- 官方文档 : https://develope ...

  9. 如何写一篇好的技术博客or技术文档(转链接)

    如何写一篇好的技术文档http://yunli.blog.51cto.com/831344/168352 程序员怎样才能写出一篇好的博客或者技术文章?http://www.zhihu.com/ques ...

随机推荐

  1. POJ 1895 分层图网络流+输出路径

    题意: 题目描述:在公元3141年人类的足迹已经遍布银河系.为了穿越那巨大的距离,人类发明了一种名为超时空轨道的技术.超时空轨道是双向的,连接两个星系,穿越轨道需要一天的时间.然而这个轨道只能同时给一 ...

  2. Gym - 100625G Getting Through 计算几何+并查集

    http://codeforces.com/gym/100625/attachments/download/3213/2013-benelux-algorithm-programming-contes ...

  3. Linux常用的安全工具

    Linux常用的安全工具 "工欲善其事,必先利其器".作为一个合格的系统管理员,要应对可能发生的安全事件,掌握Linux下各种必须的安全工具是首要大事.本文主要介绍Linux上常用 ...

  4. Hyper-v Server安装与配置-新加GUI界面配置工具介绍

    650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic.php?refimg=" ...

  5. react 常用的ui库

    1. https://ant.design/docs/react/introduce-cn   ANT DESIGNui 2. http://www.material-ui.com/#/   Mate ...

  6. Sandbox

    Sandbox Contents Overview Design principles Sandbox windows architecture The broker process The targ ...

  7. selenium与phantomjs简单结合

    selenium工具安装 Windows安装pip install selenium Linux安装apt-get install selenium 查看selenium支持的浏览器from sele ...

  8. kali之获取靶机的图片和看的url

    需要用到 fping工具 用-asg参数 调查选项: -4,ipv4只能ping ipv4地址 -6——ipv6只在ping ipv6地址 -b——大小=字节数量的ping数据以字节的方式发送(默认为 ...

  9. 【LeetCode-面试算法经典-Java实现】【05-Longest Palindromic Substring(最大回文字符串)】

    背景 近期開始研究算法,于是在leetcode上做算法题,第五题Longest Palindromic Substring便是关于回文子串的. 什么是回文字串 回文字符串是指将该字符串前后颠倒之后和该 ...

  10. HH生病了(hpu1136)

    HH生病了 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 324  Solved: 90 [Submit][Status][Web Board] De ...