微软的 setwindowshook函数要求设置的钩子函数必须在dll中,然nt中,非本进程函数不可以取得密码窗口的内容。可我见有的探测密码窗口的小程序,并没有使用dll文件,那么它们是如何实现的呢

解决方案 »

  1.   

    不使用dll就无法设置全局钩子,你必须对得到你想要监测进程的一些消息,比如ID,Handle之类的,然后再用hook就可以了(hook用法和全局基本相同),我就知道这么多了,更详细的等楼下的高僧来解答吧
      

  2.   

    FindWindow ,FindWindowEx ,EnumWindow 或
    WindowFromPoint得到密码框的句柄,然后使用GetWindowText得到窗口文本
      

  3.   

    不依赖于DLL就能工作的全局钩子http://www.xiaozhou.net/ReadNews.asp?NewsID=907
      

  4.   

    猜测:
    1.用WM_GETTEXT消息
    2.远程进程注射。
      

  5.   

    kugou123(酷狗)(http://www.xiaozhou.net) 我要的不是这样的钩子呀,我要取得密码文本,我首先要用钩子注入远程进程,微软要求必须使用dll文件,可是我见有的获取密码窗口文本的小工具没有使用dll文件,难道他们不是使用钩子吗,还有什么方法可以获取密码文本的呢
      

  6.   

    有些窗口可以直接通过窗口句柄等获得文本
    钩子最好还是用DLL
      

  7.   

    windows中一个进程是不能访问其他进程的内存空间的。要访问要用dll注入,就是将dll影响到其它进程的地址空间。有些api函数是可以直接使用其他进程中的窗口句柄的,这是系统作了特殊处理,有些就不行。
      

  8.   

    俺找到了答案了
    http://xiaozhou.net/ReadNews.asp?NewsID=913
    谢谢楼上的各位,散分了