API help里就有啦!现在有中文API HELP书。这东西刚开始很好玩,玩多了就没意思。
一般把HOOK放在DLL中,但发觉原来很多HOOK放在EXE中效果一样。

解决方案 »

  1.   

    HOOK,我的理解是,一个系统函数调用的用户函数,一般情况下,都是有应用软件调用系统函数来实现所需的功能,但是在某些情况下,比如系统需要向应用软件发送的信息量比较大,或者是要交互的发送信息,这个时或就需要应用软件写一个自己的函数,给系统调用,通过这个函数的参数系统向程序发送程序要求的信息,通过参数程序也可以影响系统下一步发送的信息。在很多的情况下,HOOK函数都是在调用这个函数的进程中运行的,而不是在应用程序的进程中,所以HOOK函数的要求很高,不要破坏调用进程。在HOOK函数运行时,应用程序进程往往是阻塞的,也就是HOOK函数耗用的是应用程序的CPU时间,而不是调用进程的,即使调用进程此时也是阻塞的,但这不是绝对的,所以在某些情况下还要考虑和主进程的同步问题,最典型的是SetWindowsHookEx()函数设置的HOOK,HOOK函数必须在DLL中,整个DLL都被装入IE的进程中,要从HOOK函数返回信息给应用程序必须要通过一些例如MappingFile,Pipe等进程间通讯的方式,还要注意进程间访问同一数据的同步。
      

  2.   

    to楼上的放在DLL中与放在Exe中有时候不一样,有时候会导致系统崩溃!千万不要随便这么做!