目前比较常用的二种DLL注入技术是消息钩子(SetWindowsHook)和CreateRemoteThread函数
不过CreateRemoteThread函数只在NT平台上起作用。
而SetWindowsHook只能针对导入了User32.dll的APP起作用。在NT平台上我可以用CreateRemoteThread实现所有进程的DLL注入,
但在98平台上我如何实现所有进程的DLL注入?
例如用SetWindowHook的话我就没法注入Command应用程序。
请问有谁知道更好的注入方法吗?还有一点:
之前我用SetWindowHook的方式注入NotePad.exe程序,并Hook了CreateFileA/W函数。
如果先打开NotePad.exe,然后再打开某一个文件的,调用的是我自己写的MyCreateFile函数,
但如果直接双击某一个文本文件,则我自己写的MyCreateFile函数没有被调用。
查了一下原因,发现是因为那个时候我的Dll尚未注入到NotePad.exe中。
请问这个有什么方法解决吗?

解决方案 »

  1.   

    To  EnochShen(小疯子:真的好菜—知耻而后勇!) 
        能介绍一下他的原理吗?罗云彬写的那本书电子版下载不到To  eunt(小妖) 
        我原来用的是WH_GETMESSAGE的钩子,失败,然后又换了鼠标和键盘钩子,还是失败
        请问该用哪一个钩子
      

  2.   

    9X下好像有CreateKernelThread,和NT下的CreateRemoteThread相似,“中国黑客”病毒就是用的这个
      

  3.   

    http://kajaa.bbs.us/docs/Computer/System/nowcan/cb_rt98.htm
      

  4.   

    这个是98下的CreateKernelThread,其实很不好用,建议别用。
    好像还有APC技术,我在www.xfocus.net上看到的,你去找找。
      

  5.   

    是不是用API HOOK会好一些。
    比SetWindowHook功能强。