安装Windows XP和Vista双系统的用户越来越多了,原本是为了方便切换和使用。不过,不少人会遇到一个让人头疼的尴尬时刻——Vista的登录密码,怎么也想不起来了。相比XP,Vista的登录认证机制要严格得多,一旦密码遗忘,想要强行进入系统几乎行不通。但事情也没那么绝对。微软在登录界面里悄悄留了一个“后门”——粘滞键漏洞。利用这个漏洞,我们还有机会重新夺回对系统的控制权,轻松找回忘记的Vista密码。
这个漏洞的原理其实并不复杂。在Vista登录界面连续按五次Shift键,系统就会触发粘滞键程序,也就是位于系统目录下的sethc.exe。既然我们还能进入XP系统,那就可以用cmd.exe把这个sethc.exe替换掉。这样一来,在Vista的登录界面按五次Shift,启动的就不是粘滞键了,而是命令提示符窗口。然后,通过它就能重置账户密码,彻底解决忘记密码的烦恼。
假设双系统的硬盘分区是这样安排的:C盘是XP系统,D盘是Vista系统。接下来,我们一步步来操作,跟着做就能搞定。
第一步:获取文件所有权
进入XP系统后,打开D盘下的 Windows\System32 文件夹,找到名为 sethc.exe 的文件。用鼠标右键点击它,选择“属性”,在弹出的窗口中切换到“安全”标签页,然后点击“高级”按钮。
在“高级安全设置”窗口里,切换到“所有者”标签页。在所有者列表中,选中你当前登录XP所使用的账户,点击“应用”,然后依次关闭所有弹出窗口。
注意:Vista的安装分区必须是NTFS格式,如果不在XP下提前更改文件的所有权,后续是无法直接替换的。另外,如果属性窗口里没有显示“安全”标签页,那是因为“简单文件共享”功能被开启了。解决办法是:打开资源管理器,点击“工具”菜单,选择“文件夹选项”,在“查看”标签页中,取消勾选“使用简单文件共享(推荐)”。
第二步:赋予完全控制权限
再次打开 sethc.exe 的属性窗口,切换到“安全”标签页,点击“添加”按钮。将当前登录的XP账户添加到“组或用户名称”列表中,然后把这个账户对 sethc.exe 的“完全控制”权限设置为“允许”。
第三步:执行替换操作
打开命令提示符(点击“开始”菜单 -> “运行” -> 输入cmd并回车),依次输入以下两条命令:
先把粘滞键程序改名,避免被覆盖:Rename d:\windows\system32\sethc.exe sethc1.exe
再把命令提示符程序复制过去,替代原有的粘滞键文件:Copy d:\windows\system32\cmd.exe d:\windows\system32\sethc.exe
第四步:利用漏洞重置密码
重启电脑,选择进入Vista系统的登录界面。连续按五次Shift键,这时候启动的就不是粘滞键了,而是命令提示符窗口。在窗口中输入 Explorer.exe,然后回车。桌面就会正常加载出来,开始菜单也会出现。
注意,此时你是以系统内置的SYSTEM账户登录的,可以在开始菜单的用户图标下看到这个状态。接下来,就可以通过控制面板里的“用户账户”选项,或者使用命令行工具(如net user命令),轻松重置你忘记的Vista账户密码了。
