浅喜似苍狗 知乎:xp系统密码丢失

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/26 06:27:13
xp系统密码丢失怎么办?

在找一块硬盘,用那快硬盘启动,把C:\Documents and Settings\用户名 下的文件用 administrator 覆盖了就变成administrator 密码了

进入“安全模式”
在“用户”里把这个用户删掉。

以文本方式查看主题

- 龙门客栈 (http://bbs.newzg.com/index.asp)
-- 软件技术 (http://bbs.newzg.com/list.asp?boardid=13)
---- 2K或XP密码丢失的恢复方法集锦 (http://bbs.newzg.com/dispbbs.asp?boardid=13&id=483)

win2000/XP密码丢失解决方法 (点击:次)
电脑天地--文:张旭-----发表世间:2005-04-06

经常被问即管理员密码丢失怎么办?下边就windows 2000/nt/xp系统下的解决方法作一个简单的总结,当然并不全面。

1:清除sam文件:
WinNT系列的系统账户信息是存在%systemroot%\system32\config\sam这个注册表文件里的。如果系统里没有重要的账户,或者账户比较少,用删除%systemroot%\system32\config\sam的方法是比较简单的,不过因为系统会还原为只有administrator(密码为空)和guest二个账户,所以有些程序因为它们所依赖的账户丢失了,如iis、vmware就不能启动了。
原来听说这种方法只能适用于nt workstation系列(2kpro),不能用于server,我在2000professional和2000 advanced server上试验都是成功的。不知道为什么会有上述说法,可能是活动目录ad下不行吧。
当然首先你要能够访问系统分区,来把sam文件改名或者删除。如果是fat32、fat分区,使用98启动盘就行了。如果是ntfs分区,可以使用winternal的ntfs for dos、ntfs for 98或者是支持ntfs的启动光盘,再或者挂到其他win2000、linux等机器上,再再或者重新安装一个新的win2000。
=版权所有 软件 下载 学院 版权所有=
2:专用工具:
windows管理员密码丢失还有一个解决方法是使用Petter Nordahl-Hagen的The Offline NT Password Editor(http://home.eunet.no/~pnordahl/ntpasswd/),这个工具是离线修改注册表文件sam来设置密码的。需要用他的映像文件制作启动盘来引导,进而访问ntfs分区重新设置密码;虽然作者经常更新他的程序,不过我还是会担心他直接操作sam文件的安全性,可能有时会导致系统出错。可能还有其他类似工具吧,恕我无知。

3:还有一种想法就是用一个修改密码的小程序来替换系统启动的必要程序,然后系统启动时就会替换密码,随后把被替换的程序在还原就行了。当然首先你还是要能够访问系统分区,来替换随系统启动的程序。

替换系统启动的必要程序的一种方法是我写的一个清除administrator密码的小程序(CleanPwd:http://www.BingleSite.net/myprog/CleanPwd/CleanPwd.rar),他所作的就是把administrator密码清空。使用方法如下:
1):用双系统或者启动盘或者挂到别的系统上,如果是NTFS分区其他系统或启动盘要能读写NTFS分区,把windows安装目录下的system32\svchost.exe改名svchost.bak.exe备份,把CleanPwd.exe拷贝成svchost.exe。

2):启动该系统,就把administrator的密码清空了,可以直接登陆。

3):把svchost.bak.exe 恢复就行了(如果使用替换的是svchost,最好再启动rpc服务)。为什么选用svchost.exe而不是其他程序,因为每个windows2000系统都有这几个进程,System(kernel Executive and kernel)、smss(session manager)、csrss(win32 subsystem)、winlogon(logon process)、services(Service control manager)、lsass(local security authentication server ) 如果任何一个被杀掉或者出错,系统将重新启动。不过在lsass启动之前你不能修改密码,所以不能选用这几个程序。
另外系统中一般还有以下一些程序:svchost.exe(Remote Procedure Call (RPC) 还有其他一些服务)、WBEM\WinMgmt.exe(Windows Management Instrumentation)、mstask.exe(Task Scheduler)、regsvc.exe(Remote Registry Service) 可能还有其他服务程序,你可能禁止了除RPC之外的其他服务,但不会禁止rpc,否则系统工作就不正常了。所以我选择了svchost,如果你知道其他服务会自动启动,你也可以选择它。当然如果系统安装了杀毒软件的话,你替换杀毒软件也可以,因为一般杀毒软件都会在系统启动是启动杀毒防火墙来杀毒的。

4):其他:有这个想法是几个月之前了,不过一直没有写这个程序:( 程序运行会在c:\CleanPwd.txt记一个简单的日志,我也附了源码,你可以任意修改它以满足自己的要求,比如添加一个用户而不是修改管理员的密码(或者你把管理员改名了)。

4:我还在一个网站上看到这样一个方法:就是把%systemroot%\system32\logon.scr替换为cmd.exe或者explorer.exe,然后在系统登陆处等待,过一会,系统就会去运行logon.scr这个屏保,因为你替换了这个屏保文件,所以实际上运行的是cmd.exe或者explorer.exe,并且是localsystem权限,于是你可以随便了,最简单的就是在cmd.exe里运行net user administrator "",成功后管理员密码也被清空了,关闭cmd或者explorer就可以用空口令登陆了。其实这种方法和上边的那种思路是一致的。

================= code begin =======================
#include
#include
#include
#include
#include
#pragma comment(lib, "Netapi32.lib")

#define LOF_FILE "c:\\cleanpwd.txt"

DWORD SetUserPwd(char *user, char *pass);

void banner(FILE *fp)
{
if(NULL == fp)return;

fprintf(fp, "Clean administrator’s password tool 1a. for lost password.\n");
fprintf(fp, " by bingle@email.com.cn\n");
fprintf(fp, "Website: www.BingleSite.net\n");
}

int main(int argc, char *argv[])
{
banner(stderr);

FILE *fp = fopen(LOF_FILE, "a");
if(fp)
{
fprintf(stderr, "Log in file %s\n", LOF_FILE);
banner(fp);
}

if(!fp) fp = stderr;

char buff[256];
fprintf(fp, "%s: clean administrator’s password ", _strtime(buff));
DWORD n = SetUserPwd("administrator", "");
if(NERR_Success == n) fprintf(fp, "ok.\n");
else fprintf(fp, "failed, error:%d\n", n);

fclose(fp);

return -1;
}

DWORD SetUserPwd(char *user, char *pass)
{
wchar_t wuser[PWLEN], wpass[PWLEN];
USER_INFO_1003 ui;

mbstowcs(wuser, user, strlen(user)+1);
mbstowcs(wpass, pass, strlen(pass)+1);
ui.usri1003_password = wpass;
=版权所有 软件 下载 学院 版权所有=
return NetUserSetInfo(NULL, wuser, 1003, (LPBYTE)&ui, NULL);
}

================= code end =======================

(出处:http://study.viphot.com

--------------------------------------------------------------------------------

-- 作者:SCUM
-- 发布时间:2005-4-19 11:07:27

-- 2K或XP密码丢失的恢复方法集锦
1.先重新启动WinXP

在启动画面出现后的瞬间,按F8键,选择“带命令行的安全模式”运行。启动过程完毕后,系统会列出了管理员用户Administrator和普通用户(“如abc”)的选择菜单,选择管理员用户Administrator,进入命令行模式后键入命令:“net user abc 1234 / add”,注意!键入的命令中“abc”字样为你之前一直用开的用户名,“1234”字样为用户口令。而命令目的是强制地将“abc”用户的登陆口令更改为“1234”。若想在此添加某一用户(如:用户名为321,口令为4321)的话,则应键入“net user 321 4321 / add”,添加后可用“net localgroup administrator 321 / add”命令将用户提升为系统管理组administrator用户,具有超级权限。然后重新启动WinXP,选择正常模式运行,就可以用更改的口令“1234”登录abc用户了。此方法仅适用于采用FAT32分区安装且用户账户不是汉字名称的WinXP。

2.通过双系统删除WinXP

除了WinXP外还有其它操作系统的话,可用另外一个操作系统启动,然后删除C:\\windows\\system32\\config上当下的SAM文件(假如WinXP安装在C盘,可根据实际情况进行删除),即账号密码数据文件。然后重新启动WinXP,这时管理员administrator账号就没有密码了。当然,如果只有一个WinXP系统,也可以取下硬盘换到其他机器上来删除SAM文件。

此方法适用于采用FAT32分区安装的WinXP,如果采用NTFS分区安装的,要保证其它系统能访问NTFS分区。

3.采用NTFS分区安装的解决方法

使用一个叫NTFSDOS工具,通过这个工具制作出一张可以从DOS下操作NTFS分区的启动盘。启动DOS后切换到系统上当,假如C:\\Windows\\system32,将logon.scr更名为logon.scr.bak,再复制一个command.com并将文件名更名为logon.scr,然后重新启动机器后等待15分钟,本应该出现的屏幕保护现在变成了命令行模式,而且是具有administrator权限的,通过这个就可以修改密码或者添加新的管理员账号了。进入WinXP后再把logon.scr.bak屏幕保护程序的名字改回去即可。此方法适用于NTFS分区安装的WinXP。

4.使用其他工具重建WinXP登录密码

在网上可以找到许多WinXP登录密码的工具,比如:使用Linux boot disks启动盘可以访问NTFS文件系统,并且可以读取注册表并重写账号密码;使用NTAcess工具可以绕过系统syskey的保护,重新设置WinNT/2000、WinXP的密码;还有passware Kit、O&O Bluecon2000等等工具,具体操作就不叙述了,参见各软件工具的说明。

搞定xp密码的五个方法
奇招1:大家知道,windows xp的密码存放在系统所在的winntsystem32config下sam文件中,sam文件即账号密码数据库文件。当我们登陆系统时,系统会自动地和config中的sam自动校对,如发现此次密码和用户名全与sam文件中的加密数据符合时,你就会顺利登陆;如果错误则无法登陆。既然如此,我们的第一个方法就产生了:删除sam文件来恢复密码。

如果你不用管本来系统中包含的任意账号,而且有两个xx作系统的话,可以使用另外一个访问ntfs的xx作系统启动电脑,或者虽然没有安装两个系统,但可以使用其他工具来访问ntfs。然后删除c:winntsystem32config目录下的sam文件,重新启动。这是,管理员administrator账号就没有密码了。

安全账号管理器的具体表现就是%systemroot%system32configsam文件。sam文件是windows nt/2000/xp的用户帐户数据库,所有用户和登陆名及口令等相关信息都会保存在这个文件中。

奇招2:使用office nt password & registry editor.用该软件可以制作linux启动盘,这个启动盘可以访问ntfs文件系统,因此可以很好地支持windows 2000/xp。使用该软盘中的一个运行在linux下的工具ntpasswd就可以解决问题,并且可以读取注册表并重写账号。使用方法很简单,只需根据其启动后的提示一步一步做就可以了。在此,建议你使用快速模式,这样会列出用户供你选择修改那个用户密码。默认选择admin组用户,自动找到把administrator的名字换掉的用户,十分方便。下载地址(镜像http://home.eunet.no/~pnordahl/ntpasswd/

奇招3:使用windows key 5.0。该软件包含在passware kit 5.0中,用于恢复系统管理员的密码,运行后生成3个文件:txtsetup.oem、winkey.sys和winkey.inf,3个文件共50kb。把这3个文件放在任何软盘中,然后使用xp安装光盘启动电脑,启动过程中按f6键让系统采用第三方驱动程序。此时,正是我们切入的最好时机,放入该软盘就会自动跳到windows key的界面。他会强行把administrator的密码换成12345,如此一来何愁大事不成?嗬嗬!当你重新启动以后,你会被要求再次修改你的密码。软件下载地址http://www.lostpassword.com/windows-xp-2000-nt.htm

奇招4:使用ntfsdos这个可以从dos下写ntfs分区的工具。用该软件制作一个dos启动盘,然后到c:winntsystem32下将屏幕保护程序logon.scr改名,接着拷贝command.com到c:winntsystem32下(win2000下可以用cmd.exe),并将该文件改名为logon.scr。这样启动机器15分钟以后,本该出现的屏幕保护现在变成了命令行模式,而且是具有administrator权限的,通过他就可以修改密码或者添加新的管理员账号了。改完以后不要忘了把屏幕保护程序的名字改回去。下载地址http://www.cgsecurity.org/index.html?ntfs.html

奇招5:下面介绍一个比较与众不同的方法。你可以在别的分区上在安装一个xp系统,硬盘分区格式要和原来的一样,并且请你注意一定不要和原来的xp安装在同一分区!在开始之前,一定要事先备份引导区mbr,备份mbr的方法有很多,使用工具软件,如杀毒软件kv3000等。装完后用administrator登陆,现在你对原来的xp就有绝对的写权限了,你可以把原来的sam考下来,用10phtcrack得到原来的密码。也可以把新安装的xp的winntsystem32config下的所有文件覆盖到c:winntsystem32config目录中(架设原来的xp安装在这里),然后用kv3000恢复以前悲愤的主引导区mbr,现在你就可以用administrator身份登陆xp了。

删除c:winntsystem32config目录下的sam文件,重新启动。这是,管理员administrator账号就没有密码了。
这个方法对于2000 有效 对于xp无效 删除后 无法登陆windows

——不知对阁下是否有用但小弟我是真的尽心尽力了

按 ctrl+alt+del,出现管理员信息,在名称一栏输入administrator ,密码为空,回车即可

如果用户不是administrator.可以进入安全模式.进入administrator这个用户..然后再到控制面板里的账户用户点你那个用户..你会发现.里面会有个删除密码..删除密码就行了.

买张WINPE光盘启动,进去后有"开始"里有"破解密码"的程序,运行就可以了.