这几天刚学到钩子,书上是用SetWindowsHookEx函数下的钩子,关于第一个参数,钩子的类型选择,看上去貌似都是些勾取消息SendMessage什么的,这玩意真的能用来截获网络封包吗?要怎么用?
还有SetWindowsHookEx与SetWindowsHook有什么区别吗?貌似SetWindowsHook比SetWindowsHookEx少了两个参数哎

解决方案 »

  1.   

    SetWindowsHook属于16位的,已经过时了。
    SetWindowsHookEx是不能截获网络封包的。
    要靠API HOOK拦截send、recv、sendto、recvfrom等函数才能截获网络封包。
      

  2.   

    SetWindowsHookEx 主要是拦截API,而只不过有些网络封包它最终还是会调用API,所以拦截对应的API可以通过参数获取到对应的网络数据等
      

  3.   

    书上只教了SetWindowsHookEx而已,那个API HOOK要怎么用啊?
      

  4.   

    API不是被封装在系统的DLL里面吗?系统运行的时候DLL会被各种进程加载,这玩意怎么改?
      

  5.   

    http://hi.baidu.com/zhaquanmin/blog/item/629df8ec98e79c4678f05597.html
      

  6.   

    关于那篇文章里的“如此一来,我们通过修改应用程序内存映像的IMPORT TABLE中API函数的入口地址,就可以达到重定向API的目的”话说我要是有读写目标进程内存的权限我还要API HOOK干嘛。对于一个没法openprocess的进程,没有别的办法在运行前或者运行时插入改进程的办法吗?