用到一个某位大神的apihook库:库下载请点链接:HookAPI
使用方法:安装我们要手挂钩的函数.........1:api所在的dll文件 ,2:api的名字 3、自己改造后的函数:返回值是用来删除恢复挂钩的api..
PHOOKENVIRONMENT pHookSend;= InstallHookApi("ws2_32.dll", "send", My_Send);
typedef int (WINAPI __pfnsend)(SOCKET s, const char FAR * buf, int len, int flags); .....定义
int WINAPI My_Send(DWORD RetAddr,__pfnsend pfnsend,SOCKET s,const char FAR * buf, int len, int flags);
int WINAPI My_Send( DWORD RetAddr,__pfnsend pfnsend,SOCKET s,const char FAR * buf, int len, int flags )
{
UnInstallHookApi((PHOOKENVIRONMENT)pfnsend);
if (pHookSend!=NULL)
{
pHookSend=NULL;
}
int n= send(s,buf,len,flags);
Hook();
}
处理就是恢复后,继续调用原有的send函数