Win98 的屏幕保护密码破解方法
程式猎人
今天没有什么事情,杂志制作完成后看一看从朋友借的光盘,从中看到了一个关于破解win98屏幕保护的密码,这里介绍如下:
屏幕保护密码
利用系统的屏幕保护功能可以防止他人在自己不在的情况下偷用自己的计算机,从而起到保护数据安全的作用。不过在不配合其它限制功能的情况下,系统的屏幕保护密码是非常脆弱的。我们在遗忘密码之后只需使用“复位”键强行启动计算机(某些设计不完善的屏幕保护程序甚至可以使用Ctrl+Alt+Del强行关闭,其操作就更简单了),然后右击桌面空白处并从弹出的快捷菜单中执行“属性”命令,打开“显示属性”设置框并单击“屏幕保护”选项卡,最后取消“密码保护”选项即可(取消该选项时无需确认密码)。另外,据说目前市面上还出现了一种专门用于破解屏幕保护密码的光盘。插入该光盘之后,它就会利用Windows
98的自动运行功能启动保存在光盘上的屏幕保护密码破解程序,对屏幕保护功能的密码进行分析、破译,最后再将密码显示在屏幕上或写到软盘上,这就更方便了(对不起,该功能只是道听途说,本人并没有亲眼见到这样的光盘)。
上面就是这个文章的作者提供的破解方法,但是我个人认为可以对win98的屏幕保护密码进行研究一下,这样就可以知道win98是使用什么文件来验证密码的。
现在先使用Regsnap来对注册表进行拍照,然后将屏幕保护密码设为有,这样就可以分析到win98是如何将屏保密码放在注册表的哪个地方了。这样分析后得到了这样的结果。
HKEY_USERS\.DEFAULT\Control Panel\desktop\ScreenSaveUsePassword=0x00000001(1)
这里就是win将密码项打开的选项,如果你将这个0x00000001(1)变为0x00000000(0)后就没有屏保密码了。也就是这个屏保密码不再起作用了。
这个对屏保密码的研究是最开始阶段,下一步是将研究win是使用哪个程序来验证屏保密码的。
这里依然还得借住工具来分析,先使用TRW2000来分析,将屏保启动,出现验证密码的地方,在这里先输入任意的密码后,设bpx hmemcpy后点击OK,被拦下来,它这时在系统中keneal中,按F12几次就可以到达下面显示为password!……字样的地方,这里就是我们想要得到的地方。
* Reference To: USER32.GetDlgItemTextA, Ord:00FDh
|
:78054201 FF15DC720578 Call dword ptr
[780572DC]
:78054207 85FF
test edi, edi <-出来
:78054209 751B
jne 78054226
:7805420B 8D45FC
lea eax, dword ptr [ebp-04]
:7805420E 8D8D78FFFFFF lea ecx, dword
ptr [ebp+FFFFFF78]
:78054214 50
push eax
:78054215 51
push ecx
* Reference To: MPR.WNetVerifyPasswordA, Ord:004Eh
|
:78054216 E87F020000 Call 7805449A
:7805421B 85C0
test eax, eax
:7805421D 7440
je 7805425F
:7805421F B801000000 mov eax,
00000001
:78054224 EB79
jmp 7805429F
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:78054209(C)
|
:78054226 8D8574FEFFFF lea eax, dword
ptr [ebp+FFFFFE74]
:7805422C 8D8D78FFFFFF lea ecx, dword
ptr [ebp+FFFFFF78]
:78054232 50
push eax
:78054233 51
push ecx
* Reference To: KERNEL32.lstrlenA, Ord:02E7h
|
:78054234 FF1558720578 Call dword ptr
[78057258]
:7805423A 50
push eax
:7805423B 8D8D78FFFFFF lea ecx, dword
ptr [ebp+FFFFFF78]
:78054241 51
push ecx
:78054242 E89A010000 call 780543E1
:78054247 57
push edi 加密后你输入的密码
:78054248 8D8D74FEFFFF lea ecx, dword
ptr [ebp+FFFFFE74]
:7805424E 51
push ecx 加密后真正的密码
* Reference To: KERNEL32.lstrcmpiA, Ord:02DEh
|
:7805424F FF1554720578 Call dword ptr
[78057254]
:78054255 83F801
cmp eax, 00000001
:78054258 1BC0
sbb eax, eax
:7805425A F7D8
neg eax
:7805425C 8945FC
mov dword ptr [ebp-04], eax
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:7805421D(C)
|
:7805425F 33FF
xor edi, edi
:78054261 B801000000 mov eax,
00000001
:78054266 397DFC
cmp dword ptr [ebp-04], edi
:78054269 7534
jne 7805429F ***关键跳跃的地方
上面就是程序比较屏保密码过程,上面是加密后再进行比较的过程,所以无法看到真正的密码,但是你可以在***处强行跳跃的就可以了。这样就可以回到win中了。
现在使用TRW就可以解决掉屏保密码了。但是还是不行的,我们得找到win使用哪个程序来调用验证密码的过程。
现在使用File monitor来查看win调用了什么程序。
经过监视,发现win调用c:\windows\system\password.cpl程序来验证密码的过程。其实也用到了其它程序,但是这个就是我们要找的程序。
使用W32DASM来反汇编这个程序,发现就是我们要找的程序,于是我将
:78054266 397DFC
cmp dword ptr [ebp-04], edi
:78054269 7534
jne 7805429F ***关键跳跃的地方
这里改为
:78054266 397DFC
cmp dword ptr [ebp-04], edi
:78054269 EB34
jmp 7805429F ***关键跳跃的地方
存盘,再进行屏保密码验证过程,你只要点击OK就可以了。win已经没有了屏保密码保护的功能。
好了,现在总结一下吧,如果你想打开屏保保护的密码,使用最后一种方法比较好,可以在另一台电脑中将password.cpl修改为上面的那样,重新启动电脑就可以将它拷贝到相应的目录下就可以了。这样进行win中就是开始还有密码保护也能点击OK回到win中来。
最后说的是希望大家来访问我的网站:http://programhunter.myrice.com/welcome1.htm
- 标 题:很长时间没有贴文章了,今天没有什么事情就写的关于破解win98屏保密码的文章,大家共享一下吗!
- 作 者:程式猎人
- 时 间:2000-11-8 21:58:55
- 链 接:http://bbs.pediy.com