• 逆向学习-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,则为全局钩子。会影响运行中的所有进程。

      );

  • 相关阅读:
    JOI2017FinalC JOIOI 王国
    JOISC2017C 手持ち花火
    P4336 [SHOI2016]黑暗前的幻想乡
    SP104 HIGH
    P3160 [CQOI2012]局部极小值
    P4965 薇尔莉特的打字机
    【BZOJ4361】isn
    P3506 [POI2010]MOT-Monotonicity 2
    P3214 [HNOI2011]卡农
    P3704 [SDOI2017]数字表格
  • 原文地址:https://www.cnblogs.com/whitehawk/p/10793417.html
Copyright © 2020-2023  润新知