如果你忘記了CMOS密碼,那你將怎樣處理呢?我想,最原始的辦法就是放電。
這種方法固然可以達到清除CMOS密碼的目的,但在操作時需要打開機箱,而且CMOS設
置也將被一併清除,顯然太麻煩。另外還有一種比放電略簡單一點的方法,就是
使用DEBUG。其具體操作是:在DEBUG狀態提示符下,鍵入“O 70 11回車”和“O 71 10 回車”,
再按“Q”退出。這樣雖然不必打開機箱,但CMOS仍然需要重新設置,所以也不太簡便。
下面我就給大家介紹一種最簡便且最有效的解密法。該方法是通過一個小程序來實現的,
程序的運行結果就是CMOS的密碼。這個程序在BC++ 3.1下的源代碼如下:
#include<stdio.h>
#include<conio.h>
char passwd[9];
char decode[9];
void main()
{
unsigned int data;
int count=0;
asm{\t /*獲取CMOS密碼的原始數據*/
mov al,29
out 0x70,al
in al,0x71
mov ah,al
mov al,28
out 0x70,al
in al,0x71
mov data,ax
}
while (data>0) { /*將原始數據轉換爲有效數據*/
if (data<0x80){
passwd[count]=data;
break;
}
else{
unsigned char temp=data&0x3f;
if(temp<=0x20)temp|=0x30;
passwd[count++]=temp;
data-=temp;
data>>=2;
}
}
for(int i=0;count>=0;i++) /*將得到的CMOS密碼輸出*/
decode=passwd[count--];
printf(“The CMOS's password:");
textbackground(0x4);
textcolor(0xff);
cputs(decode);
}
有一點應該說明,通過這個程序求出的CMOS密碼不一定與你以前所設置的密碼一樣。
例如,若密碼設爲“586”,而它求出的卻是“80&”。不過,這並不要緊,你只要按它
求得的密碼輸入,就一定能成功地解開密碼。不信,就去試試吧。