青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

小默

[zz]HOOK

鉤子函數(shù)

鉤子函數(shù)可以截獲并處理其他應(yīng)用程序的消息。每當(dāng)特定的消息發(fā)出,在沒有到達目的窗口前,鉤子程序就先捕獲該消息,亦即鉤子函數(shù)先得到控制權(quán)。這時鉤子函數(shù)即可以加工處理(改變)該消息,也可以不作處理而繼續(xù)傳遞該消息,還可以強制結(jié)束消息的傳遞。
鉤子的種類很多,每種鉤子可以截獲并處理相應(yīng)的消息,如鍵盤鉤子可以截獲鍵盤消息,外殼鉤子可以截取、啟動和關(guān)閉應(yīng)用程序的消息等
關(guān)于HOOK
Hooks
A hook is a point in the system message-handling mechanism where an application can install a subroutine to monitor the message traffic in the system and process certain types of messages before they reach the target window procedure.

安裝一個HOOK,SetWindowsHookEx
對每種類型的鉤子由系統(tǒng)來維護一個鉤子鏈,最近安裝的鉤子放在鏈的開始,而最先安裝的鉤子放在最后,也就是后加入的先獲得控制權(quán)
The SetWindowsHookEx function installs an application-defined hook procedure into a hook chain. You would install a hook procedure to monitor the system for certain types of events. These events are associated either with a specific thread or with all threads in the same desktop as the calling thread.
HHOOK SetWindowsHookEx(
int idHook,        // hook type.請查看MSDN獲得詳細信息
HOOKPROC lpfn,     // hook procedure
HINSTANCE hMod,    // handle to application instance
DWORD dwThreadId   // thread identifier
);

得到控制權(quán)的鉤子函數(shù)在完成對消息的處理后,如果想要該消息繼續(xù)傳遞,那么它必須調(diào)用另外一個SDK中的API函數(shù)CallNextHookEx來傳遞它。
(對一個事件處理的hook可能有多個,它們成鏈狀,使用CallNextHookEx一級一級地調(diào)用。簡單解釋過來就是“調(diào)用下一個HOOK” )
CallNextHookEx
The CallNextHookEx function passes the hook information to the next hook procedure in the current hook chain. A hook procedure can call this function either before or after processing the hook information.
LRESULT CallNextHookEx(
HHOOK hhk,      // handle to current hook
int nCode,      // hook code passed to hook procedure
WPARAM wParam, // value passed to hook procedure
LPARAM lParam   // value passed to hook procedure
);

hook處理函數(shù)
LRESULT CALLBACK HookProc(
int nCode,
WPARAM wParam,
LPARAM lParam
);

取消HOOK
UnhookWindowsHookEx
The UnhookWindowsHookEx function removes a hook procedure installed in a hook chain by the SetWindowsHookEx function.
BOOL UnhookWindowsHookEx(
HHOOK hhk   // handle to hook procedure
);

 

示例:
[code]
// 監(jiān)視鼠標(biāo)消息
// hook處理函數(shù)聲明
LRESULT CALLBACK MyMouseProc(int nCode, WPARAM wParam, LPARAM lParam);
static BOOL StartWatchingMouse(); // 開始監(jiān)視
static void StopWatchingMouse();    // 結(jié)束
static HHOOK hHook = NULL;    //hook指針
/*======================================================
*Function:StartWatchingMouse()
*Author:wuhuiran 05-7-23
*Desc:開始監(jiān)視鼠標(biāo)
*Record:
--------------------------------------------------------
========================================================*/
BOOL StartWatchingMouse()
{
hHook = SetWindowHookEx(WM_MOUSE, (HOOKPROC) MyMouseProc,
   (HINSTANCE) NULL, GetCurrentThreadId());
  
if(!hHook)
{
   return FALSE;
}

return TRUE;

}

/*======================================================
*Function:StartWatchingMouse()
*Author:wuhuiran 05-7-23
*Desc:取消監(jiān)視鼠標(biāo)
*Record:
--------------------------------------------------------
========================================================*/
void StopWatchingMouse()
{
if(hHook)
{
   UnHookWindowHookEx(hHook);
   hHook = NULL;
}
}

