6월 29일에 작성한 코드인데 블로그에 올릴까 말까 고민하다가 올려봅니다.
뭐 기술적인거 별로 없고 그냥 노가다 코드 입니다.
만드는데 한 30분 걸린 것 같네요.
불펌하진 말아주세요 ♥
----------------------------------------------------------------------
/*
최종 코드 작성일 : 2009/06/29
코드 작성자 : 전효빈
작성자 블로그 : http://gameboy.egloos.com
작성자 cyworld.com : http://cyworld.com/77772621
*/
#include <stdio.h>
#include <stdlib.h>
void draw_line(){ // 라인 그리기 함수
int draw;
for(draw=0;draw<80;draw++){
printf("=");
sleep(10);
}
}
int main()
{
FILE *virus; // 1번 코드
FILE *virus2; // 2번 코드
FILE *virus3; // 3번 코드
FILE *fp;
char choice; // 검사를 할 것인지 안 할 것인지 선택받는 변수 (y or n)
int mainloop; // 그리기위한 변수
char buffer[100]; // 100 길이만큼의 파일을 읽기위한 메모리 할당.
int del_count=0; // 바이러스 del count
int success_count=0; // 바이러스 성공 count
system("color 0f");
system("title 백신 실시간 검사 기능 체크 프로그램 copyright ⓒ 전효빈 All right reserved");
draw_line();
printf("*이 프로그램은 가짜 바이러스 코드를 컴퓨터에 저장함으로써 \n");
sleep(500);
printf("*귀하 컴퓨터의 백신 설치 유무와 바이러스 실시간 검사 기능이 \n");
sleep(500);
printf("*정상적으로 작동되고 있는지를 검사해 줍니다. \n");
sleep(500);
draw_line();
printf("백신 테스트를 진행 하시겠습니까? (y , n) : ");
choice=getchar();
switch(choice){
case 'Y':
case 'y':
virus = fopen("Virus_test1.dat", "wt");
virus2 = fopen("Virus_test2.dat", "wt");
virus3 = fopen("Virus_test3.dat", "wt");
system("cls");
printf("첫 번째 코드 작성 중... \n");
fprintf(virus, "%s\t","X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*");// 가짜 바이러스 생성
sleep(500);
printf("두 번째 코드 작성 중... \n");
fprintf(virus2, "%s\t","X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*");// 가짜 바이러스 생성
sleep(500);
printf("세 번째 코드 작성 중... \n");
fprintf(virus3, "%s\t","X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*");// 가짜 바이러스 생성
sleep(500);
printf("코드 작성 완료 \n");
sleep(2000);
fclose(virus); // 파일 닫기 (백신의 검사를 위해 일단 파일을 닫음)
fclose(virus2);
fclose(virus3);
system("cls");
printf("코드 탐색 중.. \n");
printf("백신의 경고 메시지를 확인하시면 프로그램을 종료하셔도 됩니다. \n");
system("pause");
if((fp=fopen("virus_test1.dat","r")) == NULL) // 파일열기 실패 (fopen이 NULL값 반환)
{
printf("첫번 째 코드의 삭제를 확인 하였습니다. \n");
del_count++;
system("pause");
}
else{
printf("X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* \n");
success_count++;
}
if((fp=fopen("virus_test2.dat","r")) == NULL) // 파일열기 실패 (fopen이 NULL값 반환)
{
printf("두번 째 코드의 삭제를 확인 하였습니다. \n");
del_count++;
system("pause");
}
else{
printf("X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* \n");
success_count++;
}
if((fp=fopen("virus_test3.dat","r")) == NULL)// 파일열기 실패 (fopen이 NULL값 반환)
{
printf("세번 째 코드의 삭제를 확인 하였습니다. \n");
del_count++;
system("pause");
}
else{
printf("X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* \n");
success_count++;
}
system("cls");
sleep(2000);
printf("진단 결과 \n");
for(mainloop=0;mainloop<80;mainloop++){
printf("=");
sleep(10);
}
if(success_count!=0){
printf("검사 결과 총 3회의 테스트에서 %d회 바이러스를 잡아내지 못하였으며 \n",3-del_count);
printf("%d회 바이러스를 잡아 내었습니다. \n",del_count);
printf("귀하의 PC에는 백신이 설치되어 있지 않거나, \n");
printf("실시간 검사가 정상적으로 진행되고 있지 않습니다. \n");
for(mainloop=0;mainloop<80;mainloop++){
printf("=");
sleep(10);
}
system("pause");
}
else if(del_count==3){
printf("귀하의 PC는 3회의 테스트를 모두 통과 하였습니다. \n");
printf("바이러스에 안전 합니다 \n");
system("pause");
}
break;
case 'N':
case 'n':
system("cls");
printf("프로그램을 종료합니다......\n");
sleep(2000);
// return 0;
}
fclose(virus); // 파일을 열은 후 닫아줌
fclose(virus2);
fclose(virus3);
}




덧글
닥날 2009/07/16 16:47 # 답글
괜찮은듯.. 바이러스 코드 부분은 뭔지 잘 모르겠지만작성하고 체킹하는 부분은 반복문 돌려도 될듯?
게임보이 2009/07/16 17:58 #
다 함수화 시키고 싶었지만 시간이 없었다네..점심시간은 한정되어 있거든 T_T
egloos 2009/07/16 21:09 # 답글
재밌네요..
게임보이 2009/07/20 23:25 #
도움이 되셨으면 좋겠어요 :)..
구이 2009/07/16 21:23 # 답글
비스타도 포함 되려나요........ㅇㅅㅇ?그나저나 참 복잡해 보이는군요...ㅋㅋㅋㅋ(싸이월드다~~~ㅎ-ㅎ;;)
게임보이 2009/07/20 23:26 #
프로그램 소스코드다 보니 복잡해 보이죠 :D
ㅇㅅㅇ 2009/09/01 23:45 # 삭제 답글
흐음... sleep이 선언이 안됫다고 나오네용;;
게임보이 2009/09/02 09:00 #
ㅇㅅㅇ 님 안녕하세요sleep 함수는 stdlib 헤더파일에 포함되어 있습니다.
컴파일러 마다 다른데 아마 ㅇㅅㅇ님의 컴파일러와 제가 사용한 컴파일러가 달라서
sleep 함수가 선언이 안되어있다고 나오는 것으로 예상되네요 !
ㅇㅅㅇ 2009/09/02 00:47 # 삭제 답글
#include <windows.h> 요거 너주셔야 오류안나는듯;;;
게임보이 2009/09/02 09:01 #
windows 헤더파일에도 sleep이 포함되어 있습니다.방문 고맙습니다. ^^