什么叫不产生效果啊?
wsock32是winsock1.1的动态连接库,如果别人用的是2.0的话,你是截不到东西的。
2.0的dll是ws2_32.dll

解决方案 »

  1.   

    是在跟踪IE吗?如果装了防病毒软件就不能Hook connect,recv,send函数了。
    connect是调用wsock32.dll的
      

  2.   

    Kevin_qing(Kevin):
        winsock1.1和winsock2.0,后者是完全二进制兼容winsock1.1的.verbigbug()
        为什么装了防病毒软件就不能hook这些函数了?不能理解,因为我同样是在底层进行拦截的,其他软件很难干涉.
      

  3.   

    防病毒软件比你先呀。你就不能Hook了。它也可能用了相同的原理,
    这样你就不能Hook了。你可以Hook一下防病毒软件,是不是可以
    Hook connect, recv, send等函数了。
      --->我就是这样发现的。
      

  4.   

    恩,是很有可能,因为我所使用的dll插入技术得使用WriteProcessMemory()函数,如果反病毒软件hook了这个函数的话,他就可以对任何有威胁的hook行为予以阻止,是这样的吗?ok,晚上去试试,不止verybigbug老兄真正试过没有?
      

  5.   

    我是可以Hook反病毒软件的connect, recv, send等函数的。
    不过,你的理解有点不对。
    它不是阻止你。而是它先Hook connect,这样,IE调用connect时就调用
    了反病毒软件的Hook函数。因为该地址写在反病毒软件的地址里,这样,
    你就不能Hook了。(没有调用你的Hook函数)
      

  6.   

    dumpbin wsock32.dll ... 1103   41          rexec (forwarded to MSWSOCK.rexec)
     1104   42          rresvport (forwarded to MSWSOCK.rresvport)
     1108   43          s_perror (forwarded to MSWSOCK.s_perror)
       18   44          select (forwarded to ws2_32.select)
       19   45          send (forwarded to ws2_32.send)
       20   46          sendto (forwarded to ws2_32.sendto)
     1105   47          sethostname (forwarded to MSWSOCK.sethostname)
       21   48 0000101C setsockopt
       22   49          shutdown (forwarded to ws2_32.shutdown)
       23   4A          socket (forwarded to ws2_32.socket)所以~它是没有真正的入口的~你hook ws2_32.dll试试啊
      

  7.   

    不对,我是hook所有进程对connect的条用,这样即使反病毒软件hook了connect,我同样可以hook反病毒软件的connect,但是我这样作没有成功,现象是这样的:我的hook过程如果成功了,我将再自建的调试纪录中标记出来,而实际上通过标记看出,我已经hook成功了,但是我打开IE或者NetAnts进行网络活动,却没有经过我的拦截函数.还要说明一点,从前我使用dll替换技术来hook的时候,证实他们都条用了wsock32.dll的connect函数,这里的问题再哪里呢?
      

  8.   

    Kevin_qing(Kevin)兄,两个版本就是这样做到二进制兼容的,我HOOK WSOCK32.DLL时得到了入口地址的,可能WSOCK32.DLL的CONNECT函数仅仅是条用WS2_32.DLL的CONNECT函数而已,但这样的话HOOK WSOCK32.DLL可以产生同样的效果.
      

  9.   

    Kevin_qing(Kevin)兄,verybigbug老兄还在关注吗?
      

  10.   

    你是不是用SetWindowsHook介入的?
    如果是的话,你就没有介入到反病毒软件中。
    你可以用软件看一下你的DLL有没有在反病毒软件中。
    如果没有的话,就说明你没有监视反病毒软件。
      

  11.   

    是使用的SetWindowsHookEx(...,NULL)插入的,这样插入难道不是HOOK到了所有进程?
      

  12.   

    是的,这样只能介入有界面的程序,并且该程序还得动一下。
    让它运行WndProc。然后你的DLL才能介入。
    或者用PostThreadMessage强行让它运行。---要ThreadID的哦。
    不过,对Service程序无效。---在98下基本上没问题。
    对DOS程序和Console程序也无效。你想监视反病毒软件软件的话,找到它的一个ThreadId,再
    PostThreadMessage强行介入就可以了。
      

  13.   

    它可以是类Service的程序呀。
    不是什么程序都得用CreateWindow的。有些程序连USER32.DLL都可以不要。
    幸好反病毒软件用了USER32.DLL,否则,PostThreadMessage都可能没用。
      ----我还幸好没遇上。
    不过,NT下Service程序就不能用这种方式进行监视啦。没有界面的话,一般也用不着调用WndProc()了。你认为??
      

  14.   

    去http://lanchatx123.yeah.net看看就知道了
      

  15.   

    应该且必须作成动态连接库,这是微软规定的,然后就简单了。
    欢迎去http://lanchatx123.yeah.net看看:)那里有很多hook,有键盘和鼠标的啊,呵呵 
      

  16.   

    我想,只要在动态库里hook一个自定义的函数,然后必须在调用原有的hook指向函数,遵循这个
    原则,不会有问题的吧,释放后还要hook或操作系统的那个hook函数
      

  17.   

    现在正在完善我的ApiFunSpy的功能,可以轻松Hook任何Api了。
    (包括自己的API了---即支持PlugIn的功能)