/*======================================================
*Function:StartWatchingMouse()
*Author:wuhuiran 05-7-23
*Desc:HOOK處理函數(shù)
*Record:
--------------------------------------------------------
========================================================*/
LRESULT CALLBACK MyMouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if(nCode < 0)
{
   return CallNextHookEx(hHook, nCode, wParam, lParam);
  
}

MOUSEHOOKSTRUCT *pMouseHookStruct;   //鼠標(biāo)HOOK結(jié)構(gòu)體
pMouseHookStruct = (MOUSEHOOKSTRUCT *)lParam;

POINT pt = pMouseHookStruct->pt;
//動一下鼠標(biāo)就會顯示鼠標(biāo)位置
CString strMsg;
strMsg.Format("x:\t%d\ny:\t%d", pt.x, pt.y);
AfxMessageBox(strMsg);

return CallNextHookEx(myHook, nCode, wParam, lParam);
}
[/code]

注意:
hook會使系統(tǒng)變慢,除非必要,不要頻繁使用。在不使用的時候盡快刪除
全局鉤子必須放在DLL中

只是簡單介紹了一下鉤子函數(shù)的使用方法,具體的函數(shù)介紹請參閱MSDN和其他文章。

posted on 2009-10-22 21:15 小默 閱讀(319) 評論(0)  編輯 收藏 引用 所屬分類: Security

導(dǎo)航

統(tǒng)計

留言簿(13)

隨筆分類(287)

隨筆檔案(289)

