当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

自己写程序揭开cmos密码

     一说到破解cmos密码,你可能说,咳,这有什么难的,用debug
    o 70 20
    o 71 20
    不就地了吗。
    慢~~~,以上这种方法是通过向cmos芯片随便写入数字,使之在开机检测时无法通过奇偶校验导致cmos芯片数据重新初始化,自然密码也没有了,但是这种方法是破坏性的(暴力!),清除的不止是密码而已,cmos芯片的其他数据,包括cpu频率,ide借口设备等等都被清除了,而且,最重要的一点就是--在你破掉密码之后,别人就知道密码被破解了。这绝对不符合我们的原则---"我轻轻的走,正如我轻轻的来,敲一下esc,不留下一个足迹....". 而用程序将cmos密码读出,绝对不会留下一点痕迹.
    原理如下:award密码存在cmos芯片的0x1c,0x1d处的两个字节中,将这两个字节的数据读出来,用四进制表示,就是密码了.
    以下为c语言的源程序:

    代码:
    --------------------------------------------------------------------------------

    #include <stdio.h>
    #include <dos.h>
    #include <conio.h>

    main()
    {
    int i;
    char result;
    char temp=0
    printf("The award bios passWord is:");
    outportb(0x70,0x1d);
    result=inportb(0x71);

    for(i=6;i>=0;i-=2)
    {
    temp=result;
    temp>>=i;
    temp=temp&0x03;
    printf("%d",temp);
    }
    outportb(0x70,0x1c);
    result=inportb(0x71);

    for(i=6;i>=0;i-=2)
    {
    temp=result;
    temp>>=i;
    temp=temp&0x03;
    printf("%d",temp);
    }
    return 0;
    }

    ---------------------------------------------


    ps:此程序只对award芯片的bios有效.

相关内容
赞助商链接