1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

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

        • 相關(guān)推薦

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

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

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

        鉤子分類 :
        1、WH_CALLWNDPROC和WH_CALLWNDPROCRET: 使你可以監(jiān)視發(fā)送到窗口過程的消息
        3、WH_DEBUG 調(diào)試鉤子
        4、WH_FOREGROUNDIDLE 當(dāng)當(dāng)應(yīng)用程序的前臺線程大概要變成空閑狀態(tài)時,系統(tǒng)就會調(diào)用 WH_FOREGROUNDIDL
        5、WH_JOURNALRECORD 監(jiān)視和記錄輸入事件
        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 使我們可以監(jiān)視菜單,滾動條,消息框等

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

        卸載鉤子
           調(diào)用函數(shù) BOOL UnhookWindowsHookEx( HHOOK hhk)卸載鉤子

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

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

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

        CGetPassHook();
        virtual ~CGetPassHook();

        };
        3:加入全局共享數(shù)據(jù),如下:
        #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:加入鼠標,鍵盤鉤子處理函數(shù),如下:
        LRESULT WINAPI MouseHookProc(int nCode,WPARAM wParam ,LPARAM lParam)
        { file://鼠標鉤子得理函數(shù)
        LPMOUSEHOOKSTRUCT lpMouse=(MOUSEHOOKSTRUCT FAR*)lParam;
        if(nCode

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>