wince remote spy 原理

simplaman發表於2008-03-22

一直好奇remote spy是如何截獲其他視窗訊息的,用IDA肢解了一下,大概流程如下

1 用GetWindow得到視窗樹
2 針對使用者選擇的視窗,呼叫 GetWindowLong(hwnd,GWL_WNDPROC) 得到之前的訊息處理函式
3 SetWindowLong替換視窗訊息處理函式到自己的處理函式,在該函式內記錄訊息,並會用CallWindowProc調原來視窗訊息處理函式

驗證:列印出特定視窗的GWL_WNDPROC,發現remote spy前後GWL_WNDPROC發生了變化,關閉訊息視窗後,GWL_WNDPROC恢復之前值

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/116625/viewspace-1001301/,如需轉載,請註明出處,否則將追究法律責任。

相關文章