据我所知:1.对于注册表user32.dll钩子检查注册表
2.对于API函数钩子,可以检测几个重要的函数,如:recv,的地址开始处监测jmp/call/far jmp大家来补充啊!!!

解决方案 »

  1.   

    看它怎么将API钩子插入我的进程的:
    1.如果是普通的键盘、鼠标……之类的钩子的话,而且用修改IAT方法的话,我在我的进程使用GUI前先备份IAT信息,要的时候直接用备份的IAT信息CALL就好了;
    2.jmp,我先HOOK了OpenProcess(),不让它改我的代码!Remote Thread也没招!
      

  2.   

    有毛用,CreateProcess 创建你的程序并挂起,修改IAT, 或者让API来个jmp..... 然后让你的程序恢复
    1.你备份的也是我想让你知道的
    2.你要挂OpenProcess,又不在你的进程空间你拦好了
      

  3.   

    从钩子的插入来说,SetWindowsHookWx会插入到钩子链的最前面。在这个时候,你的程序是否能够知道现在有钩子会钩我程序中的信息,我想程序是不会知道的,如果这个时候不能知道,那可就没法拦截了,因为消息在到达你的程序之前被处理了 。在这一点上钩子队列不同于剪贴板查看队列,它会发一个 WM_DRAWCLIPBOARD 消息
      

  4.   

    to : zengwujun(月之海)
    API钩子不包括SetWindowsHook/Ex
      

  5.   

    to : nooning(nooning)
    可以和硬盘上的文件进行对比
    或者干脆针对每个windows版本备份一组起始代码
    还可以拷贝个IAT的压缩/加密版本在程序里
      

  6.   

    API钩子是SetWindowsHook能钩到的吗?
      

  7.   

    没用^_^至少,我可以选择挂接系统服务(驱动实现),那不是ring3级所能检查到的
      

  8.   

    另外,你也应该读一读 windows核心编程 里面关于api hook的一部分,对ring3下的hook了解多一点很多挂接,根本不需要挂接系统dll,而是直接挂在你的程序的import表上,呵呵ring3下最好的办法还是检查一下自己的进程里有没有多余的dll
      

  9.   

    上面的话说错了一点 不是不需要挂接系统dll, 而是 不需要修改系统dll
      

  10.   

    http://community.csdn.net/Expert/TopicView1.asp?id=4032479
    看看,我拦API未成,怎么就来了个反拦截了:(
      

  11.   

    hy1080(老神经病):你的问题不是win32apihook能解决的我已经对你的帖子进行了回复
      

  12.   

    playar0709:有什么比较绿色的方法别上来就服务/驱动
      

  13.   

    sjd163(sjd163):我只是想讨论一下如何阻止任何拦截行为
      

  14.   

    对于<Window核心编程>里那种方法的API拦截,拦截不到无消息循环程序
    (没有While(GetMessage(...))如控制台程序)的API.