本帖最后由 niewucai 于 2010-10-10 19:27:44 编辑

解决方案 »

  1.   

    有些程序并不是通过send recv收发数据的,最好先用OD查一下你要HOOK的进程的输入表有没有ws2_32.dll,有没有调用send recv
      

  2.   

    现在的问题不是send函数Hook不成功,是用MessageBox来测试,试过其他几个,也不成功。而MessageBox是确定在测试进程中调用的。
      

  3.   


    MessageBox是一个宏,并不是DLL中的输出函数名。你得在IAT中找MessageBoxA、MessageBoxW
      

  4.   

    你说的对,我用的就是MessageBoxA,代码里也可以看出。
      

  5.   

    我是用E9 + 地址跳转的,只hook到了send~  别的试起来不ok
    注意是_stdcall调用,最开始在这里耗的时间比较多,老是出来esp的错误,改了之后又加了点汇编才ok的
      

  6.   

    我没有用覆盖跳转地址的方法,只是觉得代码也没错,而且,如果Hook本进程的话,结果就正确,能够Hook到,实在不解。
      

  7.   

    打印log,先把失败的地方找出来
      

  8.   

    原因找出,不只是Hook进程模块的函数,而是要Hook指定进程中所有模块的函数 
      

  9.   

    忘了谢谢visualwind以及m_tornado的参与,结贴!