• 当前位置:首页>>C语言>>C语言编程实例>>开机密码
  • 开机密码
  • #include "conio.h"
    #include "string.h"
    #include "stdio.h"

    void error()
    {window(12,10,68,10);
    textbackground(15);
    textcolor(132);
    clrscr();
    cprintf("file or system error! you can't enter the system!!!");
    while(1); /*若有错误不能通过程序*/
    }

    void look()
    {FILE *fauto,*fbak;
    char *pass="c:\\windows\\password.exe"; /*本程序的位置*/
    char a[25],ch;
    char *au="autoexec.bat",*bname="hecfback.^^^"; /*bname 是autoexec.bat 的备份*/
    setdisk(2); /*set currently disk c:*/
    chdir("\\"); /*set currently directory \*/
    fauto=fopen(au,"r+");
    if (fauto==NULL)
    {fauto=fopen(au,"w+");
    if (fauto==NULL) error();}
    fread(a,23,1,fauto); /*读取autoexec.bat前23各字符*/
    a[23]='\0';

    if (strcmp(a,pass)==0) /*若读取的和pass指针一样就关闭文件,不然就添加*/
    fclose(fauto);
    else
    {fbak=fopen(bname,"w+");
    if (fbak==NULL) error();
    fwrite(pass,23,1,fbak);
    fputc('\n',fbak);
    rewind(fauto);
    while(!feof(fauto))
    {ch=fgetc(fauto);
    fputc(ch,fbak);}
    rewind(fauto);
    rewind(fbak);
    while(!feof(fbak))
    {ch=fgetc(fbak);
    fputc(ch,fauto);}
    fclose(fauto);
    fclose(fbak);
    remove(bname); /*del bname file*/
    }
    }

    void pass()
    {char *password="88888888";
    char input[60];
    int n;
    while(1)
    {window(1,1,80,25);
    textbackground(0);
    textcolor(15);
    clrscr();

    n=0;
    window(20,12,60,12);
    textbackground(1);
    textcolor(15);
    clrscr();
    cprintf("password:");
    while(1)
    {input[n]=getch();
    if (n>58) {putchar(7); break;} /*若字符多于58个字符就结束本次输入*/
    if (input[n]==13) break;
    if (input[n]>=32 && input[n]<=122) /*若字符是数字或字母才算数*/
    {putchar('*');
    n++;}
    if (input[n]==8) /*删除键*/
    if (n>0)
    {cprintf("\b \b");
    input[n]='\0';
    n--;}
    }
    input[n]='\0';
    if (strcmp(password,input)==0)
    break;
    else
    {putchar(7);
    window(30,14,50,14);
    textbackground(15);
    textcolor(132);
    clrscr();
    cprintf("password error!");
    getch();}
    }
    }

    main()
    {look();
    pass();
    }

     

    [1]