Win32k 4 視窗鉤子

2022-08-18 17:27:07 字數 1328 閱讀 6103

第五部分 視窗鉤子

一、ros下的流程

win2000版本有人分析過了

訊息鉤子是一種官方支援鉤子**,可以攔截某乙個視窗或者全域性的訊息。訊息本應直接發到對應視窗的wndproc,現在要先傳送到我們設定的訊息**,由我們的hook函式進行引數的收取、截獲、過濾~

hhooksetwindowshookex(intidhook,

hookproc lpfn,

hinstance hmod,

dword dwthreadid

);hhookwin2k

下是這樣的

typedefstruct

taghookhook, *phook;

對應核心呼叫

hhook

apientry

ntusersetwindowshookex(hinstance mod,        //dll base

punicode_stringunsafemodulename,

dword threadid,     //非0

即針對某一函式的

hook

inthookid,                  //hook

型別比如

wh_keyboard_ll

hookproc hookproc, //hook

函式bool ansi)

else}}

else        //

全域性鉤子

總之,pti->pdeskinfo->asphkstart[nfiltertype+ 1]

是全域性的鉤子鍊錶

ptithread->aphkstart[nfiltertype+ 1]

是某一線程的鍊錶

fshooks

是標誌位,標誌這種型別的鉤子是否有設定

二、hook

函式的呼叫部分

co_hook_callhooks- co_intcallhookproc–keusermodecallback

跟call wndproc

是類似的

三、列舉訊息鉤子

1.可以

pti->pdeskinfo->asphkstart[nfiltertype+ 1]

來找hhook

結構2.is找

user32

裡面的gshareinfo

結構,hhook

也是種圖形物件,在控制代碼表中

~遍歷控制代碼表就找到了。具體可以跟一下

zzzsetwindowshookex - hmallocobject

閱讀全文

類別:核心

win32視窗樣式

private const gwl style 16 視窗樣式 private sub command1 click orstyle end sub private sub orstyle dim lstyle as long lstyle getwindowlong me.hwnd,gwl sty...

WIN32視窗建立

win32視窗建立過程 1 定義視窗類 在msdn中找到函式原型 winmain 2 定義視窗處理函式 在msdn中找到原型 windowproc 3 設計視窗類 4 註冊視窗類 registerclass registerclas 5 建立視窗 createwindow createwindowe...

win32繪製視窗

static int cxclient,cyclient 宣告兩個變數存放滑鼠 x,y 座標.在下面,我們為這兩項賦值時,loword lparam 代表取 lparam 的低 16 位,hiword lparam 代表取lparam 的高 16 位,在 lparam 中存放的實際就是滑鼠的位置,低...