apispy32
介绍APISpy32是一个系统API查看工具,适用于Windows 9x/NT/2000和Millenium。它能够拦截所有Windows进程和他们使用的DLL发起的API调用。其它API调用拦截工具只能监控一个进程,而APISpy32使用很多复杂的底层技术,能够拦截全部的运行进程发起的API调用,这也使得它比其它同类工具更加强大。APISpy32所提供的若干特性在Windows NT/2000系统平台下,支持对控制台应用和系统进程的API拦截。
记录每一个API调用的输入参数,返回值和源
支持Unicode字符串参数(PWSTR)
包含state-of-the-art API调用引擎
暂用最少的系统性能。
使用方法在运行APISpy32之前,需要创建一个API声明文件(叫做“apispy32.api”),在里面列出想要拦截的API。这个文件中也要明确所要拦截的API函数的输入参数的类型。注意:APISpy32能够处理声明文件中的参数个数与API函数的参数个数不相等的情况。并不要求准确的给出每个参数的类型,但是,如果能够准确给出每个参数的类型,APISpy32能够根据参数上下文进行更好的分析。
声明文件必须保存为ASCII格式,并且放在Windows安装目录(比如C:WINNT)。
以下是apispy32.api文件中的一条样例,该样例指示APISpy32拦截MessageBoxW API函数:
USER32.DLL:MessageBoxW(HWND, PWSTR, PWSTR, DWORD)
APISpy32现在允许在声明文件中书写注释。以'开头的行将被当作注释忽略。
可被APISpy32识别的参数类型如下表:
Type
Size
C Type
BYTE
8 bits
unsigned char
WORD
16 bits
unsigned short
DWORD
32 bits
unsigned int
INT
32 bits
int
HWND
32 bits
unsigned int
HANDLE
32 bits
unsigned int
BOOL
32 bits
unsigned int
PBYTE
32 bits
unsigned char *
PWORD
32 bits
unsigned short *
PDWORD
32 bits
unsigned int *
PSTR
32 bits
char *
PWSTR
32 bits
wchar_t *
[1]