****************************************************************************
*      VZAP - PROBABLY THE BEST ARCHIMEDES VIRUS CHECKER IN THE WORLD      *
****************************************************************************
                             1994-2003 Paul Vigay


                    DETAILED INSTRUCTIONS FOR USING !VZAP
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


INSTRUCTIONS
~~~~~~~~~~~~
!VZap is quite self-explanatory and easy to use. It also supports Acorn's 
interactive help application.

However, there now follows a brief run down of it's usage and various 
options. In addition, full support is provided for Acorn's Interactive !Help 
application.

Before using !VZap, it is best to make a backup copy and store this safe 
somewhere in case you should need to re-install it.


MAIN MENU: (obtained by pressing MENU, the middle mouse button, from the icon bar)
~~~~~~~~~~
           Info       Gives information and version number.

           Kill Task  Allows access to a sub-menu containing up to the last 
                      ten tasks loaded. Clicking on a specific task will 
                      'Quit' it.
                      This is handy, especially if unknown 'suspicious 
                      looking' tasks suddenly load for no apparent reason.

           Choices... Opens the 'Choices' window (details below)

           Quit       Quit !VZap and remove from the icon bar.
           
THE CHOICES WINDOW:
~~~~~~~~~~~~~~~~~~~
For ease of use, only half of the choices window is visible when you select 
this option from the main menu. To toggle full size, click SELECT on the top 
right (toggle size) icon on the window pane.

Initially, the following options are available:

AutoScan:
---------
    Scan floppies     If on, !VZap will automatically scan floppy discs for
                      viruses as soon as you click upon the drive icon on the
                      icon bar. After you've scanned all your floppies, which
                      may become a bit tedious, hence the ability to turn it on
                      and off.
                      N.B. This facility will temporarily override the 
                      'AutoZap' feature and turn it ON, irrespective of it's 
                      normal setting.
                      It will return to it's previous value as soon as the 
                      scan has been completed.

    On startup:       Entering a directory filepath into the blank box will tell
                      !VZap to automatically scan any specified directory next time
                      !VZap is loaded (assuming you save the options - see below).
                      You must specify the FULL pathname of the directory you wish
                      to scan. ie. entering 
                                               ADFS::HardDisc4.$.Applicats
                      will scan the directory called 'Applicats' in the root
                      directory of HardDisc4.
                      N.B. You can drag a specific directory into the choices window
                      in order to save typing the full filepath, if required.
                      To cancel, simply ensure that this icon is empty.


Virus Scan:
-----------
    Wimp watch        If on, !VZap will bleep each time a new task or application
                      loads, and will also keep an eye on the wimp environment,
                      informing you of any changes or alterations that occur.

    Autozap           If on, !VZap will automatically deal with known viruses when
                      it is doing a disc scan. This is handy if you are a novice
                      user, or simply want viruses removed with no user
                      intervention.
                      HOWEVER. If this is on, ONLY VERIFIED viruses are dealt with.
                      If off, !VZap will pick up any files that simply 'look
                      suspicious' thereby possibly detecting any as yet
                      undiscovered viruses. It is best to keep this option on
                      unless you are aware of how to examine !Boot files using
                      !Edit.
                      (see also 'On startup' above)

    *Set              Again, this option is for the more technically minded and
                      allows a more thorough search of files.
                      This will pick up any attempts to *SET an alias and then
                      load a virus by calling the alias. It is inevitable that
                      when this option is on, many false alarms may be given.
                      Unless you know how to interpret !Boot files in detail,
                      then leave this option off.
                      N.B. If autozap is on, ONLY verified viruses will actually
                      be eliminated, so you don't need to worry about the 
                      increased 'sensitivity' of this option, deleting important
                      files.


    Stamp             If on, !VZap will save a short text file to the disc just
                      scanned, informing future users that it is free from
                      viruses known to whichever version of !VZap you are using.

    Auto Quit         If on, !VZap will Quit automatically as soon as a virus
                      scan has been carried out. This can be useful if used in
                      conjunction with 'On startup' (described above) as it will
                      free the memory occupied by !VZap as soon as a virus scan
                      is complete.
                      NOTE: Should you wish to override this feature once it has
                      been set, hold the 'Q' key down when you load !VZap. This
                      will set it to 'off' but will NOT change the permanent
                      setting, saved on disc. To do this you will need to 'Save'
                      the choices again.


