欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

现在,Windows Vista用户再也不需要借助ERD CommanderO&O BlueCon或者Offline NT Password & Registry Editor外援的帮助,只需一张Windows Vista的安装光盘,就可以自力更生重设管理员帐户密码。 

1.一个工具包轻松搞定管理员密码 

由于本文所涉及的原理和操作相对比较复杂,为了照顾初学者朋友,笔者特地制作了一个工具包,只有5KB大小(查看本文的附件下载)

(1) 首先确保您的Windows Vista安装在C盘,如果安装在别的分区,请不要使用该工具包,而直接查看本文的后面部分。
(2) 请将本工具包解压缩到软盘,然后将这张软盘插入故障计算机。
(3) 利用Windows Vista安装光盘引导系统进入“系统恢复选项”,并单击其上的“命令提示符”,请参考Windows Vista拒绝罢工系列1芝麻开门
(4) 在命令提示符下运行“A:\StartMe”,如果命令结果没有报错,连续两次重启计算机到登录界面。
(5) 第二次启动到登录界面时,点击Test帐户名即可登录,然后就可以重设原来帐户的密码了。
(6) 打开注册表编辑器,删除以下注册表子键即可:
HKLM\SYSTEM\CurrentControlSet\Services\AddUser 

2.原理描述 

这个工具包里包含两个批处理文件和一个srvany.exe程序,作用如下:
• AddUser.bat批处理文件:目的是在Windows Vista系统里创建一个管理员帐户Test,而且密码是空。
• StartMe.bat批处理文件:目的是把AddUser.bat文件安装为一个服务,该服务是以LocalSystem身份启动的,这样在开机登录之前,就已经执行AddUser.bat,以便新建Test帐户。
• srvany.exe程序:取自Windows Server 2003 Resource Kit Tools工具包,可以在微软官方网站上自由下载。
看到这里,相信很多朋友已经明白,原来这个方法取自笔者以前写过的一篇文章另类方法破解管理员密码。但是还是有区别的,因为Windows Vista系统不支持直接把批处理文件安装为服务,否则服务会启动失败。所以必须借助srvany.exe程序和SCM(服务控制管理器)打交道,才能确保成功。
AddUser.bat批处理文件的内容如下,这和另类方法破解管理员密码没有区别,此处不再赘述。

net user test /add
net localgroup administrators test /add

StartMe.bat批处理文件的内容如下:

copy a:\srvany.exe c:\

copy a:\adduser.bat c:\

reg load HKLM\AddUser_SYSTEM C:\WINDOWS\system32\config\SYSTEM

c:\windows\system32\sc create AddUser Type= own Start= auto Binpath= C:\srvany.exe Obj= LocalSystem

reg add HKLM\SYSTEM\CurrentControlSet\services\AddUser\Parameters /v Application /t REG_SZ /d c:\AddUser.bat

reg copy HKLM\SYSTEM\CurrentControlSet\services\AddUser HKLM\AddUser_SYSTEM\ControlSet001\services\AddUser /s /f

reg unload HKLM\AddUser_SYSTEM 

(1) 最上面的两行copy命令没有什么可说的,就是为了把srvany.exeadduser.bat复制到C盘根目录下。 

(2) reg load HKLM\AddUser_SYSTEM C:\WINDOWS\system32\config\SYSTEM”命令,其目的是为了把C:\WINDOWS\system32\config\SYSTEM配置单元文件加载到注册表的HKLM\AddUser_SYSTEM分支。
提示
为什么要加载C:\WINDOWS\system32\config\SYSTEM配置单元?
原来Windows XP安装光盘的“系统恢复选项”,实际上是一个Windows PE环境。该Windows PE在物理内存里划分出一个32MB的空间作为虚拟的内存磁盘(RamDisk),盘符是X:。该Windows PE加载的注册表,实际上对应于X:\WINDOWS\system32\config目录下的配置单元文件。这可以用Process Explorer来验证,只需查看SYSTEM进程的句柄,即可发现所打开的注册表配置单元位于内存磁盘(RamDisk),如图1所示。

所以,必须把Windows Vista所用的注册表配置单元加载进来,才能最终生效。如果Windows Vista安装在别的分区,则需要把“reg load”命令中的C:改成合适的盘符。 

(3) 对于这句命令“c:\windows\system32\sc create AddUser Type= own Start= auto Binpath= C:\srvany.exe Obj= LocalSystem”,其目的是借助系统自带的SC命令在系统中新建一个AddUser服务,其可执行文件指向srvany.exe文件,运行身份是LocalSystem
提示
由于“系统恢复选项”的Windows PE环境,其Path环境变量并不包含Windows Vista的安装目录,所以必须提供SC命令所在的详细路径(此处假设Windows Vista安装在C盘,请根据实际情况修改该命令)SC命令的实质是在HKLM\SYSTEM\CurrentControlSet\services下添加AddUser服务的子键。 

