首页
社区
课程
招聘
[求助]写一个 HOOK RECV 后的处理函数
发表于: 2008-5-4 03:25 9648

[求助]写一个 HOOK RECV 后的处理函数

2008-5-4 03:25
9648
recv默认是一个 阻塞的等待函数..

int recv(
  SOCKET s,      
  char FAR *buf,  
  int len,        
  int flags      
);

我自己写的my_recv(SOCKET s, char FAR *buf,  int len, int flags)

好像没有成功...HOOK 掉 IE 后...直接就不能访问网页了..

更别提.读取数据了..我感觉这与recv 函数的特殊性有关吧.

希望兄弟们帮助..解决一下..!!

发一个..VC++ 的 recv 处理函数.

//////////////////////////////////////////////////////////////////////////
//recv 原型
int recv(
  SOCKET s,      
  char FAR *buf,  
  int len,        
  int flags      
);
//我的HOOK'处理函数 如下
int WINAPI my_recv(SOCKET s, char FAR *buf, int len, int flags)
{
       
        int nRet;
         
        h_hook.unhook();        //解除HOOK 调用原来的recv函数
        nRet=recv(s,buf,len,flags);
        h_hook.rehook();//重新HOOK

        return nRet;
}

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 381
活跃值: (140)
能力值: ( LV13,RANK:330 )
在线值:
发帖
回帖
粉丝
2
自己调试下,看看HOOK头及my_recv(SOCKET s, char FAR *buf,  int len, int flags)的参数是否传入正确,另外recv如果要稳定,需要考虑目标PROCESS存在异步模式和多线程,HOOK内部最好分配一同步事件或临界段来处理数据纪录的同步。
2008-5-4 10:12
0
雪    币: 33
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
重新将自己的处理函数发上来..

这个HOOK 主要还是改API 的前 5 字节 ...进行跳转..

用过API HOOK 的我想都能明白!

在处理RECV 的问题上面..始终有问题..

各位看看.到底 哪有问题
2008-5-19 17:18
0
游客
登录 | 注册 方可回帖
返回
//