Logging:
--------
    Disc log          If on, !VZap will write a text file to disc containing
                      any relevant comments whilst it does it's virus scan.
                      The file is automatically created inside the directory
                      called DirLog, inside !VZap itself, and is called LogFile.
                      This option is especially useful when used in conjunction
                      with 'Autozap'.

    Auto Reset        If on, this will ensure that the log file is deleted each
                      time !VZap is loaded. This means that the log file only
                      contains information relevant to the scans you've carried
                      out during the present session. If the option is off, the
                      log file will simply be appended each time you run !VZap
                      so a continuous log may be kept. Obviously, depending 
                      upon how many times you carry out a virus scan, this file
                      may become quite long.
                      
    Log path          Contains the name of the log file. By default, it is called
                      "Logfile" and stored within the !VZap directory itself. This
                      file should not be deleted (even if the filename is moved
                      elsewhere) or !VZap will fail to install correctly. You can
                      drag the icon into a new directory window to set the full
                      filepath to a different directory. This option is saved with
                      the choices, so be careful if you move !VZap to another
                      computer.
                      N.B. Be careful if you decide to store the logfile within
                      !VZap itself, as VZap does it's own verification and will
                      not like more than a single (text) logfile within it's own
                      directory. If you change the filename from the default
                      "Logfile", ensure you delete any previous log files.


Activating Choices:
-------------------
    Default           Clicking on this icon will restore all the above options
                      to their preset 'factory' settings. Well, the ones I've
                      programmed in actually!

    Save              Clicking on this icon will save the settings in the choices
                      window to disc so that you don't have to reset them next
                      time you load !VZap.

    Cancel            This will cancel any changes you have just made and restore
                      any previous settings set before you called up the Choices
                      window.

    OK                This will any changes you may have made for the current
                      session only, and NOT save them to disc for future use.


Options on the right-hand side of the Choices window:
-----------------------------------------------------
    Filer             Clicking SELECT or MENU lets you change the filing system
                      from any recognised ones available on your computer.

    Drive             Clicking SELECT or MENU lets you change the drive to scan
                      (from 0 to 7)

Due to popular demand the 'Filer' and 'Drive' settings are duplicated within the
main status window. This is so that you don't have to keep opening the Choices
window if you are scanning lots of different filing systems and drive numbers.

    Sound             Toggles on and off the sound. This is useful when using in
                      a classroom environment where the bleeps may become
                      irritating.

    Scan memory now   Performs a quick check on the memory inside the computer.
                      If the main status window is open, a status report will be
                      given.
                      If a virus is present, the status window will open
                      automatically and give you the option to deal with the
                      virus.

                   
ADDITIONAL NOTES
~~~~~~~~~~~~~~~~
Stopping a virus scan
               A complete virus scan make take a little while, especially if you
               have many hundred (thousand?) files on a hard disc. The actual
               virus scan itself is non-multi-tasking. This is deliberate, so
               that devious viruses cannot re-infect files already inoculated.
               However, if you decide you wish to abort the virus scan part way
               through, you can press ESCAPE at any time to stop the scan.

Scanning specific directories/files:
               Individual directories and/or files can be scanned by SELECTing 
               the required file icons and dragging into either the !VZap icon
               (on the icon bar) or into the main status window.
               Multiple directories can be dragged, simply by dragging a group
               of files/directories onto the !VZap iron or the main status
               window.
               If !SparkFS is loaded, the contents of archives will also be
               scanned when using this facility.
               Files compressed using Computer Concept's CFS filing system are
               automatically scanned if !VZap detects the presence of CFS.
               
