[C]백신 실시간 검사 기능 체크 프로그램 프로그래밍

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);
}


트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://gameboy.egloos.com/tb/1559538 [도움말]

덧글

  • 닥날 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이 포함되어 있습니다.
    방문 고맙습니다. ^^
덧글 입력 영역