Posted on 2010-03-09 15:34
S.l.e!ep.¢% 閱讀(992)
評論(0) 編輯 收藏 引用 所屬分類:
RootKit
http://hi.baidu.com/zzzevazzz/blog/item/a6d4f309a218d583d0581b37.html
一個反鍵盤記錄工具的分析
2007-04-12 14:09
(下面的文字本是我在某個論壇的回貼,后來發(fā)現(xiàn)跑題了,食之無味棄之可惜,于是轉(zhuǎn)貼到這里 )
除了nProtect,國外還有一些反鍵盤記錄工具,比如下面這個還不錯:
http://www.anti-keyloggers.com/
是個通用型的,與QQ的nProtect專門用于保護密碼不同。 而且反破解做的不錯(對我這種破解外行而言,呵呵)。
它的原理我簡單的說一下,就是替換鍵盤類驅(qū)動的KeyboardClassServiceCallback,然后把得到的ScanCode傳遞到用戶態(tài),由位于Winlogon.exe的一個線程負責調(diào)用NtUserSendInput,將按鍵消息發(fā)給當前焦點窗口。
應該說這款反鍵盤工具的設計思想是很先進的: 1,選用KeyboardClassServiceCallback的好處是,比鍵盤過濾驅(qū)動更底層,對PS/2或USB鍵盤通用。 2,用Winlogon轉(zhuǎn)發(fā)消息的好處是,自動適應多用戶(session)的情況。 3,用NtUserSendInput的好處是,不會被Windows消息鉤子掛鉤。 4,雖然它沒有構(gòu)建起完全獨立的鍵盤輸入通道(這么做太復雜,兼容性不好),但對于沒有重建的部分,通過檢測鉤子的方式彌補。
它的鉤子檢測功能對于用戶態(tài)不錯,遺憾的是,居然漏掉了中斷服務掛鉤的檢測,實在是個大疏忽。另外,作為通用型保護機制,不可避免的具有一些局限性,比如無法防御用窗口子類化來做鍵盤記錄。
還有一款產(chǎn)品:
http://www.anti-keylogger.net/
以后有空再看看,呵呵。
|