忘记系统登入密码的几种解决办法
以后,当我们忘记了账户密码的时候,在没有使用“欢迎屏幕”登录方式的情况下登录到Windows XP后,按下“Ctrl + Alt + Del”组合键,出现“Windows 安全”窗口,点击选项中“更改密码”按钮,出现更改密码窗口。这个窗口中,将当前用户的密码备份,点击左下角“备份”按钮,激活“忘记密码向导”,按照提示创建密码重设盘。
方法2——删除SAM文件(注意,此法只适用于WIN2000)
Windows NT/2000/XP中对用户帐户的安全管理使用了安全帐号管理器(Security Account Manager , SAM)的机制,安全帐号管理器对帐号的管理是通过安全标识进行的,安全标识在帐号创建时就同时创建,一旦帐号被删除,安全标识也同时被删。安全标识是唯一的,即使是相同的用户名,在每次创建时获得的安全标识完全不同。因此,一旦某个帐号被用户名重建帐号,也会被赋予不同的安全标识,不会保留原来的权限。安全帐号管理器的具体表现就是%SystemRoot%\system32\config\sam文件。SAM文件是Windows NT/2000/XP的用户帐户数据库,所有用户的登录名以及口令等相关信息都会保存在这个文件中。
知道了这些,我们的解决办法也产生了:删除SAM文件,启动系统,它会重建一个干净清白的SAM,里面自然没有密码了。
方法3——从SAM文件中找密码(前提……会使用DOS基本命令就行)
在系统启动前,插入启动盘,进入:C:\WINNT\System3\Config\ 用COPY命令将SAM文件复制到软盘上。拿到另一台机子读取。这里需要的工具是LC4,运行LC4,打开并新建一个任务,然后依次击“IMPORT→Import from SAM file”,打开已待破解的SAM文件,此时LC4会自动分析此文件,并显示出文件中的用户名;之后点击“Session→Begin Audit”,即可开始破解密码。如果密码不是很复杂的话,很短的时间内就会得到结果。
不过,如果密码比较复杂的话,需要时间会很长,这时我们就需要用下面的方法了。
---------------------------------------------
方法4——用其他SAM文件覆盖(前提是你可以得到另外一台电脑的SAM文件和它的密码……个人觉得是最为可行的办法)
[2号方案我自己都觉得麻烦,还是1号:叫别人帮忙比较好……]
【另外,据说C:\windows\repair 目录下的SAM是原始版本的,可以用它来覆盖 system32下的这个 SAM,这样就可以删除现在的密码,而恢复到刚开始安装系统时的密码了。如果这个密码为空,岂不是…… 】
---------------------------------------------
方法5——使用Win 2000安装光盘引导修复系统(前提……很明显吧?就是你要有一张Win 2000安装光盘)
使用Win 2000安装光盘启动电脑,在Wndows2000安装选择界面选择修复Windows 2000(按R键);,然后选择使用故障控制台修复(按C键),系统会扫描现有的Window2000/XP版本。一般只有一个操作系统,所以只列出了一个登录选择(l:C:\Windows)。从键盘上按l,然后回车,这个时候,Window XP并没有要求输人管理员密码,而是直接登录进入了故障恢复控制台模式(如果使用的是Windows XP安装光盘启动的,那是要求输人管理员密码的。这里指的管理员是指系统内建的Administraor账户)熟悉Windows的朋友都知道,故障恢复控制台里面可以进行任何系统级别的操作,例如:复制、移动、删除文件,启动、停止服务,甚至格式化、重新分区等破坏性操作。
测试使用光盘:集成SP3的Windows 2000 Proessional 简体中文版。
【单击“开始 运行”,在输入框中键入“regedit”打开注册表编辑器,然后在注册表编辑器左方控制台中依次单击展开“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/Current Version/Winlogon”,再选择“编辑 添加 字符串值”,在数值名称中键入“AutoAdminLogon”,然后在窗口中的空白位置上点一下,再双击刚新建的字符串“AutoAdminLogon”,在弹出的“编辑字符串”对话框中输入“1”设置系统允许自动登录。再重复以上的操作,创建一个名为“DefaultUserName”的字符串值,编辑字符串为您准备用于自动登录的账户名称。再新创建一个名为“Defaultpassword”的字符串值,并编辑字符串为您准备用于自动登录的用户账户密码,编辑完并检查无误后,关闭注册表编辑器并重新启动电脑即可自动登录。注意,如果已有“DefaultUserName”,可以不必重新创建,直接更改原有字符串值。如果您的系统工作在局域网环境下,并且在登录到系统上时需要登录域服务器,那么您还需要再添加一个“DefaultDomainName”并编辑字符串为您登录的域名称。】
而我在修改注册表时,发现里面本来就有“Defaultpassword”的字符串,(这是我的个人情况),当然,我原来就没有设密码,所以字符串的值为空。我是想,如果你们的系统也有“Defaultpassword”的字符串,那是否它的值就是密码呢?
或者你们谁敢以上文的方法修改注册表,没准会屏蔽原先的登陆窗口呢!当然,要先备份注册表。
关于SAM文件
使用过NT内核Windows操作系统的朋友都知道NT内核对系统密码的管理机制比Win32内核的Windows操作系统要强得多,这部分归功于NT系统的门卫——SAM。
对于Windows的启动,很多用户并没什么特别的想法,大多数的人都这样看待这个问题:按下电源,稍等片刻,“傻瓜化”的Windows登录界面就出现在我们眼前。但是看了此文,你也许就会有点不同的想法了。
微软做了两个不同的系统骨架,一个叫Win32,我们用的Win9x/Me系统就附在它上面;另一个叫NT(New Technology),也就是WinNT/2000/XP/2003的骨架。不过很不幸,微软有点“偏心”,Win32的骨架做得明显有点过小,所以它成了瘦子,而NT则是典型的美国壮汉。更不幸的是,微软给Win32配备的PWL门卫是个花瓶,不仅连个家门都看不住,而且嘴巴也守不住秘密;而NT呢,又捞了个好处,SAM门卫尽心尽责,嘴巴也难撬开。NT内核Windows操作系统的密码安全性较Win32内核Windows操作系统的密码安全性高出很多跟SAM不无关系,在这篇文章里,我们就一起来认识一下NT内核Windows操作系统的看门神——SAM。
忠实的SAM门卫
SAM最初是跟随第一代NT来到世界的,它在微软总部的特工代号叫做“安全账户管理器”(Security Accounts Manager),经历了几代系统的改进,这个门卫越来越强壮了。SAM平时居住在WINNT\System32\Config下。当然,它不仅仅是一个SAM文件这么简单,它还带有一名随从:Security(如图1所示)。在NT内核Windows系统启动的时候,SAM就开始忙碌了,首先,它在入口处要求你出示身份证——没有?那么就不能进入Windows,并且没得商量。即使你通过了“门检”,事情也还远远没有结束,SAM随时盯着你呢,只要哪里又有人进来了,它就赶紧去问人家要“证件”……SAM记录的数据很多,包括所有组、账户信息、密码HASH、账户SID等,应该说是一个考虑得比较周全的门卫。
前面说过了,SAM不仅仅是一个文件那么简单,它不但有文件数据,在注册表里面还有一个数据库,位于HKEY_LOCAL_MACHINE\SAM下,这是一个比较复杂的结构(如图所示)。SAM在系统启动后就处于锁定状态,我们没法擅自更改这个文件内容。
SAM的主要结构和用户分组
从上述注册表里的分支我们可以看到以下结果:
1.在HKEY_LOCAL_MACHINE\SAM\SAM\
Domains下就是SAM的内容,其下有两个分支“Account”和“Builtin”。
2.Domains\Account\Users下存放的就是各个账号的信息,当然,这里是加密过的二进制数据,每个账号下面有两个子项,F和V。项目V中保存的是账户的基本资料,用户名、所属组、描述、密码、注释、是否可以更改密码、账户启用、密码设置时间等。项目F中保存的是一些登录记录,比如上次登录时间、错误登录次数等。SAM靠这些齐全的备忘录来保存与用户账号相关的各种信息。
3.Domains\Builtin存放着不同用户分组信息,SAM就是根据这个来划分NT中固有的6个不同的工作组的,它们分别是:管理员(Administrators)、备份操作员(Backup Operators)、客人(Guests)、高权限用户(Power Users)、修复员(Replicator)和普通用户(Users)。
幕后指挥官
在Windows系统中,虽然SAM如此尽力,但是它却如《Terminator 3(终结者3)》里MODEL 101的设置一样,不听从你的指挥。它只听本地安全认证(Local Security Authority)程序——LSASS.EXE的差遣,就连进门时的审查也是LSASS的指示。如果你把LSASS杀了,你就等着被赶出门吧——当然,对于普通用户来说,如果你试图用普通的进程管理工具或者Windows系统的进程管理杀掉“LSASS.EXE”进程的话,只会得到“该进程为关键系统进程,任务管理器无法结束进程。”的提示,本地安全认证(Local Security Authority)在Windows系统中主要负责以下任务:1.重新找回本地组的SID和用户权限;2.创建用户的访问令牌;3.管理本地安装的服务所使用的服务账号;4. 存储和映射用户权限;5.管理审核的策略和设置;6.管理信任关系。