日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
HOOKPROC是什么東西,理解不了?(cwindowshook)

HOOKPROC是什么東西,理解不了?

SetWindowsHookEx 是設置一個鉤子的函數(shù),它把你定義的一個鉤子,安裝到視窗鉤子鏈里去。 例如鍵盤輸入鉤子,例如鼠標輸入鉤子。 HOOKPROC 是一種變量類型,后面填具體的函數(shù)名,該函數(shù)返回HOOKPROC。 HINSTANCE 是視窗規(guī)定的一種變量類型(屬一種句柄),指向一個應用程序實例(handle to application instance) 提示你要另寫一個具體的函數(shù): LRESULT CALLBACK my_mouse(int nCode, WPARAM wParam,, LPARAM lParam){ 這里含你鉤到的處理。 CallNextHookE... // 回鉤子鏈處理 }

成都創(chuàng)新互聯(lián)公司長期為成百上千家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為石臺企業(yè)提供專業(yè)的成都網站制作、網站建設、外貿網站建設,石臺網站改版等技術服務。擁有十載豐富建站經驗和眾多成功案例,為您定制開發(fā)。

進程內API “Hook”應怎么寫?

dll包含代碼和資源,代碼可以執(zhí)行,資源可以被代碼所使用;

dll可以通過window hook或者注冊為輸入法,被系統(tǒng)自動加載進目標進程;

dll可以用代碼主動注入到目標進程(CreateRemoteThread),相當于給它打一針;

dll進入目標進程的時候,dll的DllMain函數(shù)(類似于main函數(shù))會被調用,這個時候可以做一些壞事,比如把系統(tǒng)API的入口替換成自己寫的,比如替換D3D的一些函數(shù)就可以做很多事情;

系統(tǒng)運行過程中,這些API會被不斷的調用,這個時候你的代碼就可以不斷地做壞事了。

怎么在DLL里寫全局鉤子?

要實現(xiàn)Win32的系統(tǒng)鉤子,必須調用SDK中的API函數(shù)SetWindowsHookEx來安裝這個鉤子函數(shù),這個函數(shù)的原型是HHOOK SetWindowsHookEx(int idHook,HOOKPROC lpfn,HINSTANCE hMod,DWORD dwThreadId);,其中,第一個參數(shù)是鉤子的類型;第二個參數(shù)是鉤子函數(shù)的地址;第三個參數(shù)是包含鉤子函數(shù)的模塊句柄;第四個參數(shù)指定監(jiān)視的線程。如果指定確定的線程,即為線程專用鉤子;如果指定為空,即為全局鉤子。

其中,全局鉤子函數(shù)必須包含在DLL(動態(tài)鏈接庫)中,而線程專用鉤子還可以包含在可執(zhí)行文件中。

得到控制權的鉤子函數(shù)在完成對消息的處理后,如果想要該消息繼續(xù)傳遞,那么它必須調用另外一個SDK中的API函數(shù)CallNextHookEx來傳遞它。

鉤子函數(shù)也可以通過直接返回TRUE來丟棄該消息,并阻止該消息的傳遞。

通過使用 DLL,程序可以實現(xiàn)模塊化,由相對獨立的組件組成。加載快,運行效率高,具有通用性,這是DLL的重要特點。

到此,以上就是小編對于的問題就介紹到這了,希望這3點解答對大家有用。


名稱欄目:HOOKPROC是什么東西,理解不了?(cwindowshook)
網頁路徑:http://www.5511xx.com/article/cdsgopg.html