分享
 
 
 

Windows2000/NT/XP管理员密码丢失解决方法

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

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 ========

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有