我测试了老半天,别的程序可以,就是勾不到这个程序任何的文件操作,在应用层,不是在驱动层http://www.smartnest.com.cn/view.rar是一个很好的文件浏览器,有29兆,里面的myviewtest.exe是我写的,只是调用ocx,传递文件名进去而已谁能勾到,请告诉我是怎么勾上去的,非常感谢

解决方案 »

  1.   

    那个rar拿下来了。我发现好像是IAT的钩子即使处理了GetProcAddress也会漏掉很多东西,烦
      

  2.   

    JMP钩子那?LZ你挂的是那个API?
      

  3.   

    我把JMP钩子和IAT钩子都试了,如果我单独写个Exe调用这个A.ocx是只有JMP可以勾到。但是老外原装的A.exe调用A.ocx,其读取文件的操作两种钩子都勾不到,但是FileMon却可以看到文件操作勾的是CreateFileA ,CreateFileW
      

  4.   

    难道是直接调用驱动层API操作文件?
      

  5.   

    TO:wangjia184,问题是这个A.ocx是一个参数,传个文件名就可以了,我单独写个Exe调用这个A.ocx是只有JMP可以勾到。可是老外的A.exe是个从svchost.exe里面启动的进程,按说也应该是传个文件名进去就行了,可是却看不到A.exe的任何文件操作
      

  6.   

    经过多方打探,发现可能是 服务 里面根本不允许hook!好多帖子都说了,那位高人有办法有效的hook住svchost.exe
      

  7.   

    1:如果是个COM的话,那就应该定位VTABLE进行挂钩
    2:如果挂的是系统程序的话,从ring3层次几乎无法实现的.例如你要挂lsass.exe里面的sock函数..白费心机..
      

  8.   

    下面的HOOK指的是SetWindowHookEx函数的钩子,不是广义上的Hook
    1.HOOK要求被挂的进程拥有GUI资源,和是不是服务没关系。
    2.HOOK者权限要>=被挂者必须有足够权限。
      

  9.   

    另外建议如果IAT挂钩不通的话,用在Function里写Jmp的方式试试