----CMOS (Award)密码简介与破解0--3法----
计算机启动时,由存放在主板ROM中的bios将cmos数据调入内存中,以实现控制系统。
其中,Award主板上的一小块RAM用于存放CMOS数据,地址为00-7F的共128个字节中。
当中的字节 1c和1d存放的就是cmos的密码(即Supervisor Password)。
而维持cmos数据存活的当然是那块锂电池了。
端口70h,71h用于对cmos数据的读写。
0-->>不是方法的方法0--万能型也是最烂型:拔电池或跳线(放电)!!---阿鸟破系统密码呢?
1-->>破解方法1--挺烂:
进入dos,用debug
-o 70 10
-o 71 01
-q
重启后,可以直接进入cmos,而没有密码询问了。
这种方法是通过向cmos芯片写入数字,导致开机检测时无法通过其奇偶校验,从而使cmos芯片数据重新恢复到默认的出厂值!!!
唉。。。。!!!好不容易,设置的cmos参数,就这样毁于debug了,55555555555~~~~~别哭别哭,看看下面的2种方法就一切ok了
-->>方法2:当然是编程实现喽,
首先声明:此程序"算法"并不是我编写的,原作者unkown
具体操作简介如下:
outportb(0x70,i); 将i字节的数据写到端口70
cmospass=_inp(0x71); 将71端口的数据读出到终端并存入变量cmospass
程序实现将这两个字节0x1c,0x1d的数据读出来,并转化成四进制,合并成8位即可
----(award主板脆弱的加密方法,难怪只听到award密码的破解。。。)
程序测试系统:win98se
编译工具:turboc2
以下为cmospass的源代码:cmospass.c
代码:
--------------------------------------------------------------------------------
#include
#include
#include
void main()
{
int n;
char comspass;
char temp=0;
printf("\nThis program only is tested at win98 and award bios!!\n");
printf("The password of the cmos is:");
outportb(0x70,0x1d);
comspass=inportb(0x71);
for(n=6;n>=0;n-=2)
{ temp=cmospass;
temp>>=n;
temp=temp&0x03;
printf("%d",temp);
}
outportb(0x70,0x1c);
result=inportb(0x71);
for(n=6;n>=0;n-=2)
{ temp=cmospass;
temp>>=n;
temp=temp&0x03;
printf("%d",temp);
}
printf("\n--By skyjacker");
printf("\n--http://lastknife.yeah.net---Welcome to here!!");
printf("\n----2002.01.04---- \n");
}
3-->>方法3--绿色环保型:
我觉得这也是现在最快,最好,最实用的方法了!!!!!
无论你到哪里,包括网吧好像也是一大堆award吧
如果你暂时无c语言编译器或相关破解程序,用这种的方法也可以快速破解出cmos密码(15秒完全可以了,你用了多少呢?)
主要是看你键盘输入以及实现16进制和4进制的转化的速度(考试啊?-:)
过程有三步:(很简单的,不过说明有点麻烦罢了:)
1。进入ms-dos,键入debug(这不是清除cmos密码吗?---放心,这次不会了
,出现字符“-”,键入如下指令
c:\debug
-o 70 1d
-i 71
xx
-o 70 1c
-i 71
yy
-q
注
x,yy是显示结果,1d,1c这两个单元存放的是cmos密码加密后的结果,计下这两个16进制数
2.将他们转化为4进制
比如:
xx是8E,转化后为 2032,
yy为3B,转化后就是0323,
两个合并xxyy为22201001 ,这就是cmos的密码了.
(我的原先密码为87654321同样还有效!!)
如果xx或yy转化后,不足四位则在最前面加"0"凑足四位(比如0323).
如果你的运气不坏的话,成功率为98%以上.(毕竟award主板也有许多别的型号).
3.如果懒的计算的话,用win2000的科学型计算器转化即可(15秒之内如何?).
(win98中无16进制和4进制的转化,非运算不可了