我HOOk了send(s:TSocket; var Buf; len, flags: Intege)函数但是安装钩子的时候不知道怎么安装全局钩子,就是要拦截系统里所有程序调用send函数。求高人指点,还有钩子类型是什么?怎样才能全部拦截?

解决方案 »

  1.   


    HHOOK SetWindowsHookEx

       int idHook, 
       HOOKPROC lpfn,
       HINSTANCE hMod, 
       DWORD dwThreadId  // 如果为0,即为全局钩子。
    ); 
      

  2.   

    第一步,找到需要HOOK的主进程
    第二步,找到send的函数入口地址
    第三步,将入口地址jmp到你自己的地址
    第四步,OVER!!!!
      

  3.   

    给你一个地方学习一下
    http://www.cnblogs.com/del/category/124150.html
      

  4.   

    系统的所有程序?用网卡过滤驱动吧
    Ring3是做不了的
      

  5.   

     钩子类型为WH_GETMESSAGE, 
     HHOOK SetWindowsHookEx 

      int idHook, 
      HOOKPROC lpfn, 
      HINSTANCE hMod, 
      DWORD dwThreadId  
    );
    dwThreadId 0为全局钩子,需放在DLL.
      

  6.   

    把你的dll插入到每个进程里,分别hook每个进程的send函数