windows 程序消息事件定位

  • 消息事件定位
    首先找RegisterClass
    ATOM WINAPI RegisterClass( _In_ const WNDCLASS *lpWndClass);
    找到 push進(jìn)去的lpWndClass參數(shù)地址,根據(jù)_WNDCLASS 結(jié)構(gòu)可知,結(jié)構(gòu)的第二個變量是窗口回調(diào)處理函數(shù)的首地址。

typedef struct _WNDCLASS {
UINT style;// 窗口類型
WNDPROC lpfnWndProc; //窗口處理函數(shù)
int cbClsExtra;//窗口擴(kuò)展
int cbWndExtra;//窗口實(shí)例擴(kuò)展
HINSTANCE hInstance;//實(shí)例句柄
HICON hIcon;//窗口的最小化圖標(biāo)
HCURSOR hCursor;//窗口鼠標(biāo)光標(biāo)
HBRUSH hbrBackground;//窗口背景色
LPCTSTR lpszMenuName;//窗口菜單
LPCTSTR lpszClassName;// 窗口類名
} WNDCLASS, *LPWNDCLASS;

找到消息函數(shù)地址處,下條件斷點(diǎn)。

回調(diào)函數(shù)

[esp+8] == 0x201
[esp+8] 是消息ID,0x201 是鼠標(biāo)左擊事件 WM_LBUTTOMDOWN

  • 子窗口按鈕消息處理

在消息函數(shù)地址處,下條件斷點(diǎn)。
[esp+8] == WM_COMMAND && [ESP+4] == 按鈕句柄

按鍵消息響應(yīng)流程.png

WM_COMMAND.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容