漏洞

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一本色道久久综合亚洲精品小说| 久久国产精品一区二区| 亚洲免费在线播放| 国产精品久久| 亚洲视频一区二区免费在线观看| 亚洲高清激情| 久久综合九色综合久99| 毛片av中文字幕一区二区| 久久亚洲精品网站| 欧美电影美腿模特1979在线看| 欧美不卡视频一区发布| 欧美日韩国产综合一区二区| 亚洲午夜精品| 久久www成人_看片免费不卡| 久久综合狠狠综合久久激情| 欧美日韩成人网| 国产婷婷色一区二区三区在线 | 欧美在线免费观看| 欧美a级片网站| 日韩午夜三级在线| 欧美一区二视频| 欧美成人dvd在线视频| 国产精品久久久999| 在线国产欧美| 欧美理论电影在线观看| 国产精品久久久久久久久借妻 | 一本色道久久加勒比精品| 欧美a级一区| 99天天综合性| 美女视频黄 久久| 国产精品免费网站| 亚洲国产精品精华液2区45| 国产精品99久久99久久久二8| 久久天天综合| 亚洲一级特黄| 欧美日韩国产片| 激情文学一区| 欧美中文日韩| 国产精品99久久久久久久vr | 1024成人| 亚洲欧美日韩国产成人精品影院| 奶水喷射视频一区| 亚洲欧美日韩综合aⅴ视频| 欧美另类视频在线| 亚洲国产成人av好男人在线观看| 欧美专区在线| 国产欧美成人| 国产九九精品| 亚洲尤物在线| 亚洲美女中文字幕| 久久aⅴ国产欧美74aaa| 欧美午夜精品久久久久久孕妇| 亚洲黑丝一区二区| 暖暖成人免费视频| 性欧美大战久久久久久久久| 欧美日韩在线视频一区二区| 亚洲日本aⅴ片在线观看香蕉| 久热精品视频在线观看一区| 欧美在线观看www| 国产伊人精品| 六十路精品视频| 久久av一区| 亚洲欧美日本日韩| 国产精品免费区二区三区观看| 亚洲一区二区视频在线| 99xxxx成人网| 国产精品进线69影院| 亚洲欧美日韩成人| 亚洲第一中文字幕在线观看| 国产在线不卡精品| 久久综合综合久久综合| 久久免费精品日本久久中文字幕| 极品裸体白嫩激情啪啪国产精品| 久久影音先锋| 欧美14一18处毛片| 一区二区欧美精品| 亚洲一区二区三区中文字幕| 国产偷国产偷亚洲高清97cao | aa级大片欧美三级| 欧美www视频| 欧美成人一区二区三区| 亚洲精品一区久久久久久| 亚洲乱码国产乱码精品精可以看| 亚洲欧洲日本专区| 欧美日韩一区在线| 久久成人资源| 浪潮色综合久久天堂| 一本色道精品久久一区二区三区| 国产精品99久久久久久人 | 欧美亚洲在线视频| 一区二区三区欧美在线| 国产一区二区三区在线观看视频 | 99成人免费视频| 国产欧美日韩激情| 免费成年人欧美视频| 欧美精品激情| 久久精品国产免费| 欧美国产日韩a欧美在线观看| 欧美日韩一区二区三区免费看| 午夜视频在线观看一区二区| 欧美中文日韩| 中日韩美女免费视频网站在线观看| 亚洲性xxxx| 国产一区二区三区不卡在线观看| 欧美激情一区二区三区| 国产欧美日韩免费看aⅴ视频| 欧美精品一区三区在线观看| 影音先锋中文字幕一区| 中文日韩电影网站| 91久久精品国产| 欧美亚洲视频| 亚洲欧美日韩国产中文| 欧美成人亚洲| 蜜桃av一区二区在线观看| 国产精品每日更新| 亚洲精品国精品久久99热| 韩国一区二区三区在线观看| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 久久欧美中文字幕| 国产精品国产三级国产普通话99 | 99国产精品久久久久久久成人热| 欧美一区二区三区免费观看| 一区二区三区高清在线| 美女91精品| 猛干欧美女孩| 国语对白精品一区二区| 亚洲欧美日韩网| 欧美国产三级| 国产一区二区三区免费观看| 中文亚洲欧美| 久久久噜噜噜久久| 欧美激情一区二区三区在线| 久久阴道视频| 亚洲大胆女人| 久久精品123| 久久这里有精品15一区二区三区 | 欧美色图天堂网| 91久久精品国产91久久性色| 一区二区在线不卡| 久久另类ts人妖一区二区| 久久精品成人| 国产一区二区视频在线观看| 久久精品视频免费观看| 国产婷婷色综合av蜜臀av| 亚洲欧美中文日韩v在线观看| 亚洲欧美在线网| 国产精品欧美激情| 亚洲一二三四区| 久久精品国产亚洲一区二区三区| 国产人成精品一区二区三| 亚洲综合日韩| 亚洲精品色婷婷福利天堂| 亚洲精品网站在线播放gif| 欧美黄色大片网站| 亚洲巨乳在线| 香蕉久久夜色精品国产使用方法| 国产精品普通话对白| 欧美亚洲三区| 欧美激情在线观看| 亚洲天堂av综合网| 国产欧美69| 久久一本综合频道| 亚洲欧洲精品一区二区| 亚洲综合色在线| 国产一区二区中文字幕免费看| 亚洲免费久久| 欧美一区二区免费| 亚洲第一色中文字幕| 亚洲美女av在线播放| 亚洲欧美国产精品桃花| 国产欧美一区二区精品仙草咪| 久久精品一区二区三区四区 | 午夜免费电影一区在线观看 | 亚洲欧美在线免费| 亚洲视频你懂的| 国产一区二区主播在线| 欧美成人有码| 性欧美1819性猛交| 亚洲精品久久嫩草网站秘色| 久久精品国产999大香线蕉| 亚洲日韩中文字幕在线播放| 国产精品私拍pans大尺度在线| 久热精品视频在线观看| 亚洲桃花岛网站| 亚洲第一黄色| 久久久久久久一区二区| 亚洲一区欧美激情| 亚洲精品国久久99热| 国产偷自视频区视频一区二区| 欧美国产一区二区| 久久精品免费电影| 亚洲一区在线视频| 亚洲精品免费在线| 亚洲国产日韩欧美| 国产精品久久久久天堂| 欧美成人精品在线| 久久久久久久激情视频| 国产美女一区二区| 亚洲国产精品va| 久久久精品性|