正文

利用 dos 中断写密码程序2007-03-20 10:46:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lingdlz/24120.html

分享到:

/* 编译器 TC */

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

void main(void){
 union REGS inregs,outregs;
 int index;
 char password[255];

 do{
  printf("Enter password:");
  index = 0;
  do{ inregs.h.ah = 8; /* int 21h 功能 8 键盘输入无回显 */
   intdos(&inregs,&outregs);
   if(outregs.h.al == '\r')
    password[index] = NULL;
   else if(outregs.h.al == '\b'){
    if(index){
     index --;
     printf("\b \b");
    }
    else
     printf("\a");
    continue;
   }
   else{
    printf("*");
    password[index] = outregs.h.al;
   }
   if(index == 255){
    password[index-1] = NULL;
    break;
   }
   if(!password[index])
    break;
   else
    index ++;
  }while( 1 );
  if(strcmp(password,"jiangnan")){
   putchar('\a');
   printf("\nInvalid password\n\n");
  }
  else{
   printf("\n\nPassword is ok !\n");
   break;
  }
 }while(1);
 system("pause");
}

阅读(4114) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册