home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0020 - 0029 / ibm0020-0029 / ibm0028.tar / ibm0028 / VGATOOLS.ZIP / VIRCO.COM / VIRCO.C next >
Encoding:
C/C++ Source or Header  |  1991-02-04  |  2.8 KB  |  65 lines

  1.  
  2.   /*|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  3.     ||                                                                 ||
  4.     ||    V I R C O .  C  :  Überprüft die Länge von COMMAND.COM       ||
  5.     ||            [ PUBLIC DOMAIN / NO MODIFICATIONS ]                 ||
  6.     ||                                                                 ||
  7.     |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  8.     ||                                                                 ||
  9.     ||    _____ _   _                                                  ||
  10.     ||   |___  | | | |   Jörg Ventker            (C) Copyright         ||
  11.     ||   |   | |  |  |   Reckenfelder Str. 54    04-02-1991            ||
  12.     ||   |_____|_____|   D-4407 Emsdetten        Tel. 02572- 7367      ||
  13.     ||                                                                 ||
  14.     |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/
  15.  
  16. #include <stdio.h>
  17. #include <io.h>
  18. #include <fcntl.h>
  19.  
  20.  
  21. int main(int argc, char *argv[])
  22. {
  23.     int handle;
  24.     
  25.     // Wenn VIRCO ohne Parameter aufgerufen wurde, Hilfe ausgeben und beenden
  26.     if( argc == 1 )
  27.     {
  28.         printf("\nVIRCO Willy-Version 0.53 PublicDomain (C)1991 by: Jörg Ventker, Tel. 02572/7367\n\n"
  29.         "Das Programm überprüft die Länge der Datei COMMAND.COM auf der Festplatte C:\n"
  30.         "mit der Länge, die in der Kommandozeile übergeben wurde. Bei einer Unstimmig-\n"
  31.         "keit, wie sie durch einen Virus entstehen muß, wird SCAN.EXE aufgerufen.\n"
  32.         "Im Normalfall (ohne Virusbefall) und bei übergebener Dateilänge von COMMAND.COM\n"
  33.         "gibt dieses Programm KEINE Meldung aus.\n"
  34.         "Es wird empfohlen, dieses Programm in der AUTOEXEC.BAT aufzurufen. Das Programm\n"
  35.         "SCAN.EXE sollten in aktuellen Verzeichnis stehen, oder zumindest dessen Ver-\n"
  36.         "zeichnis über PATH deklariert sein.\n\n"
  37.         "Aufruf  : VIRCO [LÄNGE VON COMMAND.COM]\n"
  38.         "Beispiel: VIRCO 26076 (für MS-DOS 3.30)\n\a");
  39.         exit(-1);
  40.     }
  41.     
  42.     else
  43.     {                                  
  44.         // COMMAND.COM öffnen, evtl. Fehlermld. ausgeben
  45.         if( ( handle = open("C:\\COMMAND.COM", O_RDONLY )) == -1 )
  46.         {
  47.             fprintf(stderr, "VIRCO: Kann C:\\COMMAND.COM nicht finden.\n"
  48.             "COMMAND.COM muß im Hauptverzeichnis von Platte C: stehen !\n"
  49.             "<PROGRAMMABBRUCH>\n");
  50.             exit(-1);
  51.         }
  52.         
  53.         // Dateilänge = Parameter ??? Wenn gleich: Programmende
  54.         if( filelength(handle) != atoi(argv[1]) )
  55.         {   printf("VIRCO Willy-Version 0.53      (C)opyright 1991 by: Jörg Ventker, Tel. 02572-7367\n\n"
  56.                            "Something wonderful has happend... Mögliche Vireninfektion !!! Bitte warten...\n\n");
  57.                            system("SCAN C:");
  58.         }
  59.                 close(handle);  // Handle wieder schließen (Ordnung muß sein...)
  60.     }
  61.     return (0);     // Fehlerfrei abgelaufen
  62. }
  63.  
  64.  
  65.