(4) reg add HKLM\SYSTEM\CurrentControlSet\services\AddUser\Parameters /v Application /t REG_SZ /d c:\AddUser.bat”这个命令的作用是在服务AddUser的注册表子键下添加相应的参数,让SCM(服务控制器)知道实际上要启动c:\AddUser.bat批处理脚本文件。
注意
以上两条命令对注册表的修改,实际上是作用在X:\WINDOWS\system32\config\SYSTEM配置单元文件上,由于该配置单元保存在内存虚拟磁盘上,而非真正保存在Windows Vista所用的配置单元文件。所以我们需要把注册表键值复制到C:\WINDOWS\system32\config\SYSTEM配置单元(现在已经加载到HKLM\AddUser_SYSTEM注册表分支) 

(5) reg copy HKLM\SYSTEM\CurrentControlSet\services\AddUser HKLM\AddUser_SYSTEM\ControlSet001\services\AddUser /s /f”命令的作用就是为了复制AddUser的注册表键值到真正需要的地方。 

(6) reg unload HKLM\AddUser_SYSTEM”命令则是卸载C:\WINDOWS\system32\config\SYSTEM配置单元。 

运行StartMe.bat脚本后,系统就会自动添加一个AddUser服务,该服务会在登录之前在系统中创建一个Test管理员帐户,以便我们顺利地重设管理员密码。 

3.写在后面 

这个方法虽然简单,但是当初测试时,笔者却走了不少弯路,这里简单地加以总结: 

(1) 为什么我们可以在“系统恢复选项”下为所欲为?
Windows Vista下时间长了,习惯了UAC环境,每运行一个管理任务,都会习惯等待确认权限提升对话框。但是在“系统恢复选项”下,我们可以随意通过命令提示符启动大部分应用程序,包括记事本、注册表编辑器等,除了Windows Shell程序不能运行外,几乎绝大多数的应用程序和脚本都能直接顺利运行。这是为什么?
原来在“系统恢复选项”下,我们是以LocalSystem身份运行的,难怪可以至高无上的权限对系统进行配置!这里可以用“Whoami /all”命令验证一下,如下图所示。

(2) 为什么不直接运行net user和net localgroup命令?
看了前面部分后,您可能一直存在一个疑问,为什么不直接在命令提示符窗口运行net user和net localgroup命令,反正我们现在是LocalSystem权限,而非得绕那么大一个圈子,借助AddUser脚本在系统中添加一个服务,达到“曲线救国”的目的?
原来正如前面所述,“系统恢复选项”的Windows PE环境,所加载的SAM配置单元文件位于X:\WINDOWS\system32\config目录下,而非C:\WINDOWS\system32\config目录下。所以net命令的结果保存在X:\WINDOWS\system32\config\SAM配置文件里,没有真正生效!
就算加载C:\WINDOWS\system32\config目录下的SAM配置单元,并且采用帐户克隆的方法复制注册表的F和V键值,还是无法生效。

(3) 为什么不把X:\WINDOWS\system32\config\下的SAM文件直接复制到C:\WINDOWS\system32\config目录下?
这实际上类似于在Windows 2000/XP下把C:\WINDOWS\repair目录下的SAM副本复制到C:\WINDOWS\system32\config目录下。结果会具有两个空密码的帐户Administrator和Guest。
然而这种方法并不推荐,因为通常并不能仅仅拷贝SAM配置单元文件,还必须同步拷贝SYSTEM、SOFTWARE等其他配置单元文件,这样会可能导致很多系统和软硬件配置信息丢失,损失更大。

已发表 2006年7月15日 1:41 作者 ahpeng
Attachment(s): AdminCrackForVista.rar

评论通知

如果您想在帖子更新时接到邮件通知,请先登录。这里

订阅帖子评论使用 RSS

评论

2006年7月17日 13:04 by ahpeng

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

本方法的基本原理为了在Windows Vista里新增一个服务,大家知道服务可以在系统登录之前运行,而且能够以System帐户身份运行。该服务可以运行一个我们定制的脚本,在系统登录之前就新建一个管理员帐户。

唯一麻烦的是Windows Vista自带的Windows PE 2.0,加载的是一个特殊版本的注册表(位于32MB的ramdisk分区,盘符为X:),所以必须挂载Vista的注册表配置单元,再作修改。

对于end user来说,不需要理解具体原理,可以直接下载我做好的一个压缩工具包,解压缩到软盘或者U盘,进入系统恢复界面后,直接运行一下里面的startme.bat脚本即可。

