如踢

解决方案 »

  1.   

    不是吧,打开exe前的hook??未卜先知??
      

  2.   

    如果是想在EXE执行之前装载HOOK那么还好办的。
    看你使用的是什么语言了。
    如果是DELPHI你可以在*。PRJ。文件中写入HOOK
    在Application.Initialize;之前只要不是象VB那样的,你还可以用ASM直接修改EXE :)如果你的ASM足够好,并且你了解PE文件头的话   :)著名:只是提供一个思路
      

  3.   

    我晕阿,楼上那位没搞懂我的意思吧。
    我是想在系统执行任何一个程序之前来一个Hook,然后我来判定要不要被执行;杀毒软件好像可以吧?
      

  4.   

    写个全局hook(dll),拦截程序的WM_CREATE消息,然后想怎么办看你了
    这类技术也可以称作subclassing(子类一个窗口)不知道你指的是不是这个
      

  5.   

    很简单,请参考这儿。
    http://myregistry.vip.myrice.com/document/2.htm
      

  6.   

    想这样的操作只有写一个设备驱动来完成了, 在ring3级是无法完成的不过我想, 如果有法子先hook住createfile或loadlibrary之类的api或许也行???
      

  7.   

    那个网址上说的只是在所有的EXE执行之前,我要的是能知道运行的是什么程序,或者说我不仅要做在EXE之前运行我的程序,而且我还要知道它运行的是什么程序。并且,那个方法最主要的缺点是会被改掉,隐蔽性安全性太差。我在想是不是能Hook类似于打开一个文件的API,因为加载EXE应该先要Open吧?
      

  8.   

    一般很难做到隐蔽,一般都只能在注册表中的run中添加启动运行.
    或是和可执行文件关联.  做成服务行不行?
      

  9.   

    用我给出的方法,你自己做个程序,里面的接收到的第一个参数不就是运行的程序路径了么。
    怕被改掉的法,你可以HOOK 改与注册表的API,要不就HOOK 内存文件映射的函数,因为一个程序运行,系统会先把可执行文件映射到内存中。
      

  10.   

    HOOK 内存文件映射倒是个好主意,试试看
      

  11.   

    哈哈,我前几天想出了一个好解决方案,就是HOOK CreateProcess,这下行了吧.
      

  12.   

    不管怎么样动行一个EXE最终都还是会用CreateProcess来建立进程的.
      

  13.   

    有具体代码吗?我尝试Hook WM_CREATE消息好像不行?是不是我的Hook技术不到家?请求具体代码:)
      

  14.   

    你那是用HOOK来监视消息吧.当然不行.因为WM_CREATE是建立一个窗口时才引发的.你HOOK CreateProcess这个API试试.
      

  15.   

    Hook CreateProcess对于使用控制台运行的程序无效?这是为什么?
      

  16.   

    不会吧?是不是用控制台运行的程序是由cmd.exe来运行的,但也应要调用到CreateProcess啊.
      

  17.   

    是啊,没有用,CMD.exe的运行可以Hook掉,但是在CMD.exe里面运行的程序就不能被Hook
      

  18.   

    补充一点,服务程序也不能被Hook
      

  19.   

    我能够正常HOOK Cmd.exe建立的程序, HOOK的是CreateProcessW
      

  20.   

    我把CreateProcessA和CreateProcessW都Hook了你是怎么注入DLL的?能给我看看代码吗?我的Email:[email protected]希望能和你做个朋友
      

  21.   

    我是用我以前做的一个工具监视的API调用.
    http://www.onlinedown.net/soft/17162.htm
      

  22.   

    呵呵,好啊.
    我是[email protected]
      

  23.   

    能不能给个Hook API函数的具体例子,我也正在想Hook API的问题。
    我是[email protected]