鄧全才 李軍紅 李鴻強 趙書銀
(河北建筑工程學院,河北張家口075000)
鉤子是Windows操作系統中非常重要的一種系統接口,用它可以輕松截獲并處理在其他應用程序之間傳遞的消息,鉤子技術可以獲取各類鍵盤輸入信息,本文使用VC++6.0通過Socket通信技術和Windows Hook的消息攔截技術,實現了對遠程計算機隱蔽監控窗口及實時監視鍵盤輸入信息的程序.
Windows操作系統是建立在事件驅動機制之上的,系統各部分之間的溝通也都是通過消息的相互傳遞而實現的.鉤子機制可以看作是一個中轉站,他可以插入消息系統,重新控制系統發出的消息和傳遞,利用鉤子可以攔截系統發給應用程序的消息[1].
如果想要捕獲和記錄在其他計算機上任意窗口的鍵盤輸入信息,需要采用全局鉤子來攔截整個系統中的鍵盤消息和窗口創建消息.全局鉤子處理函數必須以MFC DLL(動態鏈接庫)的形式加載,在VC++6.0中有三種形式的DLL,本程序采用的是標準靜態鏈接MFC DLL.本程序采用客戶機/服務器工作模式,客戶端為監控端,服務器端為被監控端[1].
本程序的最終目的是實現對遠程計算機上的鍵盤輸入信息實時監控,程序的主要功能如下[2][3]:
1)目標主機開機后能夠自動啟動服務器端.
2)目標主機程序上定義了快捷鍵能使程序窗口顯示和隱藏.
3)目標主機程序上有退出按鈕和卸載自動啟動功能.
4)目標主機接入網絡后,目標主機就進入等待連接的狀態,隨時……