本文主要介绍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
日需博客 阅读(1021)
评论(0) 编辑 收藏 引用 所属分类:
Windows 、
技术文章 、
转载