What's actually scanned for?
               The main way that viruses can spread via the Archimedes RISC OS
               system is via !Boot files within applications, because these are
               executed as soon as the user opens their parent directory. !VZap
               will scan ALL !Boot files. 
               The second way a virus can creep in is via a !Run file. These are
               only executed when a user double-clicks on an application to
               load it, but are nonetheless as easy to infect as !Boot files.
               !VZap also scans all !Run files.
               !VZap also scans module files, which can sometimes become infected.
               Lastly, !VZap can actually scan any filetypes it thinks may
               become infected with a virus, especially if the interrogation of
               other files indicates a hidden file somewhere.
               Generally, data files such as Sprite and !Draw files are virus
               resistant. However, !VZap believes it is better to be safe than
               sorry and is equally capable of scanning any type of file it
               considers to be 'suspicious'.

!Boot files
               Most viruses affect !Boot files by adding lines to the end
               of them, to load the virus program itself. !VZap will
               detect this and give the option to INOCULATE the virus. If
               this option is given, !VZap will delete the appended
               lines and restore the !Boot file to it's original condition.

               However, occasionally you may find that !VZap finds one
               or more SUSPICIOUS lines in a !Boot file. If this is the case
               !VZap gives you the option to 'comment' the suspect lines.
               If you choose to comment the relevant lines, !VZap will
               insert a | character at the beginning of the suspect line so
               that it is not executed in future. You can examine the
               file later (using a text editor) and check which lines
               have been commented.

               N.B. If your expertise does not extend to examining !Boot 
               files, you are always welcome to sent any suspicious files
               to me (on an 800K E format disc please), enclosing a stamped
               addressed envelope for reply and telling me which version of
               !VZap you are using (see 'Info' option). I will then check the
               file(s) for you and return your disc ASAP. This service is
               completely free of charge (as long as you send a disc and
               SAE), but unfortunately, is only available to registered users.
               
Locked files
               If !VZap finds a locked file, it will unlock it and deal with
               it if it contains a potential virus, otherwise it's protection
               status will be left unaltered if the file is harmless. Thus
               !VZap can delete viruses even though they may be locked against
               deletion.
               
Protected discs
               Obviously there's not a lot !VZap can do if it finds a virus on
               a protected disc, as it physically cannot write back to the disc.
               In such an event an error will be given and you should un write-
               protect the disc and try again.

Broken directories
               !VZap is unaffected by Broken directories, simply
               skipping over the corrupted file(s). However, one side
               affect of this is that RISC OS is unable to calculate how 
               many files are on the disc, hence the hourglass may be
               inaccurate.
               
Disc Errors
               !VZap does not abort it's virus scan if a disc error is
               encountered. It simply skips over the corrupted file and
               continues scanning past the disc error.
               Users of Disc Commander should be able to restore most
               disc errors without too much trouble, recovering lost data.
               (read the file called 'Advert' for more information)

Virus infection
               In case a virus has already loaded before you load !VZap
               and it's one that !VZap doesn't spot when it does it's
               self-check, it's always best to perform a CTRL-BREAK, both
               before AND after using !VZap.
                                   
   
Comment from the Author !
~~~~~~~~~~~~~~~~~~~~~~~~~
I have received a number of comments about compiling !VZap and not 
releasing the source code. I have this to say;
I have decided to protect !VZap by compiling it, for two reasons;

1. By not seeing how I have detected and killed viruses, virus writers won't
   get any ideas on how to amend viruses to avoid detection and be able to
   make more devious viruses in the future.

2. By not supplying the source code, it makes it extremely difficult for
   any potential hackers and virus writers to amend my code and/or 
   incorporate viruses into the !VZap code itself.
   !VZap incorporates fairly extensive self testing to ensure that the
   !VZap application itself is safe from contamination. Therefore, do
   not attempt to alter any files within the !VZap application, or it
   may fail to load correctly.

1994-2002 Paul Vigay
