本文主要介紹Gina.dll登錄功能的注冊表實現,在前文中,我們知道WlxLoggedOutSAS與WlxActivateUserShell函數分為登錄之前的處理函數與登錄之后的處理函數。于是,我們就可以結合注冊表的一些功能來實現Gina.dll的登錄。
首先,在注冊表中,記錄著所有與Winlogon以及Gina登錄的信息。不過,以下幾個值是比較有用的:
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
1. SetAutoLogon
這個值如果為1,則自動登錄;如果為0,則顯示登錄框
2. DefaultUserName
登錄框默認用戶名
3. DefaultPassword
登錄框的默認密碼
4. DefaultDomainName
默認的登錄域
因此,當我們把SetAutoLogon設置為1,同時設置正確的用戶名以及密碼(必須是正確的用戶名以及密碼,不然會提示密碼錯誤),就可以實現自動登錄。那么,如果在WlxLoggedOutSAS函數中,對用戶身份校驗成功之后,就可以在注冊表中設置以前幾個值,然后調用msgina.dll就可以實現自動登錄,一旦登錄成功后,WlxActivateUserShell就會被調用,我們可以在WlxActivateUserShell中將注冊表中以上位置的那些值刪除,然后丟給msgina.dll處理。
這種辦法在WinXP是測試通過,并且,根據筆者的測試發現IBM ThinkPad的指紋登錄軟件的gina.dll就是通過以上的方法來實現的。
作者:Gezidan
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
posted on 2011-08-03 13:42
日需博客 閱讀(1047)
評論(0) 編輯 收藏 引用 所屬分類:
Windows 、
技術文章 、
轉載