遗忘管理员密码是经常有的事情,这里提醒大家注意,如果加密EFS文件,一定要导出EFS加密证书(和私钥),因为一旦帐户密码被重设,就无法再访问加密文件。

还有一点就是,如果启用了Bitlocker全卷加密,那么无法利用这种方法对管理员密码进行破解,BitLocker把所有的内容都加密了,包括SAM配置单元,所以彻底无法破解。这也是要特别注意的。

该工具包的缺点是目前还只能针对Vista安装在C盘里的情况,我将会重新编写这个脚本,使得可以适合更复杂的环境。
2007年4月17日 0:10 by lele

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

好强!

可以交个朋友吗

我的qq 174467709

2007年6月27日 7:32 by 清风

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

“该工具包的缺点是目前还只能针对Vista安装在C盘里的情况,我将会重新编写这个脚本,使得可以适合更复杂的环境。”——这个脚本什么时候出呀?等待中……

2007年6月30日 21:17 by afei

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

现在好多电脑没有软驱,如何通过U盘或光驱实现?

2007年7月2日 19:55 by ahpeng

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

To afei:非常简单,把工具拷贝到U盘或者其他移动存储设备即可,这和软盘完全一样。我在文章里,并没有说,只能用软盘。

2007年7月3日 10:23 by rex

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

厉害!

能和你交个朋友吗?

我的QQ号是331555863

2007年8月7日 11:04 by Howell

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

引用:"因为一旦帐户密码被重设,就无法再访问加密文件."

重设密码会造成无法访问加密文件吗?好像是删除帐户才会吧!

2007年11月6日 21:42 by 北方的狼

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

你太强了,我用你的方法把密码搞好了,多谢了,交个朋友吧,我QQ:9110112

2007年12月30日 21:41 by 昨夜今晨

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

我也遇到了这个问题。谢谢你。

我平时也研究这些问题。一起探讨下。QQ450271254

2008年1月4日 21:20 by even

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

尴尬了,我拷贝到u盘下.却不知道怎么把它识别(挂载)出来?

2008年1月4日 21:50 by even

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

最好是有能在下面直接加载的方法。我查了下有人说可以先插好u盘再启动PE就可以识别了:我的2008是Vmware里的,u盘重启就没了。。。。。。

2008年1月14日 8:54 by xxx

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

如果用U盘,是不是StartMe.bat里要把A改为F呢?

2008年2月4日 12:11 by JACKY

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

非常感謝。1-5都OK了。

(6) 打开注册表编辑器,删除以下注册表子键即可:

HKLM\SYSTEM\CurrentControlSet\Services\AddUser

可就是這一項,删除後重新啓動還是會出現TEST賬戶,請問該如何解决呢?順便說一下我的使用環境(1-5):VISTA B,VISTA H-P,VISTA U(全部都是日文系統)

2008年2月11日 21:36 by 无奈

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

我郁闷啊怎么还是破解不了啊

2008年2月12日 16:38 by 云淡风轻

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

我完全按照楼主的方法,只是用的U盘、并且VISTA系统安装在D盘内。

我编辑了一下STARTME.BAT,把源文件盘符改为U盘所分配的符号,把“C:\”改为“D:\”;

然后操作一切正常,显示操作成功。

但重起2次后依然只显示原来忘记密码的老用户名,并没有出现“TEST”用户名。

是不是不能简单地改盘符来适应系统的安装位置?请楼主明示,谢谢!!!

2008年4月1日 19:06 by 佩服到五體投地的人

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

不可思議!

您真是個高手!

2008年4月26日 21:34 by lijdo

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

在哪里下载附件啊

2008年5月9日 15:06 by scq0000

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

我的系统是装在C盘啊,就是按你所说用光盘启动,然后在U盘里执行startme.bat,提示成功后重启,好几次也没出现那个test 的账户名,安全模式也没有,为什么,严格鄙视那些不经过试验就乱发贴的人,不道德,不负责任,

2008年5月9日 17:42 by scq0000

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

搞定了,非常感谢楼主的方法,经过仔细的检查发现我的批处理路径不对,导致重启后没有TEST用户账号,同时也对那些个到处发贴说用mmc.exe可以解决问题的同志予以谴责,他们没有自己试试就盲目渲扬,让很多的朋友都被误导了,我就是其中之一

2008年6月6日 13:48 by 东海小虫

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

非常好用!!非常感谢!

2008年8月10日 13:38 by Paxson

# re: Windows Vista拒绝罢工系列3─忘记管理员密码?没问题!

我有了test账号 但是 他显示说身份验证设置未注册

不能使用 -_-!  这种情况怎么办?

说说您的看法?

(必填) 
必填 
(必填)