Chinaunix首页 | 论坛 | 博客
  • 博客访问: 630071
  • 博文数量: 105
  • 博客积分: 10013
  • 博客等级: 上将
  • 技术积分: 985
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-31 21:04
个人简介

窥天地之奥 达造化之极

文章分类

全部博文(105)

文章存档

2015年(1)

2010年(3)

2009年(2)

2008年(2)

2007年(2)

2006年(95)

分类:

2006-04-11 20:40:33

C语言破解CMOS密码的魅力
   以下是破解CMOS的几种方法,相信大家不会忘记C语言吧,看看它是如何的进行对硬件的操作哈!采用精典的方法,大家学习一下,所以同胞们不要小看C哈,还是要学精一点好.
                         ----------JAMES
----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
代码:
--------------------------------------------------------------------------------




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

注:xx,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进制的转化,非运算不可了:)
阅读(2834) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~