home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 4: Phase Four / 17Bit_Phase_Four.iso / files / 3058.dms / 3058.adf / CLI / Virus_Checker.doc / Virus_Checker.doc
Encoding:
Text File  |  1994-03-12  |  59.2 KB  |  1,282 lines

  1. ************************************************************************
  2.  
  3.             Virus_Checker Documentation
  4.  
  5.                  by John Veldthuis
  6.               Member of SHI Anti Virus Group 
  7.  
  8. ************************************************************************
  9.  
  10.  
  11.                Distribution                        
  12.                About Safe Hex International        
  13.                Setting Up Virus_Checker            
  14.                Documentation for French Users      
  15.                Virus_Checker Version Notes         
  16.                Viruses Virus_Checker Deals With:   
  17.                Credits                             
  18.  
  19. ************************************************************************
  20.  
  21.  
  22.  
  23. DISTRIBUTION:
  24.  
  25. Virus_Checker is a freely distributable, copyrighted piece of
  26. software. You do not have to pay money to use it, and may upload it
  27. wherever you choose, but you are not allowed to sell Virus_Checker
  28. for profit, or include Virus_Checker on a disk which is sold for
  29. profit, without the author's (John Veldthuis) permission.  Commodore
  30. have this permission already.
  31.  
  32. Money is not solicited but would be welcome. I can be contacted at
  33. the address below.
  34.  
  35. Please send me any more new viruses so I can update Virus_Checker,
  36. but please don't send a letter asking for a copy without sending me
  37. money to cover postage and disks. I cannot afford to send everyone a disk
  38. out of my own pocket. If you send just a disk then don't be surprised if
  39. you never see it again.
  40.  
  41.     John Veldthuis
  42.     21 Ngatai Street
  43.     Manaia, Taranaki
  44.     New Zealand
  45.     Phone  +64-6-274-8409
  46.  
  47. Email addresses:
  48.  
  49.     FIDO 3:771/440.0
  50.     USENET johnv
  51.  
  52.  
  53. ABOUT SAFE HEX INTERNATIONAL
  54.  
  55. SAFE HEX INTERNATIONAL HAS MY PERMISSION TO DISTRIBUTE THIS PROGRAM IN THE
  56. ARCHIVE "THE NEW SUPERKILLERS" OR IN ANY FORM THEY WISH TO
  57.  
  58. If you know a virus programmer you can get a reward of $ 1000 for
  59. supplying his name and address.  The fact is that the law punishes data
  60. crime very severely.  (5 years in jail in most countries).
  61.  
  62. We are an international group with more than 500 members who have started
  63. trying to stop the spread of virus.  Let me give you some example:
  64.  
  65.  
  66.      1. Our motto is: "Safe Hex", who dares do anything else today?".
  67.      2. A virus bank containing more than 1800 Amiga and PC viruses for
  68.     supporting good shareware anti virus programs.
  69.      3. We help people to get money back lost by virus infection.
  70.      4. We write articles about virus problems for about 20 computer 
  71.     magazines worldwide.
  72.      5. We release the newest and the best virus killers around.
  73.      6. We have more than 35 PC and Amiga "Virus Centers" worldwide 
  74.     where you can get free virus help by phoning our "Hotline", and 
  75.     the newest killers translated in your own language at very 
  76.     little cost.
  77.  
  78. For more information contact:
  79.  
  80.      SAFE HEX INTERNATIONAL     (Please  send  2 "Coupon-Response 
  81.      Erik Loevendahl Soerensen     International" and a self addres-
  82.      Snaphanevej 10         sed  envelope, if you want infor-
  83.      DK-4720 Praestoe         mation about SHI by letter).
  84.      Denmark
  85.      Phone: + 45 55 99 25 12
  86.      Fax  : + 45 55 99 34 98
  87.  
  88.  
  89.  
  90. BOOTBLOCK.LIBRARY
  91.  
  92. As from version 6.29, Virus_Checker can use the SHI Bootblock.library by
  93.  
  94.              Johan Eliasson             Phone: +46 11 169138
  95.              Bäckgatan 6
  96.              60358 Norrköping
  97.              SWEDEN
  98.  
  99. What this does is add a brainfile of Bootblock viruses to Virus_Checker.
  100. You can update this file as SHI release new brainfiles. This way you can
  101. update Virus_Checker to recognize new BootBlock viruses without getting a
  102. new program.
  103. The file BootBlock.brainfile has to go in the L: directory and the
  104. Bootblock.library file in the LIBS: directory. The Install script will put
  105. it there automatically.
  106.  
  107.  
  108.  
  109. DECRUNCH.LIBRARY
  110.  
  111. As from version 6.23, Virus_Checker can use decrunch.library by
  112.  
  113.          Georg Hörmann
  114.      Am Lahnewiesgraben 19
  115.       8100 Garmisch-Partenkirchen
  116.            GERMANY
  117.  
  118. Many thanks for the use of this.  The decrunch.library file must be in
  119. libs:  so that Virus_Checker can use it.
  120.  
  121. WARNING!WARNING!WARNING
  122.  
  123. decrunch.library seems to have a problem in that it picks up some files as
  124. crunched files when they are not.  It then crashes the machine totally.
  125. This is not Virus_Checker crashing and I can do nothing about it except to
  126. say.
  127.  
  128. If Virus_Checker crashes when you are scanning file and you have crunched
  129. file checking turned on then turn it off and check again.  If it still
  130. crashes then the problem lies with Virus_Checker.  If not then the problem
  131. is decrunch.library and I cannot do anything about it.
  132.  
  133.  
  134.  
  135. INSTALLATION:
  136.  
  137. To run Virus_Checker once, either type it's name into a CLI window (while
  138. the program is in the current directory), or double-click on it's icon
  139. from the Workbench.  The program will be active until you quit it or reset
  140. your computer.
  141. Installing Virus_Checker so that it will be active all the while your
  142. computer is running is a good idea.  This is because viruses can be on any
  143. disk you insert into any disk drive.  With Virus_Checker always active,
  144. you will be protected.
  145.  
  146.            THE WORKBENCH STARTUP                           
  147.            WORKBENCH 1.3 USERS INSTALL                     
  148.            WORKBENCH 2.xx USERS INSTALL                    
  149.            VIRUS_CHECKER OPERATION                         
  150.                THE AREXX INTERFACE                             
  151.                THE USE OF THE DECRUNCH.LIBRARY                 
  152.                THE USE OF THE BOOTBLOCK.LIBRARY                
  153.                NOTICE FOR USERS OF FILE PACKERS AND CRUNCHERS: 
  154.                ENFORCER USERS:                                 
  155.  
  156.  
  157. WorkBench 1.3 install
  158.  
  159. Under 1.3, to install Virus_Checker so that it will be run whenever
  160. you reset your computer, edit your startup-sequence to include simply
  161. "Virus_Checker".  The program will have to be either in the root
  162. directory of the disk you are booting off of, or in the C: directory,
  163. for this to work.
  164.  
  165.    COMMAND LINE OPTIONS 
  166.  
  167.  
  168.  
  169. WorkBench 2.xx install
  170.  
  171. Under the 2.0 operating system, installation is much easier.  All you
  172. have to do is drag the icon for Virus_Checker into the WBStartup
  173. drawer on your Workbench disk (or your boot partition if you use a
  174. hard disk), and Virus_Checker will automatically be loaded when the
  175. Workbench is loaded.
  176. If you don't load or use WorkBench then edit the user-startup file in the
  177. s: directory and simply include "Virus_Checker" somewhere in it.
  178.  
  179.                    COMMAND LINE OPTIONS           
  180.                    THE WORKBENCH STARTUP          
  181.                    THE 2.0 USER INTERFACE         
  182.  
  183.  
  184.  
  185. NOTICE FOR USERS OF FILE PACKERS AND CRUNCHERS:
  186.  
  187. If you use a program such as PowerPacker to make your files smaller
  188. then be aware that you must check these files before you crunch them.
  189. If the file is infected and you crunch them then VC will not find the
  190. virus in the file unless you have the crunched checking option turned on
  191.  
  192.  
  193.  
  194. ENFORCER USERS
  195.  
  196. Just a quick note for people who use the program called enforcer.
  197. Virus_Checker will cause Enforcer hits when it does it's memory scan.
  198. There is no way around this as it is the only way to detect a couple of
  199. viruses.  For each low memory read Virus_Checker will cause 1 enforcer
  200. hits.  This will happen only when Virus_Checker starts up and when you
  201. cause it to do a full memory scan via the menu or 'm' key.  There should be
  202. 4 enforcer hits.  The reads are from location $20 and location $6c.
  203.  
  204.  
  205.  
  206. FRENCH USERS
  207.  
  208. Someone has gone to the trouble of translating the Virus_Checker docs into
  209. French.  If you wish to get them then please read the following
  210.  
  211. You can get the French doc from AUGL or order it for 20 French Francs at:
  212.         BUGSS c/o Christophe Guillon
  213.         12 allee des ecureuils 
  214.         La residence La Chataigneraie Appt 22
  215.         33600 PESSAC
  216.         FRANCE
  217.  
  218. Direct any questions to rullier                     or 2:324/8.1  2:324/8.3
  219.  
  220.  
  221.  
  222. COMMAND LINE OPTIONS:
  223.  
  224. The syntax is:
  225.  
  226. Virus_Checker [-l###] [-t###] [-w###] [-b] [-q] [-i] [-n] [-m] 
  227.        -c# [dirname]
  228.  
  229. Where:
  230.  
  231.     -l### tells Virus_Checker how far from the left edge of the
  232.           screen to open the Virus_Checker window.
  233.  
  234.     -t### tells Virus_Checker how far down from the top edge of 
  235.           the screen to open the Virus_Checker window.
  236.  
  237.     -w### tells Virus_Checker how wide you want the window. It has 
  238.           a maximum size of 386 pixels and a minimum of 200.  Any 
  239.           numbers out of this range are ignored.
  240.  
  241.           This is ignored by Workbench 2.0 as there is really no need
  242.           for it due to being able to 'pop' the window up when you
  243.           want it and hide it when you don't want it.
  244.  
  245.     -b    tells Virus_Checker to send its window to the back of all
  246.           the other open windows.
  247.  
  248.     -n tells Virus_Checker not to open a window. It will check memory 
  249.           and disks inserted but you will have to use the ARexx port 
  250.           or the commodities 'Exchange' program (or the hotkey) to 
  251.           get it to scan the whole disk for Link/File viruses or to
  252.           view the user interface.  To stop VC, run VC again,  use 
  253.           the ARexx port, or send it a Kill command from the
  254.           commodities 'Exchange' program.
  255.  
  256.     -q tells Virus_Checker to check all memory, files, and disks for 
  257.           viruses, then exit.  To check the dh0: partition and exit,
  258.           do the following:  "Virus_Checker -q dh0:".  This will check 
  259.           memory, disks, files, and dh0:, then exit.
  260.  
  261.     -i tells Virus_Checker not to put up a requester when it can't read
  262.           the bootblock of a disk.
  263.  
  264.     -m tells Virus_Checker to watch the file s:startup-sequence for any
  265.           changes. Some viruses will change this file and VC will
  266.           catch it. (Only works under WB2.0 and above)
  267.  
  268.     -c# where # is 0 or 1
  269.         If -c0 is used then checking inside crunched files is turned off
  270.         if -c1 is used the the checking is turned on.
  271.  
  272.     dirname is the directory/file you want checked for File Viruses on 
  273.             startup.  An example to open the window at x/y position of 
  274.             200/100 and check DH0: is: "Virus_Checker -l200 -t100 dh0:".
  275.  
  276. Virus_Checker l 10 top 20 b i dh0:test
  277. This will set the VC window at x/y position of 10,20, make it into a
  278. backdrop window, ignore errors from the BootBlock reads and check the file
  279. dh0:test when it starts up.
  280.  
  281. For the window coordinates, any values outside the size of the WB
  282. screen are ignored and any non numerical values are ignored. There
  283. must be no spaces between the options and the numbers. Options may be
  284. given in any order.
  285.  
  286. If Virus_Checker is already running, and you invoke it again from the
  287. command line, it will pop open the already running version.
  288.  
  289.  
  290.  
  291. For WB2.0 users the command line is
  292.  
  293. L=LEFT T=TOP B=BACKDROPWINDOW N=NOWINDOW Q=QUIT I=IGNOREBB W=WATCHSS
  294.   CHECKCRUNCHEDON CHECKCRUNCHEDOFF K=KILL S=STDOUT IGNORECAPTURE 
  295.   BBLIB LOWOFF DIR
  296.  
  297. L=LEFT is tells Virus_Checker how far from the left edge of the screen to
  298.       open the Virus_Checker window.
  299.  
  300. T=TOP tells Virus_Checker how far down from the top edge of the screen to
  301.      open the Virus_Checker window.
  302.  
  303. B=BACKDROPWINDOW sets the Virus_Checker window as a Backdrop window
  304.  
  305. N=NOWINDOW Virus_Checker not to open a window.  It will check memory and
  306.      disks inserted but you will have to use the ARexx port or the
  307.      commodities 'Exchange' program (or the hotkey) to get it to scan the
  308.      whole disk for Link/File viruses or to view the user interface.  To
  309.      stop VC, run VC again, use the ARexx port, or send it a Kill command
  310.      from the commodities 'Exchange' program.
  311.  
  312. I=IGNOREBB tells Virus_Checker not to put up a requester when it can't read
  313.      the bootblock of a disk.
  314.  
  315. W=WATCHSS tells Virus_Checker to watch the file s:startup-sequence for any
  316.      changes.  Some viruses will change this file and VC will catch it.
  317.  
  318. CHECKCRUNCHEDON turns on checking inside crunched files
  319.  
  320. CHECKCRUNCHEDOFF turns off checking inside crunched files
  321.  
  322. K=KILL will delete files with LINK viruses in them and not try to remove it
  323.  
  324. Q=QUIT tells Virus_Checker to check all memory, files, and disks for
  325.      viruses, then exit.  To check the dh0:  partition and exit, do the
  326.      following:  "Virus_Checker QUIT dh0:".  This will check memory, disks,
  327.      files, and dh0:, then exit.
  328.  
  329. S=STDOUT  This is a special mode for Virus_Checker. It implies that
  330. Virus_Checker will quit as soon as it finishes it's checks, Will not put up
  331. any requesters, opens no window, and if it finds any virii it will not
  332. delete them but will write the name of the file and virus to the shell from
  333. which it started. This can be used by BBS operators to check archives
  334. automatically. a line like
  335. Virus_Checker >ram:infected STDOUT DH0:
  336. would check all files in DH0: and if it found any would write the results
  337. to a file called ram:infected.
  338.  
  339. IGNORECAPTURE tells Virus_Checker to ignore the initial check on the
  340. capture vectors. It will still warn you of changes while it is running.
  341.  
  342. BBLIB This tells Virus_Checker to use the SHI BootBlock.library. This
  343. should be used as any viruses detected by this library will not be added to
  344. the normal Virus_Checker checking. You need BootBlock.library in the LIBS:
  345. directory and BootBlock.brainfile in L:
  346.  
  347. LOWOFF tells Virus_Checker to ignore the low memory vectors so that it will
  348. not cause any Enforcer hits.  BEWARE this disables a couple of memory
  349. checks for viruses so use it at your own risk
  350.  
  351. DIR is the name of a dir/file to check for viruses on startup
  352.  
  353.  
  354.  
  355. THE WORKBENCH STARTUP:
  356.  
  357. SPECIAL NOTE:
  358.  
  359. If Virus_Checker is not run from Workbench it will look for the file
  360. S:VIRUS_CHECKER.INFO  This is just a standard workbench info file and can
  361. be used as described in the next section. This is to allow 1.3 users who
  362. run VC from their startup-sequence to config VC easily. It will work for
  363. 2.0 users as well. I have done it this way because it is too hard to find
  364. where a program ran from under 1.3. This way I only have to look for 1 file
  365. in one directory.
  366. To use it add the stuff you want under Workbench and save it. Then copy the
  367. Virus_Checker.info file to the S: directory.
  368.  
  369. Support for the icon stuff has now been put in. These will override the
  370. default settings and also the settings in the S:Virus_Checker.config file.
  371. It will only affect those things that are given in the ICON. The rest will
  372. be left as default or as the config file sets them.
  373.  
  374. The things that you can put in via the Information menu on Workbench are as
  375. follows. These will be used if VC is started by Workbench
  376. HOTKEY is only used by WB2.0
  377.  
  378.  
  379. HOTKEY=string           /* HOTKEY=lcommand shift del                  */
  380. LEFT=num                /* LEFT=150                                   */
  381. TOP=num                 /* TOP=25                                     */
  382. WINDOW=ON/OFF           /* WINDOW=ON or WINDOW=OFF                    */
  383. RESIDENT=ON/OFF         /* RESIDENT=ON or RESIDENT=OFF                */
  384. IGNOREBBERROR=ON/OFF    /* Ignore BootBlock Read Error                */
  385.                         /* use IGNOREBBERROR=OFF to turn requester off*/
  386. WATCHSS=ON/OFF          /* WATCHSS=ON or WATCHSS=OFF                  */
  387. CHECKCRUNCH=ON/OFF      /* Turn on/off Crunched file checking         */
  388. DF0=ON/OFF              /* DF0=ON or DF0=OFF                          */
  389.  |
  390.  V                ;If Off VC will not check BootBlock or startup-sequence
  391. DF3=ON/OFF
  392. FULLCHECKDF0=ON/OFF     /* FULLCHECKDF0=ON or FULLCHECKDF0=OFF        */
  393.      |
  394.      V                ;If ON VC will scan all files on the inserted disk.
  395. FULLCHECKDF3=ON/OFF
  396. BBLIB=ON        /* Tells VC to use BootBlock.library          */
  397.  
  398.  
  399. IN ALL CASES DO NOT USE THE QUOTE MARKS " or ' in any place. VC can see the
  400. spaces between strings without them.
  401.  
  402.  
  403.  
  404. THE AREXX INTERFACE:
  405.  
  406. VC has an ARexx port, which means you can send VC commands using the
  407. REXX language, available from your Amiga dealer, or as part of the 2.0
  408. Operating System.  The port name is "Virus_Checker". Be aware that
  409. case is important and ARexx will not find it if the name is not spelled
  410. right.  Here is an example ARexx program that talks to VC:
  411.  
  412.         /* ARexx programs must start with a comment */
  413.  
  414.         address 'Virus_Checker'    /* Talk to Virus_Checker                  */ 
  415.         'checkdrivedf0:'          /* Make virus_Checker check df0:         */
  416.                                    /* for viruses                          */ 
  417.         'scanforsaddamdf0:'       /* Make VC check df0: for Saddam         */
  418.                                    /* virus damage                        */
  419.         'quit'                           /* Make Virus_Checker shut down.        */
  420.         'drivedf1: off'           /* Turn off df1: from being scanned  */
  421.  
  422. Notice the '' between the command and the drive name in the middle
  423. examples. This must be put between all commands and their options.  'quit'
  424. does not take an option so does not need the '' character there.
  425. Virus_Checker will take the following commands:
  426.  
  427.         checkdrivedrivename      Check drive 'drivename' for file viruses.
  428.         scanforsaddamdrivename   Check drive (DF0:-DF3) for Saddam damage.
  429.         quit                      Make Virus_Checker shut down.
  430.         saveconfig                Save the s:Virus_Checker.file file
  431.         windowoption             Open or Close window (Option = on or off)
  432.         drivedf?: option         Turn on/off Drive scan (Option = on or off)
  433.         residentoption                  Turn on/off Resident flag ""      ""  ""
  434.         checkfiledevice:dir/filename
  435.         checkbootblockdf?:       Check the Bootblock in df? for viruses
  436.  
  437. Special note for 'checkfile' command.
  438. This one turns off any requesters while doing it's work. If the command
  439. OPTIONS RESULTS is used it will return RESULT if no virus found or if a
  440. virus is found then the string VIRUSNAME Virus was/is present in the file.
  441. This does not mean the virus is gone as there may have been errors trying
  442. to remove the virus.
  443. This is really for BBS users who want to check files as they come in.
  444. You could write an arexx script to search files and log any that come up
  445. with viruses. Later after findong which ones where infected you would run
  446. VC over them again via the main menu thus making sure they where clear.
  447.  
  448. CheckBootBlock command
  449. This one also needs the options results and returns messages.
  450. If the disk is clear or you give it a number outside the range of df0: to
  451. df3: it will return 'Okay', if VC had trouble reading the disk the message
  452. returned is 'ERROR reading BOOTBLOCK', if the bootblock is Not the normal
  453. one then 'NON-STANDARD BOOT CODE' is returned.  If the Bootblock is
  454. infected then the virus name will be returned.  At present there is no way
  455. to clear the virus from Arexx but I am working on it.  Requesters are
  456. disabled while this is done.
  457.  
  458.  
  459.  
  460. VIRUS_CHECKER OPERATION:
  461.  
  462.  Upon running Virus_Checker, it will first check your memory for
  463. viruses and tell you if any were detected.  They will either be
  464. removed or disabled.  Next all disks in the floppy drives will be
  465. checked.  Any disk put in any drive (df0: to df3:) will be checked.
  466.  
  467. If Virus_Checker finds and disables the LAMER virus in memory, the
  468. machine may guru.  Once the machine is reset, however, the virus
  469. should be gone.
  470.  
  471.  
  472.  
  473. THE 2.0 USER INTERFACE:
  474.  
  475. Many Thanks goes to Steve Tibbett for designing and most of the C code for
  476. this section. All I did was translate it into assembly and intergrate it
  477. into Virus_Checker.
  478.  
  479. This section describes the user interface that Virus_Checker uses
  480. when Kickstart 2.0 is detected in your computer.  This section does
  481. not apply for users with Kickstart 1.3.
  482. Kickstart 1.3 users can see the special note for using the Config file
  483. below.
  484.  
  485. Virus_Checker can be used either with a window open, or with no window
  486. open.  When used with the window closed, Virus_Checker will only show
  487. itself when it has something to tell you about.  If you insert a disk
  488. containing a virus, Virus_Checker will pop up a requester telling you
  489. about it, and give you some options to deal with it.
  490.  
  491. The normal Virus_Checker user interface can present itself in two
  492. forms.  One is the 'TitleBar Window', where only the close gadget,
  493. the depth gadget, the Zoom gadget, and the program name are visible. 
  494.  
  495. If you click the Zoom gadget, Virus_Checker's window will change into
  496. a window occupying nearly half a normal 640x200 Workbench screen.
  497. This window is broken up into three sections:  The Preferences
  498. section, the Files section, and the Drives seection.
  499.  
  500. In the Preferences section, you can tell Virus_Checker whether it
  501. should open a window or not, whether the window should be a Backdrop
  502. window, and whether Virus_Checker should quit immediately when run,
  503. or whether it should stay resident.  You can also set the window
  504. position, and the hotkey that will call Virus_Checker when you want
  505. to open it's window or pop it to the front.  (The hotkey format is
  506. described in the AmigaDOS 2.0 manual, in the section on the
  507. commodities exchange). As from 6.05 you can also tell Virus_Checker to
  508. ignore errors when reading the BootBlock. It will be saved in the config
  509. file.
  510.  
  511. THE DEFAULT HOTKEY is Left-Amiga Shift del
  512.  
  513. The Files section is where you list the drives or directories that 
  514. Virus_Checker will check when you click the Check button.  If you 
  515. 'Add' DF0: and DF1: to the list, then choose Check, then
  516. Virus_Checker will check all the files on both DF0: and DF1: for file
  517. viruses.
  518.  
  519. The Drives section lets you specify which of your floppy disk drives
  520. will automatically be checked for bootblock and file viruses when you
  521. insert a disk. If you have a program like CrossDOS and you don't want
  522. Virus_Checker looking at the msdos disks then simply disable it and
  523. Virus_Checker will never look at that drive again. Unless you enable it
  524. again.
  525.  
  526. The Second row of Drive gadgets turn on and off the automatic scanning of
  527. the entire disk. These are disabled by default. If you turn them on, then
  528. Virus_Checker will scan the entire disk every time you insert one.
  529. Checking for file viruses takes some time, so you may not want this on for
  530. a drive that you are constantly moving disks in and out of.
  531. The state of these gadgets is also saved in the Config file.
  532.  
  533. Any of the Gadgets that have text with an UnderScore beneath then can be
  534. accessed by simply pressing the that key on the keyboard.
  535. For example. If you wished to change the Hotkey you will notice that the H
  536. in HotKey is Underlined. This means simply by pressing the 'h' key that
  537. gadget will become active.
  538.  
  539. The options that you set in the user interface can be saved to disk
  540. using the Save button.  The options are saved to the file
  541. "S:Virus_Checker.Config", and are read from there whenever the
  542. program is loaded.
  543.  
  544. KEYSTROKES:
  545.  
  546. The Following keys will activate the following functions, when typed
  547. into the Virus_Checker window:
  548.  
  549. s -    Will activate the Scan mode
  550. m -    Will immediately do a complete memory scan (same as startup)
  551. f -    Will activate the Saddam Disk Scan (used to fix Saddam virus damage)
  552. 0 - 3  Will check the First File in startup-sequence and bootblock on disk
  553.        in drive which matches number
  554.  
  555. There are also some options on the menu (hold the right mouse button
  556. to get to the menus) which have keyboard-equivalent shortcuts.  These
  557. are next to the inverse A on the menu.
  558.  
  559. LINK/FILE VIRUS CHECK:
  560.  
  561. If you want to check a disk for Link/File viruses then put the disk in
  562. any drive. Make sure the Virus_Checker window is active and use the right
  563. mouse button to bring up the Project Menu. Select the "Link/File Scan"
  564. and release the mouse button.  An alternative way is to just press
  565. the 's' key on the keyboard.
  566.  
  567. This will bring up a requester asking you which drive to check. Enter
  568. the drive name in the box, eg.  DF0:, DH1:,RAD:  etc. Under WB2.0 you
  569. can also use the "Use Requester" option.  It will then check all the
  570. files on that drive.  You can also enter directories if you want to
  571. eg, c:  df0:c, df0:libs etc.
  572.  
  573. When Virus_Checker is scanning the disk and you know that a directory
  574. is clear and don't want to check it press control-d in the window
  575. with the filenames and Virus_Checker will ignore that directory and
  576. go back up one level.
  577.  
  578. If you want to stop the check completely press control-c in the
  579. window with the filenames and Virus_Checker will print a break
  580. message then stop scanning the disk and go back to normal scanning.
  581.  
  582. If Virus_Checker brings a requester up that says a program just run
  583. has infected your memory with the Xeno Virus, it has already disabled
  584. it.  You should immediately check all files on the disks that are in
  585. the drives at that time.  This means that a program that you just ran
  586. or a program some other program just ran is infected with the virus
  587. and all files should be checked to find out which one it was.
  588.  
  589. With viruses which use a RomTag I have decided to clear out all
  590. RomTags to make sure I remove the Viruses from the list.  In doing
  591. this you will lose things like Recoverable ram disks such as RAD:,
  592. VD0: etc. If you have a virus make sure that you save anything in the
  593. ram disks that you want before rebooting.  The ramdisks and others
  594. will disappear on a reboot.  My policy is better safe than sorry.
  595.  
  596. BRAINFILE ADDITION:
  597.  
  598. When VC finds a Non-Standard bootblock it will bring up 4 gadgets.
  599. One of these gadgets is Learn.  Pressing this will allow VC to
  600. remember this BootBlock and not bother you again with it.  To do this
  601. VC writes a file called VCBrainFile to the S: directory.  If you have
  602. a single drive this will invoke a requester asking that Volume
  603. something be put in the drive.  This will then save to the file.  On
  604. Startup VC will check for the file in the S: directory and read it if
  605. it is there.  If not it will carry on without it.  If you get an error
  606. then VC will tell you about it and will happily write over the file
  607. next time.
  608.  
  609.  
  610.  
  611. NON-STANDARD BOOT CODE:
  612.  
  613. When Virus_Checker brings up a Requester that says the disk has
  614. non-standard boot code, this means that the code in the boot block is
  615. not what should be there.  This does not mean that it is a virus as
  616. many games use copy protection in their boot blocks, and there are many
  617. bootblocks that do interesting things, that are not viruses.  You
  618. should however be cautious if it is not a game.  Do not replace the
  619. boot block if you are not sure.  If something strange happens then
  620. please send a copy of the disk to me so that I can check it out.  To
  621. determine if an unknown bootblock is likely a virus:
  622.  
  623. 1.      Format a blank disk so you know it is clear.
  624. 2.      Make sure all disks except the one just formatted are write protected.
  625. 3.      Boot from the disk that you suspect.
  626. 4.      Place formatted disk in drive zero and then reboot.
  627. 5.      Take disk out of drive zero and turn off computer for about 30 secs.
  628. 6.      Run the Virus_Checker program. If the Virus_Checker finds
  629.         non-standard boot code on the newly formatted disk, you have found a
  630.         new virus.  Please send it to me.
  631.  
  632.  
  633.  
  634. CREDITS:
  635.  
  636. My thanks go out to...
  637.  
  638.  Steve Tibbett. For designing and most of the C code for the 2.0 User
  639.                 Interface on Virus_Checker.
  640.  
  641.  Georg Hörmann. For the inclusion of the DECRUNCH.LIBRARY.
  642.  
  643.  Tim Nugent.    For the conversion of this doc file to AmigaGuide format.
  644.  
  645.  ARexx.         Developed on an Amiga 1000 and is a 100% Amiga product.
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.                                                     John Veldthuis.
  653.  
  654.  
  655. VIRUSES VIRUS_CHECKER DEALS WITH:
  656.  
  657. Virus_Checker deals with many bootblock viruses, some of which are not
  658. listed here.  The ones that are listed here describe all the types of
  659. bootblock viruses, so listing all the rest of them would be redundant.
  660.  
  661. SCA:
  662.         The SCA is the simplest virus to deal with, as it's not actually
  663.         DOING anything except hiding in memory, until you reboot.  We just
  664.         look at CoolCapture and fix it to get it out of RAM.
  665.  
  666. AEK:
  667.         This is a clone of the SCA virus and we get rid of it in the same
  668.         manner.
  669.  
  670. LSD:
  671.         Another SCA clone and uses the same code.
  672.  
  673. BYTE BANDIT:
  674.         The Byte Bandit virus takes the DoIO() vector and re-directs it
  675.         through itself.  Thus, any attempt to read or write the boot block
  676.         (ie, AmigaDOS trying to figure out what kind of disk it is) results
  677.         in the BB writing itself onto that disk.  We couldn't just rewrite
  678.         the boot block, we have to get him out of RAM first.  This virus also
  679.         has an interrupt that crashes the machine every 5 minutes or so after
  680.         it's infected a few of your disks. Ow. It stays in memory not via the
  681.         Capture vectors, but by a Resident module. When machine looks crashed
  682.         press these keys at the same time from left to right LAlt, LAmiga, 
  683.         Space, RAmiga, RAlt.  This will restore things for another 5 minutes.
  684.  
  685. REVENGE:
  686.         Basically, a Byte Bandit clone except it will bring up an obscene
  687.         pointer a few minutes after you reboot.  We treat it much like the
  688.         byte bandit.
  689.  
  690. BYTE WARRIOR
  691.         Jumps right into 1.2 Kickstart.  Won't work under 1.3.  Hangs around 
  692.         via Resident struct, doesn't do any damage.
  693.  
  694. NORTH STAR/STARFIRE:
  695.         Like SCA, hangs around via CoolCapture, killing CoolCapture kills the
  696.         North Star.
  697.  
  698. OBELISK SOFTWORKS CREW:
  699.         Hangs around via CoolCapture, also watches reads of DoIO() (but 
  700.         doesn't infect EVERY disk - only ones you boot from).
  701.  
  702. IRQ:
  703.         This is the FIRST Non-Bootblock Virus.  It copies itself from place
  704.         to place via the first executable program found in your
  705.         startup-sequence.  It SetFunction's OldOpenLibrary(), has a
  706.         KickTagPtr, and lives in the first hunk of an infected program.
  707.  
  708. PENTAGON CIRCLE:
  709.         This one looks at the DoIO vector, and has a CoolCapture vector. It
  710.         will write itself over any virus inserted, but not onto anything
  711.         else. No danger, easy to eliminate.  Holding left button while
  712.         booting with this one shows different screen colour, but doesn't get
  713.         rid of it.
  714.  
  715. HCS:
  716.         Hooks into the System Z protector.  This is another virus
  717.         protector that can write itself to disks. Anything that spreads
  718.         itself, under any name, is a virus.  Doesn't do anything except
  719.         during a reboot, then examines disks and writes over viruses.
  720.  
  721. DISK-DOKTORS:
  722.         This is another virus which looks at the DoIO routine for the reading
  723.         of any bootblocks.  If it finds one it will rewrite a copy of its
  724.         code to it if it can.  This one also patches into the Vertical Blank
  725.         interrupt and seems to format your disk after a certain number of
  726.         interrupts (can't be sure though).The nasty bit is it also creates a
  727.         task called clipboard.device which spends its life copying itself
  728.         through memory fragmenting the memory into small blocks.  Calls ROM
  729.         CODE direct so won't work under V1.3.  We restore the DoIO routine,
  730.         the Vert Blank interrupt and RemTask the clipboard.device.
  731.  
  732. LAMER EXTERMINATOR:
  733.         This virus was sent to me by Andrew Mercer of the Palmerston North
  734.         group. His letter said that He noticed strange things on his disks. 
  735.         On disassembling the virus I found that most of it was encrypted and
  736.         the data was encrypted randomly using the beam position of the
  737.         screen.  Thus it appears different each time.  It patches the
  738.         trackdisk.device to look at reads and writes, It patches the Sumkick
  739.         vector in exec in case someone tries to get rid of it. When it
  740.         detects a read or a write it will randomly select a sector on the
  741.         disk and will check if it is a data block.  If it is it will write
  742.         LAMER! all over the sector and rewrite it.  Some say this Virus will
  743.         write to write protected disks.  I have not had this happen to me and
  744.         I can see no special code in the disassembly to accomplish this feat.
  745.  
  746. TIMEBOMB:
  747.         This is a strange Virus. It does not insert itself into any vectors.
  748.         However it will copy itself back to the disk it came from.  When the
  749.         count gets to 2 it will wipe out the Root Directory of the boot disk
  750.         and display an alert.  If the count is over 2 it will just display an
  751.         alert.
  752.  
  753. GADAFFI:
  754.         Inserts itself into the CoolCapture vector, Uses a RomTag structure
  755.         and patches the DoIO vector. Jumps directly into the Kickstart so
  756.         will only work under V1.2 Kickstart. After 13 copies it will step the
  757.         heads of drives 0 and 1 in and out.  We simply clear all vectors and
  758.         Use the old V1.2 DoIO code entry point.
  759.  
  760. BSG9:
  761.         This is similar to the IRQ virus in that it does not live in the Boot
  762.         Block.  It operates differently.  Inserts itself into the RomTag
  763.         pointer. It then loads the program it replaced and executes it.  On
  764.         Reboot the RomTag is called.  It patches the Intuition OpenWindow
  765.         Routine to its code.  It then returns.  Once AmigaDos opens up the
  766.         CLI window the virus code gets run.  This gets the startup-sequence
  767.         file and gets the first command that is run.  It then checks if it is
  768.         already here. If not, then it moves this program from its directory
  769.         into the devs:  directory and renames it a strange name.It then
  770.         copies itself to replace the command it just moved.  A give away is
  771.         the file size.  The Virus size is 2608 bytes and there will be a file
  772.         with what looks like spaces for its name in the devs:  directory. To
  773.         get rid of it we copy the file in devs:  back to the c: directory and
  774.         rename it.  Then delete the file in the devs:  directory.  In memory
  775.         all we do is change the RT_INIT code which is run on reboot to do an
  776.         immediate RTS. The memory for the program is still used but the Virus
  777.         is disabled.  It will display a screen of its own which says:
  778.  
  779.                 A Computer Virus is a disease
  780.                 Terrorism is a Transgression
  781.                 Software Piracy is a crime
  782.                 This is the Cure
  783.                 BSG9 [plus some other junk]
  784.  
  785. WAR HAWK:
  786.         This Virus installs itself into the CoolCapture Vector.  It
  787.         copies itself to the disk when the computer is warm booted.  After
  788.         every four copies it displays a message.  To get rid of it we simply
  789.         clear the CoolCapture vector.
  790.  
  791. VKILL (or AIDS):
  792.         This is another virus hidden as a Virus protector.  When booted it
  793.         copies itself to the stack area that is not used.  It then patches
  794.         the CoolCapture vector to survive a reboot.  It patches the PutMsg
  795.         vector of ExecBase to watch for BootBlock reads and writes.When it
  796.         finds one it checks it and tells you if a virus is present.If you
  797.         want to get rid of it it will copy itself to the disk.  To
  798.         remove it we Clear the CoolCapture Vector and SetFunction the
  799.         PutMsg vector
  800.  
  801. ULTRAFOX:
  802.         This one lives in the CoolCapture vector. When you reboot it will
  803.         change the DoIO vector and wait for a BootBlock read.When it finds
  804.         one and the disk is not already infected it will write itself to the
  805.         bootblock.  After every 16 copies it will put a custom copper list
  806.         which displays greetings.
  807.  
  808. PVLPROTECTOR:
  809.         This one is another bootblock protector.  When it finds a virus it
  810.         will write itself to the disk instead of a proper bootblock.  All we
  811.         do is set the RomTag to do a RTS.
  812.  
  813. REVENGE LAMER EXTERMINATOR:
  814.         This is another file virus.  It is supposed to speed up disk
  815.         operations by 800%.  This was found on a BBS and when run patches
  816.         itself into several places. It will read the s:startup-sequence file
  817.         on reboot and will edit it so that it runs itself as the program.  It
  818.         sticks out because the first line in the startup-sequence will be
  819.         blank.  When the Checker finds it look in the Root directory and you
  820.         will find what looks like a blank filename.  Virus Checker will rename
  821.         this virus for you.  You can then delete the virus and alter your
  822.         startup-sequence to get rid of the first blank line
  823.  
  824. UNKNOWN:
  825.         This is a virus that has no names anywhere and will only work
  826.         under V1.2 Kickstart.  Very easy to get rid of.
  827.  
  828. JITR:
  829.         Very mild sort of virus this one.  Only writes itself to the
  830.         BootBlock. Does nothing else.  Easily fixed by clearing the
  831.         CoolCapture vector.
  832.  
  833. MICROSYSTEMS:
  834.         Haven't got this one yet so can't tell you much about it.
  835.         Just have to restore a vector in the exec.library and clear the Exec
  836.         CoolCapture vector.
  837.  
  838. XENO:
  839.         This virus is a very nasty one in the way that it infects all
  840.         programs that can be run.  It does not need the program to be run but
  841.         even someone doing a LIST or DIR on a disk when the virus is present
  842.         will infect all those other files on disk. It patches into the
  843.         dos.library and takes over the Open(), Lock() and LoadSeg()
  844.         calls in dos. This way it can intercept the files being looked at. It
  845.         will copy itself to the start of every runnable program and alter the
  846.         file so that it still works. There is also an encrypted message which
  847.         says 'Greetings from the Xeno Virus' but I have not worked out when
  848.         this appears yet. To get rid of it from memory we have to reset the
  849.         changed vectors. To get rid of it from the file is very much harder.
  850.         First the file has to have the virus removed from the code. Then the
  851.         relocation data pointers have to be changed so that everything still
  852.         works. When Virus_Checker finds a file infected with the Xeno Virus
  853.         it will tell you which file it is and bring up a requester. You can
  854.         now check the files on drive zero for further viruses if you want.
  855.  
  856. 16 BIT CREW:
  857.         This virus does not do much and only infects disks that you
  858.         boot with. To get rid of it from memory we clear the CoolCapture
  859.         Vector and restore the DoIO vector.
  860.  
  861. NEW ALIEN BEAT:
  862.         This one will only work under Version 1.2 Kickstart as it jumps into
  863.         the ROM code directly.  To fix in memory we have to manually patch the
  864.         DoIO vector and FindResident Vector with the correct values for 1.2.
  865.         and clear the Capture vectors.
  866.  
  867. BLACKFLASH:
  868.         This virus will display a message after a certain amount of
  869.         copies of it have been made. It says that your computer is sick and
  870.         has a virus. To remove it we just restore the DoIO vector and clear
  871.         out the capture vectors.
  872.  
  873. DIGITAL EMOTIONS:
  874.         This is another tame virus.  Only infects disks when it is
  875.         rebooted. Clean out the Captures vectors and it is gone.
  876.  
  877. SCARFACE:
  878.         This takes over the BeginIO routine in the trackdisk.device
  879.         to watch for reads and writes to the disk.  When it finds one it will
  880.         write itself to the disk.  It also has a VertBlank interrupt which
  881.         will do something after a while.  I think it only reboots the machine.
  882.         It also has a romtag which we have to clear out.
  883.  
  884. TURK:
  885.         Another simple virus.  Does not do very much.  Simple to get rid of.
  886.  
  887. JOSHUA:
  888.         Again, lives in the TrackDisk BeginIO and VertBlank Interrupt. Also
  889.         has a RomTag to survive reboots. This one will display a sprite after
  890.         so many interrupts.  I am not sure what it looks like but maybe
  891.         someone wants to wait until it is triggered. It counts interrupts. It
  892.         will also infect every disk but in the drive that is not write
  893.         protected. Data in it that says something is encoded.  To remove we
  894.         simply restore the BeginIO code and VertBlank Interrupt and wipe out
  895.         the RomTag.
  896.  
  897. BUTONIC:
  898.         This is another file type virus.  It uses the DoIO vector to
  899.         check for reads to the Root Block of a disk.  It will then write the
  900.         virus to the disk and add it to the startup-sequence as the first
  901.         instruction.  The filename of the virus and its comment make it
  902.         invisible when doing a DIR but shows up with a LIST.  This
  903.         will also bring up GURU messages and change the title of the active
  904.         window to some german stuff. To get rid of it we clear the ROMTAG,
  905.         restore the DoIO vector and delete the file off the disk. You will
  906.         need to remove the blank line from the startup-sequence where the
  907.         virus was. The second version of this infects the Level 2 Interrupt
  908.         as well and uses different file names to hide itself in the
  909.         Startup-Sequence.
  910.  
  911. CENTURIONS;
  912.         Another file type virus. It hooks into the Trackdisk BeginIO() vector
  913.         and waits for reads to the boot block of a disk.  It changes the
  914.         SumKickData() vector so that it will survive a checksum.  To
  915.         get rid of it in memory we simply kill the RomTag vector, restore the
  916.         SumKickData vector and patch the trackdisk code it uses to skip over
  917.         the virus.  When it finds a read to the bootblock it will check the
  918.         write protect.  It will then find the startup-sequence and find the
  919.         name of the first command.  It then looks for the command in the root
  920.         directory, then the c directory.  Once found it adds itself to the
  921.         front of the file and is run when the startup-sequence is run again.
  922.         Signs of infection are that it adds 3916 bytes to the size of the
  923.         file it infects.  After every ten copies it will change the pointer to
  924.         a smiley face and a message will scroll across it.
  925.  
  926. CODERS NIGHTMARE:
  927.         A boot block virus.  Fairly tame this one but it will wreck copy
  928.         protected disks.  It takes over the DoIO vector waiting for reads to
  929.         track zero block 0 then it writes itself to the disk if it can.  It
  930.         has a level 2 interrupt which after a time will display a message and
  931.         then reboot the machine. To remove we just reset the DoIO and Level 2
  932.         Interrupt vectors and clear out the RomTag.
  933.  
  934. FORPIB:
  935.         Another boot block virus.  It takes over the Trackdisk BeginIO
  936.         vector and waits for reads to block 0.  Then it copies itself if it
  937.         can.  It also has a VertBlank Interrupt and after a certain time a
  938.         message will appear. (I think).  There is a bug in this in that it
  939.         tries to use a color register but it has got the wrong value in
  940.         there.  To remove just restore both vectors and remove the RomTag.
  941.  
  942. GX TEAM:
  943.         Yet another bootblock virus. This just takes over the DoIO vector and
  944.         after a certain number of copies it will bring up a requester then
  945.         guru. To remove replace the DoIO vector and clear RomTag and Capture
  946.         vectors. This virus will only work under version 1.2 kickstart.
  947.         
  948. GREMLINS:
  949.         Yes, another bootblock virus.  Sickening isn't it.  Don't know what
  950.         this one does but very easy to remove.  Just zero the Capture vectors,
  951.         restore the SumKickData vector and DoIO vector and it's gone.
  952.  
  953. KAUKI:
  954.         This boot block virus will only work under Version 1.2 kickstart.  As
  955.         I don't have it I can't tell you what is displayed but something is
  956.         displayed. Easy to get rid of.  Just clear the Capture vector and set
  957.         the DoIO vector to $FC06DC just to make sure.
  958.  
  959.  
  960. SADDAM virus
  961.         This is a file type file that hides itself as the Disk-Validator. 
  962.         The disk on which it came was unvalidated so AmigaDOS loaded
  963.         it to try and validate the disk.  This causes the virus to run and
  964.         infect your machine.  It does infect a lot of vectors that need fixing
  965.         when it is found.  I just wipe it off the disk and it is left to the
  966.         user to put a new Disk-Validator on the disk.
  967.  
  968.         It will change the root block BitMap pointer so that if the virus is
  969.         not running AmigaDOS will think the disk is UnValidated and load the
  970.         virus. It will also change DATA blocks so DOS does not know them
  971.         unless the virus is running. When the virus is triggered it will wipe
  972.         out the whole disk and bring up a Requester telling you it is the
  973.         SADDAM virus.
  974.  
  975. CCCP:
  976.         This a combination Bootblock and file virus.  It changes itself so
  977.         that it will write to the BootBlock and to random files on the disk.
  978.         The only way to find it on disk is to scan the whole disk.
  979.  
  980. DISASTER MASTER 2:
  981.         This is a fairly simple File type virus.  It will write to a disk
  982.         after a warm boot and if there is enough room on the disk will make a
  983.         file called cls in the C: directory and add cls * as the first line 
  984.         in the startup-sequence.  We just clear the RomTag and
  985.         Capture vectors, check the DoIO vector and that's it for memory.  Just
  986.         wipe the file off the disk and warn the User about the 
  987.         startup-sequence.
  988.         
  989. HAWNES:
  990.         A simple file type virus.  It infects the OpenLibrary()
  991.         vector waiting for an opening of intuition.library.  It then patches
  992.         OpenWindow() to it's own routine.  When a window opens it checks the
  993.         startup-sequence and if not already present, copies itself to
  994.         the disk using DOS.  It patched the VertB int and will display
  995.         something after a while.  It will Wipe out a disk after so
  996.         many copies as well.  Simple to remove and alter the first
  997.         line in your startup-sequence which will hold in hex $C0A0E0A0C0.
  998.  
  999. RETURN OF THE LAMER:
  1000.         Another file type virus which replaces the Disk-Validator. 
  1001.         It uses a RomTag to stay in memory, infects vectors, VertBlank Int,
  1002.         trackdisk.device BeginIO(), and another vector in the
  1003.         trackdisk.  When the RomTag is called it infects the OpenWindow()
  1004.         vector.  Just delete the Disk-Validator and replace it from a
  1005.         good disk.  In memory, just restore the vectors and clear the
  1006.         RomTag out.
  1007.  
  1008. TRAVELLING JACK:
  1009.         A Link type virus this one installs itself into the internals of
  1010.         AmigaDOS taking over the BCPL inner workings. To check in memory we
  1011.         have to wind our way thru many vectors and then reinstall the
  1012.         original from the virus. To remove from file we just remove the first
  1013.         code hunk. Seems to copy itself to each file that has been read but
  1014.         not sure on this.
  1015.  
  1016. LIBERATOR:
  1017.         This is a file virus that says it will remove all viruses but is in
  1018.         fact a virus itself.  It copies itself to the s/startup-sequence with
  1019.         a line that says 'memcheck s'.   You will also find a file
  1020.         called .FastDir on the disk.  After a certain count it will
  1021.         delete the entire s/startup-sequence and display a message,
  1022.         and stop access to the floppy drives and DH0:.  It will also
  1023.         stop most virus checking programs by RemTask()ing them. 
  1024.         Virus_Checker 5.30 and above is safe from the current version as 
  1025.         the Task name has been changed.  Easy to remove, we just
  1026.         delete the file.
  1027.  
  1028. MENEM'S REVENGE:
  1029.         This is a Link virus. It starts a Task called a single space. This
  1030.         task sole job is to Patch the LoadSeg vector in DOS. It thus
  1031.         infects programs that are run. It is triggered thru the Amiga's
  1032.         time and will write it's message to files on dh0: and/or df0:
  1033.         The message it writes and then displays as an Alert is
  1034.  
  1035.         Menem's Revenge has arrived
  1036.         Argentina still alive
  1037.  
  1038.         All VC does is Remove the Task and reset the LoadSeg vector.
  1039.         It will be removed from files as they are scanned.        
  1040.         It adds 3076 bytes to each file it infects.
  1041.  
  1042.         There are some problems with this virus. It does not know Amiga
  1043.         Files very well and will sometimes get it wrong. VC will remove the
  1044.         virus okay but the program may still not work due to this.
  1045.         Also when the virus is removed from memory the computer may lock-up
  1046.         or GURU after a while. This may be due to memory not being freed
  1047.         properly when the task is removed.
  1048.  
  1049. TRABBI:
  1050.         Harmless link virus. Will try to link itself into all files it can
  1051.         get at. Uses the drive it was started from. Creates a Task that
  1052.         will play a tone/music and put up a requester after a delay.
  1053.  
  1054. METAMORPHOSIS:
  1055.         This one is a combination Link/BootBlock virus. It will pick random
  1056.         files in the c: directory to infect when every the OldOpenLibrary()
  1057.         call is made. It also infects the DoIO() vector and this will write
  1058.         the bootblock part of the virus.
  1059.  
  1060.  
  1061.  
  1062. ************************************************************************
  1063.                       Virus_Checker Version Notes                      
  1064. ************************************************************************
  1065.  
  1066. Version History shortened
  1067.  
  1068. 6.00 Released 3 February 1992
  1069.      New Workbench 2.0 interface added and hotkey support put in.
  1070.      VC now supports the -l and -t commands again.  Don't know why they
  1071.      stopped working actually.
  1072.      Bug With Screen title.  When used with 2.0 Workbench and no shell,
  1073.      screen flashed allsorts of colors.  Have removed the Screen Title from
  1074.      VC.  Will do it a different way later on.
  1075.      Bug in checking of BootBlocks.  Was not getting error properly from BB
  1076.      read.  Thus if an error occured VC would use the Data from the last BB.
  1077.      Hopefully this problem is now gone.
  1078. 6.01 Released 24 February 1992
  1079.      Added second row of drive gadgets to Interface Window. These will
  1080.      check all files automatically when disk is inserted.
  1081.      Changed way I disabled the gadgets when VC is busy with scanning. Now
  1082.      uses a Request() to disable them.
  1083.      Bug in VC Requester when it can't remove a link virus due to problems
  1084.      with the file. The Requester it put up could not be read as it was all
  1085.      squashed up.
  1086.      Added Intuition EasyRequester when under WB2.0 and just a normal
  1087.      requester needed.
  1088.      Small bug in checking files for link viruses. If file was corrupted in
  1089.      a certain way VC got into a loop it could not get out off. Have put in
  1090.      bounds checking to stop it reading outside it's buffer.
  1091.      It seems the StayResident bit did not work. Have it fixed now.
  1092.      Added Icon support. You can now configure VC via the icon if started
  1093.      from Workbench and CLI. (see THE WORKBENCH STARTUP:)
  1094.      Finally found the trouble with the backdrop option. When used under
  1095.      WB2.0 the window will get hidden under the screens title bar.
  1096.      Found the trouble with VC not letting computer change Font or
  1097.      screenmode and fixed it.
  1098.      Added -i option to cmd line so that VC won't put up a requester saying
  1099.      it could not read the bootblock if there was an error.
  1100.      Added CHECKFILE to arexx side for BBS use. This will take a file,
  1101.      check and remove any viruses found. It will then return a result to
  1102.      the calling program saying file was infected.
  1103. 6.02 Bogus version around so I skipped this one
  1104. 6.03 Released 30 March 1992
  1105.      Forgot to free up the VisualInfo when VC opened it's window.
  1106.      Didn't seem to make much difference. Maybe lost a few bytes of memory
  1107.      Gave up on using Exit() to end Process after warnings in new AmigaDOS
  1108.      manual.
  1109.      Small bug in WarmCapture checking code.  If you canceled the requester
  1110.      VC just kept asking you if you wanted to clear it.
  1111.      New version of Macro68 with it's new Optimization saved about 500
  1112.      bytes of Memory.  Also Sped up code quite a bit.
  1113.      Added a new window that comes up during file scan.  If any Viruses are
  1114.      found then the window will wait for you to click on a gadget to
  1115.      continue
  1116.      Added a new feature. Under WB2 you can VC to watch the
  1117.      s:startup-sequence for any changes.  VC will warn you when this
  1118.      happens.
  1119.      Redefined default hotkey as Left-Amiga Shift Del as the previous one
  1120.      clashed with CygnusEd Write function.
  1121.      FileName buffer was a bit too small. Some people must have really long
  1122.      directory/filenames.
  1123. 6.04 Released 8 April 1992
  1124.      Added Menem's Revenge Virus. Sent to me from the US it was spreading
  1125.      fast so I thought I had better get this out.
  1126.      See virus notes on what it does and some bugs.
  1127. 6.05 Released 12 May 1992
  1128.      As WB2.0 will not allow Virus_Checker to read a file that is read
  1129.      protected I have put in some error checking. When doing a directory
  1130.      scan VC will warn you if the file is Read-Protected.
  1131.      Small mistake in the WATCHSS from the workbench Start. Would not work
  1132.      due to a spelling mistake on my part
  1133.      Added CheckBootBlockdfx: command to ARexx interface to check
  1134.      Bootblocks from scripts.
  1135.      Received Hacked version of Saddam Virus. Someone changed IRAK to LAME
  1136.      in code. Small change to VC to change these blocks back to normal
  1137.      Added Trabbi virus. Harmless link virus.
  1138.      Small bug in Disk Scan code when scanning single file. Called
  1139.      AllocMem() with a zero size.
  1140.      Added another version of SCA virus. This one just puts up a screen, no
  1141.      copying to other disks
  1142.      Added Bootblock viruses Triplex, Virus_V1_(Wieder_da), another version
  1143.      of Northstar, Sachsen, GeneStealer, Exterminator, and MG.
  1144.      Added Metamorphosis virus, this one is a link/BB virus
  1145. 6.06 Released 4 June 1992
  1146.      Added Ignore BB Error configuration to Window.
  1147.      Removed other version of SCA virus. People did not mind it and it did
  1148.      not copy itself anyway.
  1149.      Heaps of bugs in virus removal in memory. Some viruses found as
  1150.      others. Could not test them due to not running on my machine. Did
  1151.      remove the viruses though.
  1152.      Finally got rid of that last ugly Requester under WB2.0
  1153.      Fixed a bug in the disk scan routine. If you entered a empty string in
  1154.      the string gadget VC should have checked the directory from which it
  1155.      had it's root. But it scan all sorts of silly directory names and
  1156.      would usually crash when done. Now fixed.
  1157.      Bug in rexx code for CheckBootBlock. You needed to have AutoCheck
  1158.      turned on otherwise it would not check the bootblock. Fixed.
  1159. 6.15 Released 14 July 1992
  1160.      Version 6.07-6.12 skipped due to a fake 6.12 version
  1161.      Some more small bugs in memory detection taken out.
  1162.      VC will set the protection of File viruses so it can delete them
  1163.      Memory allocation 1 byte too small when adding virus names to scan
  1164.      window.
  1165.      Small bug with CheckBootBlock Arexx command. Would return Okay on some
  1166.      viruses
  1167.      Added Challenger, Disktroyer virus, Golden Rider, BlueBox,
  1168. 6.16 Released 17 October 1992
  1169.      Added ReadArgs() for users with WB2.0 Read Above for command line
  1170.      Removed a couple of more bugs. Still 40 bytes of memory lost each time
  1171.      Virus_Checker is run.
  1172.      Added Infiltrator (Klein) link virus.
  1173. 6.17 Released 19 October 1992
  1174.      Massive bug inflicted by stupid programming on command line.
  1175. 6.18 Released 21 October 1992
  1176.      More bugs introduced due to fixing the previous bug. I hope this is it
  1177. 6.19 Versions 6.15 and up had checking in them for hacking of code. In 6.16
  1178.      and above this is being found in most cases in the USA.  As I cannot
  1179.      afford the bill for all the E-mail the code has been dropped.  It will
  1180.      still check the version numbers.
  1181. 6.20 Released 11 December 1992
  1182.      Added an option to Un-Protect read-protected files during file scan.
  1183.      Added two more versions of the Liberator File virus     
  1184.      Added Cobra boot block virus and Sonja boot block virus
  1185.      Fixed bug with CloseWindow from Menu. I actually fixed this in the
  1186.      6.16 version I had before I lost the code.
  1187. 6.21 Released 12 February 1993
  1188.      Fixed IGNOREBB not comming up checked when given on command line.
  1189.      Added the Unicorn, Adam Brierly BB viruses and added DStructure and
  1190.      Starlight file viruses
  1191. 6.22 Released 14 Febuary 1993
  1192.      Added Timer file virus and fixed a serious loop bug.  Accidently put
  1193.      the wrong label in in one of the memory checks.  As a result and
  1194.      endless loop at priority 19 which made it seem the machine had locked
  1195.      up. Sorry guys.
  1196. 6.23 Released 20 March 1993
  1197.      Added code to check crunched files. Uses Decrunch.library to do this
  1198.      and it must be in libs:
  1199.      Added Amiga Knight File virus, and Fake SnoopDos1.6 (a bbs backdoor)
  1200. 6.24 Released 5 April 1993
  1201.      Altered file reading code so that file is read only once unless size
  1202.      changes between checks of Link/File viruses.
  1203.      Altered Interface to support new options. Redid most of support
  1204.      routines for GadTools gadgets. Some done illegally under WB3.0.
  1205.      Found and corrected a long standing memory loss bug.
  1206.      Check gadget now works properly under WB3.0
  1207. 6.25 Released 19 April 1993
  1208.      Added QRLD Link virus and corrected a bug in link virus scanning code
  1209.      Altered way Virus_Checker handles input when it is already running.
  1210.      You can now use Virus_Checker quit (WB20) -q (1.3) to stop a running
  1211.      VC. Also it now longers sends messages to itself but uses another
  1212.      method to communicate to itself.
  1213.      Changed detection of Menems revenge in memory, was picking up replex
  1214.      as a virus.
  1215.      No longer asks if you wish to kill it but just pops the window open.
  1216. 6.26 Released 17 May 1993
  1217.      Found bug in File virus delete routine. Would not always delete the
  1218.      file but did find virus and warn you.
  1219.      Added Kill option to delete ALL viruses in files (Link viruses as
  1220.      well)
  1221.      Added 6 versions of CompuPhagozyte file virus and SS bootblock virus
  1222.      Bug found in loading brainfile. Thanks to Eddy Carroll and SnoopDos
  1223. 6.27 Test version only
  1224. 6.28 Released 20 June 1993
  1225.      Corrected small bug where 6.25 and up would crash on some machines
  1226.      Mostly A600's affected
  1227.      Added new feature for checking archives. It is a one shot mode run
  1228.      only from CLI/SHELL and WB2.0x and up. See COMMAND LINE OPTIONS
  1229.      Added DM-Trash virus to checker
  1230.      Added InstallVC script. This uses CBM Installer program
  1231.      Added new special mode to WB2.0x command line. BBFILECHECK will force
  1232.      the file check to see if the file is a BootBlock virus. WARNING. This
  1233.      is a dangerous option and is only used for testing a BootBlock dump
  1234.      for viruses. Don't use it as it may detect good files as viruses.
  1235. 6.29 Released 27 July 1993
  1236.      One more change for detection of menems revenge virus and replex. Some
  1237.      still saying it is being picked up but I cannot see how.
  1238.      Added option to disable CoolCapture not zero requester.
  1239.      Added support for the SHI's Bootblock.library. By using this library
  1240.      and its brainfile you have the ability to add new Bootblock viruses
  1241.      as SHI release new brainfiles. The BootBlock.brainfile goes in the
  1242.      L: directory and Bootblock.library in LIBS:. See BBLIB in docs
  1243.      Added New version of SKick into Capture check.
  1244.      Found small bug in WB support where VC would not recognise the YES
  1245.      command in the icon.
  1246. 6.30 Released 17 August 1993
  1247.      Changed way in which Virus_Checker reads low memory. Will now only
  1248.      cause 2 Enforcer hits.
  1249.      Corrected bug that prevented BBLIB shell option not to work.
  1250.      Updated to latest BootBlock.library and Brainfile which adds more viruses
  1251.      Added more Bootblock viruses to internal code as well
  1252.      Added FU?K virus to code
  1253. 6.31 Released 22 September 1993
  1254.      Okay for all the whingers that are complaining about Enforcer hits
  1255.      then you can now turn off the low vector checks. Dont complain if you
  1256.      get hit by a virus and VC does not pick it up due to this. LOWOFF is
  1257.      the keyword
  1258.      Added a file version of VKill virus. Looks like a copy of the BB virus
  1259.      that has just had a header stuck on it
  1260.      Added Crime * 2, Red Oct, another Travelling Jack and Nano viruses
  1261.      Fixed small bug in SnapShot window. Would not save position in Config
  1262. 6.32 Released 26 September 1993
  1263.      Fixed bug in LOWOFF command line. Seems I checked the signal after
  1264.      I checked the vectors. Fixed now
  1265.      PowerPacker 4 files getting reported as CRIME virus
  1266. 6.33 Released 6 October 1993
  1267.      Taken out both Crime viruses. Too many PowerPacked files getting
  1268.      caught as crime virus.
  1269.      Found crashing bug when one of the libraries was not present.
  1270.      Virus_Checker will now ask before deleting any files.
  1271.      Added Wahnfried, Sentinel, Overkill, Mutilation, Guardians, Ingo Return,
  1272.      Fuck device, Angel, and Detlef BB viruses
  1273.      Added Disktroyer and another version of the Nano File viruses
  1274. 6.34 Released 30 January 1994
  1275.      Added Dag creator trojen, Also DM-Trash trojen, This one acts like a
  1276.      BBS utility but adds a user to the BBS data files as a Sysop. Not sure
  1277.      which BBS it goes for.
  1278.      Added Satan, Soapaulo, Starcom BB viruses
  1279.  
  1280. ************************************************************************
  1281.  
  1282.