zoukankan      html  css  js  c++  java
  • 逆向学习-Windows消息钩取

    钩子

      Hook,就是钩子。偷看或截取信息时所用的手段或工具。

    消息钩子

      常规Windows流:

        1.发生键盘输入事件时,WM_KEYDOWN消息被添加到【OS message queue】。

        2.OS判断哪个应用程序中发生了事件,然后从【OS message queue】取出消息,添加到相应应用程序的【application message queue】中。

        3.应用程序监视自身的【application message queue】,发现新添加的WM_KEYDOWN消息后,调用相应的事件处理程序处理。

      设置钩子,可以在应用程序之前就能收到消息。并可以修改,拦截。

      最具代表性的是MS Visual Studio中提供的SPY++。

    SetWindowsHookEx()

      HHOOK SetWindowsHookExW(

      int idHook,        //hook type
      HOOKPROC lpfn,     //hook procedure    钩子过程,是由操作系统调用的回调函数。
      HINSTANCE hmod,    //hook procedure所属的DLL句柄(Handle)    钩子 过程需要存在于某个DLL内部,该DLL的实例句柄(instance handle)即是hMod。
      DWORD dwThreadId    //想要挂钩的线程ID  若被设置为0,则为全局钩子。会影响运行中的所有进程。

      );

  • 相关阅读:
    POJ 1017
    poj 2709
    poj 1328
    POJ 2386
    POJ 1065
    POJ 3728
    hdu--1004--Let the Balloon Rise
    hdu--2570--迷瘴(贪心)
    hdu--1257--最少拦截系统(贪心)
    hdu--1230--火星A+B
  • 原文地址:https://www.cnblogs.com/whitehawk/p/10793417.html
Copyright © 2011-2022 走看看