Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
APISpy32.h
Package: apispy32.zip [view]
Upload User: tzh4061
Upload Date: 2007-01-08
Package Size: 309k
Code Size: 1k
Category:
Hook api
Development Platform:
Visual C++
- #ifndef APISPY32_H
- #define APISPY32_H
- #include <windows.h>
- #ifdef WIN95
- // Increase this value if you wish to intercept more than
- // 100 API functions under Windows 95/98.
- #define MAX_API 100
- #endif
- #define MAX_API_NAME 50
- #define MAX_TEXT_LEN 40
- #define MAX_PARAM 20
- struct tagAPIInfo;
- typedef void (*tagAPIAddr)();
- typedef void (*tagHandlerAddr)(tagAPIInfo *, PSTR, ...);
- enum tagParamType
- {
- PARAM_INT,
- PARAM_DWORD,
- PARAM_WORD,
- PARAM_BYTE,
- PARAM_PSTR,
- PARAM_PVOID,
- PARAM_PINT,
- PARAM_PDWORD,
- PARAM_PWORD,
- PARAM_PBYTE,
- PARAM_HANDLE,
- PARAM_HWND,
- PARAM_BOOL,
- PARAM_PWSTR,
- PARAM_UNKNOWN
- };
- struct tagParamSpec
- {
- char *ParamName;
- tagParamType ParamType;
- char *ParamFormat;
- DWORD dwParamMask;
- };
- struct tagAPIInfo
- {
- BYTE Opcodes[5];
- tagAPIAddr APIAddress;
- #ifdef WIN95
- char szAPIName[MAX_API_NAME + 1];
- HANDLE hMutex;
- #endif
- #ifdef WINNT
- DWORD dwOldProtectionFlags;
- PSTR szAPIName;
- CRITICAL_SECTION CriticalSection;
- #endif
- tagHandlerAddr APIEnterHandler;
- tagParamType ParamList[MAX_PARAM];
- BYTE ParamCount;
- tagAPIInfo *Next;
- };
- tagAPIInfo *HookAPIFunction(PSTR pszModuleName,
- PSTR pszAPIName,
- tagHandlerAddr APIEnterHandler);
- void UnhookAPIFunction(tagAPIInfo *pAPIInfo);
- void UnhookAllAPIFunctions();
- #endif