• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 利用鼠標鍵盤鉤子截獲密碼

        時間:2024-07-19 19:18:56 計算機網絡畢業論文 我要投稿
        • 相關推薦

        利用鼠標鍵盤鉤子截獲密碼

        利用鼠標鍵盤鉤子截獲密碼

        鉤子能截獲系統并得理發送給其它應用程序的消息,能完成一般程序無法完成的功能。掌握鉤子的編程方法是很有必要的

        鉤子分類 :
        1、WH_CALLWNDPROC和WH_CALLWNDPROCRET: 使你可以監視發送到窗口過程的消息
        3、WH_DEBUG 調試鉤子
        4、WH_FOREGROUNDIDLE 當當應用程序的前臺線程大概要變成空閑狀態時,系統就會調用 WH_FOREGROUNDIDL
        5、WH_JOURNALRECORD 監視和記錄輸入事件
        6、WH_JOURNALPLAYBACK 回放用WH_JOURNALRECORD記錄事件
        7、WH_KEYBOARD 鍵盤鉤子
        9、WH_KEYBOARD_LL 低層鍵盤鉤子
        10、WH_MOUSE 鼠標鉤子
        11、WH_MOUSE_LL 底層鼠標鉤子
        12、WH_SHELL 外殼鉤子
        13、WH_MSGFILTER 和 WH_SYSMSGFILTER 使我們可以監視菜單,滾動條,消息框等

        安裝鉤子:
          調用函數SetWindowsHookEx安裝鉤子。其函數原型為:
        HHOOK SetWindowsHookEx( int idHook,HOOKPROC lpfn, INSTANCE hMod,DWORD dwThreadId )
        idHook表示鉤子類型,它是和鉤子函數類型一一對應的。如,WH_KEYBOARD,WH_MOUSE。
        Lpfn是鉤子函數的地址。
        HMod是鉤子函數所在的實例的句柄。對于線程鉤子,該參數為NULL;對于系統鉤子,該參數為鉤子函數所在的DLL句柄。 (系統鉤子必須在DLL中)
           dwThreadId 指定鉤子所監視的線程的線程號。對于全局鉤子,該參數為NULL。
           SetWindowsHookEx返回所安裝的鉤子句柄。

        卸載鉤子
           調用函數 BOOL UnhookWindowsHookEx( HHOOK hhk)卸載鉤子

        定義鉤子函數
          鉤子函數是一種特殊的回調函數。鉤子監視的特定事件發生后,系統會調用鉤子函數進行處理。一般為下:
        LRESULT WINAPI MyHookProc(int nCode ,WPARAM wParam,LPARAM lParam)
        參數wParam和 lParam包含所鉤消息的信息,比如鼠標位置、狀態,鍵盤按鍵等。nCode包含有關消息本身的信,比如是否從消息隊列中移出。

        實例:
        下面我們通過安裝鼠標鉤子。和鍵盤鉤子還截獲輸入的密碼,并可查看*密碼為例,來說明何何使用鉤子。

        1,進入向導,新建MFC AppWizard(dll) 取名為GetPass,選擇MFC Extension DLL,完成。
        2,新建一個CGetPassHook 類,基類:CObject,并加入StartHook,StopHook,函數,如下:
        class AFX_EXT_CLASS CGetPassHook : public CObject
        {
        public:
        BOOL StopHook();
        BOOL StartHook(HWND hwnd);

        CGetPassHook();
        virtual ~CGetPassHook();

        };
        3:加入全局共享數據,如下:
        #pragma data_seg("ShareData")
        HHOOK hKeyBoardHook=NULL; file://keyboar hook
        HHOOK hMouseHook=NULL; file://mouse hook
        HINSTANCE glhInstance=NULL; file://globle instance
        HWND hOutPutWnd=NULL; file://Display Pass Wnd
        #pragma data_seg()

        4:加入鼠標,鍵盤鉤子處理函數,如下:
        LRESULT WINAPI MouseHookProc(int nCode,WPARAM wParam ,LPARAM lParam)
        { file://鼠標鉤子得理函數
        LPMOUSEHOOKSTRUCT lpMouse=(MOUSEHOOKSTRUCT FAR*)lParam;
        if(nCode

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 又黄又湿免费视频一区二区 | 亚洲国产精品成人va在线观看 | 在线观看日韩成人Av | 日本欧美在线播放免费人成 | 亚洲欧美另类中文 | 午夜AV不卡免费在线播放 |