|
imp
银牌会员
    
积分 1001
发帖 309
注册 2002-11-19
状态 离线
|
『楼 主』:
[转帖]开机密码
使用 LLM 解释/回答一下
/*************************************/
#include
#include
#include
static char Pass_w;
static char Chang;
static char new1;
static char new2;
FILE *fp;
/**************************************/
void Creat()
{
creat ("keyword"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
fclose(fp);
}
/****************************************/
void save()
{int i;
if ((fp=fopen("keyword","wb"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">)==NULL)
{printf("Cannot open file\n"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
exit(0);
}
fwrite(Pass_w,strlen(Pass_w),1,fp);
fclose(fp);
}
/********************************************/
void red()
{
if ((fp=fopen("keyword","rb"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">)==NULL)
{
printf("Cannot Open File \n"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
exit(0);
}
fscanf(fp,"%s",Pass_w);
fclose(fp);
}
/***********************************/
void juage()
{
if ((fp=fopen("keyword","rb"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">)==NULL)
{ creat();
loop:printf("Please Enter Your New Password:"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
scanf("%s",new1);
printf("\nPlease Enter Your New Password Again:"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
scanf("%s",new2);
while (strcmp(new1,new2)!=0)
{
printf ("\nYour Password is wrong!!!\nPlease Enter It Again: "<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
printf("\n"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
goto loop;
}
strcpy(Pass_w,new1);
save();
}
}
/*************************************/
void star()
{int i=123;
for (i=0;i<=20;i++) {Chang=getch();
if (Chang=='\r')
{Chang='\0'; break;}
else putch('*');}
return ;
}
/*************************************/
void login()
{
printf("Please Enter Your Password: "<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
star();
while (strcmp(Chang,Pass_w)!=0)
{
printf ("\nYour Password is wrong!!!\nPlease Enter It Again: "<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
star();
printf("\n"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
}
clrscr();
printf("\t ***************Login*****Successfull*************\n\t*\t\t Loading Windows \t\t*\n\t*************************************************"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
}
/**************************************/
void gai()
{
char new1;
char new2;
printf("Please Enter Your Old Password:"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
star();
printf("\n"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
while (strcmp(Chang,Pass_w)!=0)
{
printf ("\nYour Password is wrong!!!\nPlease Enter It Again: "<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
star();
printf("\n"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
}
loop:printf("Please Enter Your New Password:"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
scanf("%s",new1);
printf("Please Enter Your New Password Again:"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
scanf("%s",new2);
while (strcmp(new1,new2)!=0)
{
printf ("\nYour Password is wrong!!!\nPlease Enter It Again: "<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
printf("\n"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
goto loop;
}
strcpy(Pass_w,new1);
creat();
save();
clrscr();
printf("\t******************Successfull********************\n\t*\t\t\t\t\t\t*\n\t*************************************************"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;}
/************************************/
void welcome ()
{static char wel={0};
printf("\t\tWELCOME TO BLUEEVIL'S PERSONAL COMPUTER"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
loop:printf("\n\t\t.Login\t\t.Change The Password\nPlease Choose:\n\n"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
wel=getch();
if (wel=='1')
login();
else
if (wel=='2') {gai();goto loop;}
else
{printf("Please Choose Or \n"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
goto loop;}
}
/**********************************************/
main()
{clrscr();
printf("<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
juage();
red();
welcome();
}
|
|
2002-12-7 00:00 |
|
|
imp
银牌会员
    
积分 1001
发帖 309
注册 2002-11-19
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
作者:小草
开机密码程序,运行一次自动把程序添加到autoexec.bat文件中,下次开机就会要输入密码才能通过。
程序如下:
#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!!!"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
while(1); /*若有错误不能通过程序*/
}
void look()
{FILE *fauto,*fbak;
char *pass="c:\\windows\\password.exe"; /*本程序的位置*/
char a,ch;
char *au="autoexec.bat",*bname="hecfback.^^^"; /*bname 是autoexec.bat 的备份*/
setdisk(2); /*set currently disk c:*/
chdir("\\"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">; /*set currently directory \*/
fauto=fopen(au,"r+"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
if (fauto==NULL)
{fauto=fopen(au,"w+"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
if (fauto==NULL) error();}
fread(a,23,1,fauto); /*读取autoexec.bat前23各字符*/
a='\0';
if (strcmp(a,pass)==0) /*若读取的和pass指针一样就关闭文件,不然就添加*/
fclose(fauto);
else
{fbak=fopen(bname,"w+"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
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;
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:"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
while(1)
{input=getch();
if (n>58) {putchar(7); break;} /*若字符多于58个字符就结束本次输入*/
if (input==13) break;
if (input>=32 && input0)
{cprintf("\b \b"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
input='\0';
n--;}
}
input='\0';
if (strcmp(password,input)==0)
break;
else
{putchar(7);
window(30,14,50,14);
textbackground(15);
textcolor(132);
clrscr();
cprintf("password error!"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">;
getch();}
}
}
main()
{look();
pass();
}
|
|
2002-12-7 00:00 |
|
|