分享

[spy] 【下载】API Monitor V2.0 (Alpha

 sumi2005 2012-03-31
前两天看见RegKiller发的帖子得知 API Monitor 更新了(之前还在用1.5的)。看了下发现功能强大了不少.英文看还是不方便,就汉化了下.发给大家玩玩



下面是官方介绍,顺便翻译了帖上来:

API Monitor是一个免费的软件,它监视并显示应用程序和服务的 API 调用信息.这是一个工能强大的工具,这彁以用来查看应用程序和服务的工具流程或者用来跟踪你自己的程序里的一些错误问题

功能

支持64位
    API Monitor 支持64位应用程序和服务.可以分别用64位版本和32位版本的API Monitor 可以用来监视64位和32位的应用程序.如果你在64位的Windows上监视一个32位的程序你必须要使用32位的API Monitor 。
注意64位的API Monitor 安装程序里同时包含了32位和64位API Monitor 。

带语法高亮显示的统计视图
  统计窗口显示了关于了API调用的信息.包含了线程ID的产生API调用的DLL名字,所有的参数的反和值都进行了语法高亮处理.如果API调用失败还支显示出错误的信息.



定义了10000多个API和800多个COM接口
  API Monitor带有来自172个DLL中超过10000个API的定义和来自900多个COM接口的7000个方法(Shell, Web Browser, DirectShow, DirectSound,DirectXDirect2D, DirectWrite, Windows Imaging Component, MAPI等等 ).
这些API被成各种不同的类和子类(和MSDN里的一样).API捕获过滤器允许选择要进行监视的API。



结构体
API Monitor 可以解码结构体信息并把它显示出来,同时还可以查看结构体里的枚举数据,标志和缓冲区.

http://image50.360doc.com/DownloadImg/2012/03/3117/22800292_5.png

COM监视
  API Monitor支持监视COM接口.下面的截图显示了由DirectShow GraphEdit产生生的COM方法调用.



  API Monitor还能解码GUID,IID和REFIID并且以一种容易读懂的格式显示出来.

http://image50.360doc.com/DownloadImg/2012/03/3117/22800292_7.png

缓冲区视图
  API Monitor可以同时显示输入和输入缓冲区.显示的数据大小是从传递给API的参数或者API的返回值自动计算出来的.最大能显示的数据大小我们是可以自己配置的.
下面的截图显示了从ReadFile这个API调用返回后的缓冲区.其中lpBuffer的长度是在API调用完毕后通过读取返回到lpNumberOfBytesRead 的值来计算出来的.
在这里,返回的值174就是缓冲区所显示的长度.

http://image50.360doc.com/DownloadImg/2012/03/3117/22800292_5.png

http://image50.360doc.com/DownloadImg/2012/03/3117/22800292_8.png

断点
    API Monitor 可以允许你通过对API设置断点的方式来控制目标进程。断点可以设置为在API调用前、调用后,在API调用失败或者产生异常时触发。
调用前触发断点使得你可以在调用API前对其参数进行修改或者跳过此API调用并且自己指定调用的返回值和最后一次错误代码。
调用后和错误时触发断点使得你可以在函数返回到调用处前修改其参数、返回值和最后一次错误代码。异常时断点使得你可以捕获到程序的异常来避免目标进程崩溃。
全局断点也可以在API调用错误和异常时触发。对于枚举型数据和标志都完美支持全自动。

http://image50.360doc.com/DownloadImg/2012/03/3117/22800292_9.png


调用树
  API Monitor会显示一个可以展示出API调用层次结构的调用树.下面的截图显示了一个在64位Vista的notepad.exe 产生的 CoInitializeEx 调用的调用树.



解码参数和返回值
  无论是参数和返回值都会以一个友好的格式显示出来.下面的笫一个截图显示了参数值的的一般形式.笫二个截图显示了解码后的值.拿dwSHareMode来说,当选择了 Decode Parameter Values 
选项的时候API Monitor会显示FILE_SHARE_DELETE | FILE_SHARE_READ 而不会显示5.这个选项可以在参数窗格和统计窗格中使用.





解码错误代码
  当一个API调用错误的时候,API Monitor可以调用一个对应的函数来检索到产生些错误的一些信息.GetLastError,CommDlgExtendedError和WSAGetLastError这些函数都是支持的.
另外对于NTSTATUS和HRESUTL的错误代码可以以一种友好的方式显示出来.下面的截图是API函数 connect 调用出错时的信息.API Monitor 通过调用WSAGetLastError来判断错误的代码
并且用红色来同时显示出错误代码和出错误信息



调用栈

  API Monitor可以让你一捕获和查看每一个API调用的调用栈. 下面的截图显示了NtCreateFile的调用栈.

http://image50.360doc.com/DownloadImg/2012/03/3117/22800292_14.png

多层选项
  这个版本的界面已经完全重新写过并且提供了大量有用的特性.其中有很多预定义的层选项,大鱼然而,你可以选择创建自己的风格层.界面被分成选许多可以停靠(Docking)的窗口,
"API捕获过滤器”,“当前运行的进程”, “输出, “参数”, “十六进制缓冲区”, “调用栈” 和“已挂钩进程”.这些窗口都可以设置成"停靠","浮动","隐藏"或者"自动隐藏".

进程视图
  当前运行进程窗口显示了一个正在运行的可以被挂钩的进程的列表.

http://image50.360doc.com/DownloadImg/2012/03/3117/22800292_15.pnghttp://image50.360doc.com/DownloadImg/2012/03/3117/22800292_16.png

监视服务
  API Monitor可以监视Windows 服务.下面的截图显示了当一个文档被打印到 Microsoft XPS Document Writer打 印机时 Print Spooler 服务产生的调用.请注意要监视服务,
你的帐户必须要有足够的权限(Vista里的管理员模式)



自定义DLL监视
  API Monitor 支持为任何一个DLL创建定义.定义要用XML格式

http://image50.360doc.com/DownloadImg/2012/03/3117/22800292_18.png

线程
  已挂钩进程显示之前挂钩或正在被监视的所有进程.展开一个进程会显示这个进程的所有线程.用"M"标志着的线程是进程的主线程.用“W”标志着的进程是工作线程.
没有被激活的线程会用灰色显示并且图标里会有一个红点.每个线程都会显示线程的ID和线程的起始地址.

http://image50.360doc.com/DownloadImg/2012/03/3117/22800292_19.png

更新记录
Version 2.0 (Alpha-r5)
2011.2.7
    添加了对750多个结构体的浏览和修改支持
    在调用栈里添加了对绝对地址的显示支持
    修复在菜单里使用捕获过滤器命令里崩溃的BUG
    断点对话框支持大小的诱变,使得对嵌套结构体的浏览更加方便
    添加对结构体内的缓冲区进行监视的功能
    在API定义方面作了一些改进


Version 2.0 (Alpha-r4)
2011.1.24
    添加断点支持
    添加 MAPI COM 接口
    捕获API调用的最大限制增加到100000
    添加对保存捕获过滤器到文件和从文件加载捕获过滤器的支持
    重新设计了参数浏览窗口,可以对指针和字符串进行展开查看
    添加快捷键F6,SHIFT+F6用来在各个激活的面板间进行切换
    添加了CTRL+TAB和CTRL+SHIFT+TAB用来在一个面板的各个标签间进行切换
    添加在16进制面板里对以1/2/4/8字节和大尾/小尾格式的数据显示的支持
    在状态栏里添加了已用内存的统计显示
    修正了在 x64 平台下启用调用栈支持时对浮点值的显示不正确的BUG
    在API定义方面作了一些改进

Version 2.0 (Alpha-r3)
2010.9.28
  修正在ADVAPI32.DLL的API调用产生错误时显示的错误信息有误的BUG
  修正传递给目标程序的命令行错误的BUG
  更新XML分析程序的许可

Version 2.0 (Alpha-r2)
  2010.9.8
  支持COM监视.增加了600多个COM接口的定义,包括Shell, Web Browser, DirectX, DirectSound, DirectShow
  支持捕获并显示32位和64位程序的调用栈
  支持自动监视子程序
  把API分成子类以和MSDN更相似
  增加独立运行(不用安装)
  通过切换XML分析程序来提高API定义文件的加载效率

Version 2.0 (Alpha)
  2010.7.11
  完成重写
  增加对64位的支持
  支持监视Windows服务
  把10000多个API分成了168个子类
  增加API调用的语法高亮
  把从缓冲区和字符串里捕获数据的大小变成可以配置的.
  把API定义在 XML文件里,允许用户自定义API
  增加支持显示API调用树
  增加支持显示线程

Version 1.5
  2001.7.1
Version 1.4
  2000.12.8
Version 1.31
  2000.11.6
Version 1.3
  2000.8.18
Version 1.2
  2000.8.10
Version 1.1
  2000.7.17
Version 1.0
  2000.6.16

Attached Files
File Type: rar API Monitor V2 (Alpha-r5).part01.rar (2.95 MB, 2972 views)
File Type: rar API Monitor V2 (Alpha-r5).part02.rar (2.95 MB, 2735 views)
File Type: rar API Monitor V2 (Alpha-r5).part03.rar (1.88 MB, 2490 views)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多