home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 56 / af056sub.adf / vz307.lha / VZ.Doc < prev    next >
Text File  |  1993-11-25  |  42KB  |  838 lines

  1.  
  2.                           | 
  3.          ·` __/   _     --+--
  4.         /| / /`\ /(____   |  .   . __|__   _    \/_________. - - ----- --- --
  5.   ·/\  / | \/__/ \  __ \ ·   I\_/I   /\____)\   /\   _   °/  ---- -- --- - -
  6.   |°|  |!| /___` |\ II  \|\_/|·  |  /°  __  /     \  /   /  - c0nt®0[/aTz -
  7.   | |  | I | //| |  __ /`|   |i /i  \_   \_/       \/·  //\ ------    -
  8.   | I\/  / |//·|/   || \ |   I:  I /\ \  \\       \//  /~  \  - --      
  9.   \    `// |// |    ||  \I   ^  /|/  \~\  \\  _|_ //        \
  10.    \_.\/// |/_/|___°I|_°/ \____/_|\._______/   | /________/°/ Ve®$i0n 3.o7
  11.      \/       \/                                     \
  12.                                                       \
  13.  
  14.  
  15.  
  16.                       SOME NOTES CONCERNING LAW AND ORDER
  17.                       -----------------------------------
  18.  
  19.     1. Copyright
  20.     ------------
  21.     The entire VirusZ package is written and copyright © 1991,1992,1993  by
  22.     Georg Hörmann  with  exception  of  the  reqtools.libraries  which  are
  23.     written and copyright © by Nico François who gave the permission to use
  24.     the libraries  and installation  scripts  in any  freely  distributable
  25.     software package.
  26.  
  27.     2. Disclaimer
  28.     -------------
  29.     The executionable and non-executionable parts of this software  package
  30.     may NOT  be altered by any means (this includes editing, reprogramming,
  31.     crunching, and resourceing), except archiving. The author is in NO  way
  32.     liable for any changes made to any part of the package, or consequences
  33.     thereof as he is in NO way liable for damages or loss of data  directly
  34.     or indirectly caused by this software.
  35.  
  36.     3. Distribution
  37.     ---------------
  38.     Neither fees may  be charged nor  profits may be  made by  distributing
  39.     this piece of software. Only a  nominal fee for cost of magnetic  media
  40.     may be acceptable, the amount of US $6 shouldn't be exceeded for a disk
  41.     containing VirusZ. Outside  a single machine  environment, you are  NOT
  42.     allowed to reproduce only  some parts of the  package, but you have  to
  43.     copy it completely. See this list of contents for verification:
  44.  
  45.              VirusZ (dir)
  46.                DLD (dir)
  47.                  DLD
  48.                  DLD.doc
  49.                  DLD.dok
  50.                  Library.doc
  51.                Docs (dir)
  52.                  Brain.doc
  53.                  Brain.doc.info
  54.                  VirusZ.doc
  55.                  VirusZ.doc.info
  56.                  VirusZ.history
  57.                  VirusZ.history.info
  58.                  VZBE.doc
  59.                  VZBE.doc.info
  60.                Libs (dir)
  61.                  decrunch.library
  62.                  reqtools.library.13
  63.                  reqtools.library.20
  64.                S (dir)
  65.                  VirusZ.brain
  66.                Docs.info
  67.                Install
  68.                Install.info
  69.                Install.script
  70.                VirusZ
  71.                VirusZ.info
  72.                VZBE
  73.                VZBE.info
  74.              VirusZ.info
  75.  
  76.     Note that the original package was released as 'VirusZ307.lha' archive.
  77.     If any parts were already missing when you received this package,  look
  78.     out for another source to get your software in future.
  79.  
  80.     4. Shareware
  81.     ------------
  82.     VirusZ is no longer Freeware, but  Shareware. This means you are  still
  83.     allowed to copy the software freely, but  you have to pay a fee to  the
  84.     author if you use VirusZ regularly. Not paying your fee is both immoral
  85.     and illegal. If you  already have registered  for any former  releases,
  86.     paying the fee  again is optional.  Suggested donation is  DM 20 or  an
  87.     equivalent amount  in any  other currency.  Anything else  will not  be
  88.     accepted. By now,  I had more  expense than profit  by sending all  you
  89.     folks your disks back etc.  If you want me  to continue my work,  don't
  90.     try to cheat me.
  91.     Submissions with new material  (viruses/crunchers) are welcome. If  you
  92.     want your disks back, either enclose enough money for postage or German
  93.     stamps. If you send me useful stuff, you will additionally receive  the
  94.     latest update  of VirusZ  on your  disk. Contact  me at  the  following
  95.     address:                                                               
  96.  
  97.                                  Georg Hörmann
  98.                              Am Lahnewiesgraben 19
  99.                      -->  82467 Garmisch-Partenkirchen  <--
  100.                                     Germany
  101.  
  102.  
  103.                   !!! IMPORTANT NOTE FOR REGISTERED USERS !!!
  104.                   -------------------------------------------
  105.  
  106.     I will no longer offer the  update service for registered users. I  had
  107.     nothing but trouble in the past with sending dozens of disks around the
  108.     world. Some  versions of  VirusZ always  showed some  bugs right  after
  109.     releasing them. If I release the  latest versions on BBS boards and  PD
  110.     disks only, the risk of losing a lot of money isn't that high as it  is
  111.     if I have to send all bugged updates twice. This becomes too expensive.
  112.     I know  that it's  not your  fault when  I make  mistakes, but  it's  a
  113.     difference between  updating an  text editor  and a  virus killer.  The
  114.     editor will be updated 1 or 2 times a year, but new versions of a virus
  115.     killer have to be released at least every 4th week. Errare humanum est.
  116.  
  117.  
  118.                                  INTRODUCTION
  119.                                  ------------
  120.  
  121.     1. VirusZ Philosophy
  122.     --------------------
  123.     VirusZ is another try to  make the perfect viruskiller. Although  there
  124.     are already hundreds of killers, none had to offer the, in my  opinion,
  125.     most important features. These  are to be short,  fast and not to  keep
  126.     the user from working by opening a big screen with hundreds of  gadgets
  127.     or locking the drives. If you like that type of killer, forget VirusZ.
  128.  
  129.     2. Why Use VirusZ?
  130.     ------------------
  131.     VirusZ has been  tested on  Kickstart 1.2/1.3, OS  2.0 and  OS 3.0  and
  132.     worked just fine.  It offers several  OS 2.0 features  even under  Kick
  133.     1.2/1.3 like gadget activation via  keyboard. All windows use the  full
  134.     screen size, have a built-in Topaz 8 font to prevent any trouble, bring
  135.     themselves to the front when started and set up a wait pointer for  the
  136.     other windows. Windows always support the screen font (up to size 124!)
  137.     in the menu/title bar. VirusZ recognizes over 220 bootblock viruses and
  138.     the filechecker not  only detects  over 115 file viruses,  but it  also
  139.     offers you the unbelieveable feature of decrunching files. The boot lab
  140.     offers all  important bootblock  operations on  one screen.  The  whole
  141.     software is written 100% in assembly language for lightning speed.  The
  142.     memory checker  removes all  known viruses  from memory  without  'Guru
  143.     Meditation' and checks memory for viruses regularly. VirusZ has easy to
  144.     use intuitionized  menus  including  keycuts  for  both  beginners  and
  145.     experienced users. It performs a self-test on every startup to  prevent
  146.     link virus infection. VirusZ works in the background and uses less than
  147.     0.5% of your processing time (use Xoper to verify). Last but not least,
  148.     VirusZ is regularly  updated and  hence offers  you perfect  protection
  149.     against the latest viruses. Starting with 3.00, you have the ability to
  150.     learn your own bootblocks via the VirusZ Brain Editor VZBE.
  151.  
  152.  
  153.                                 GETTING STARTED
  154.                                 ---------------
  155.  
  156.     1. For The Very First Time
  157.     --------------------------
  158.     VirusZ requires  the 'reqtools.library'  in  order to  work  correctly.
  159.     Included in this  package are two  versions of the  'reqtools.library',
  160.     one for Kick 1.3 and one for OS 2.0. Chose the one that fits with  your
  161.     OS, copy it  to the 'libs:'  drawer of  your boot disk  and remove  the
  162.     suffix (simply  rename it).  If you  don't  want to  do the  copy  work
  163.     yourself, click on the 'Install'  icon from WorkBench. This will  start
  164.     an installation script. If you want to use the decrunch feature, you'll
  165.     additionally need the 'decrunch.library'.
  166.  
  167.     2. If You Already Have Used VirusZ 
  168.     ----------------------------------
  169.     Make sure  that you  copy the  latest library  versions to  your  libs:
  170.     drawer. Also verify the  settings in the prefs  menu if you have  saved
  171.     them with an old VirusZ version because versions higher than 3.00 use a
  172.     new preferences file format. Copy the brainfile to your s: directory or
  173.     change the prefs to the correct path.
  174.  
  175.     3. The First Step To Glory
  176.     --------------------------
  177.     Starting VirusZ is nothing more than  typing its name to any  CLI/Shell
  178.     or double-clicking its icon from  WorkBench. There are several  message
  179.     alerts included in the startup module.  If anyone of these flashes  up,
  180.     there is something wrong. These alerts are self explaining so we skip a
  181.     detailed  description.  If  the  'VirusZ's  hunk  structure  has   been
  182.     modified!' alert comes up, your copy  of VirusZ might be infected by  a
  183.     virus or might  have been crunched  with a bad  cruncher (in fact  most
  184.     crunchers are bad).
  185.     Starting with VirusZ 3.03, you have  the ability to use VirusZ in  your
  186.     own Shell scripts. Simply type
  187.  
  188.        1> VirusZ <filename>
  189.  
  190.     and VirusZ  will try  to read  the  specified file  and checks  it  for
  191.     viruses. VirusZ will print a  message with information about the  file.
  192.     Additionally you receive one of the  following return codes for use  in
  193.     scripts:                                                               
  194.  
  195.         OK  (0)   File is executable or data and no virus was found.
  196.       WARN  (5)   File contains a virus (see message).
  197.      ERROR (10)   An error occured while checking the file (see message).
  198.  
  199.     4. How To Use ReqTools Requesters
  200.     ---------------------------------
  201.     VirusZ uses three types of  ReqTools requesters: Requests asking for  a
  202.     decision, Information Requesters informing you about something and File
  203.     Requesters to select files/drawers.  You can satisfy  them not only  by
  204.     clicking their gadgets, but also via shortcuts. These are:
  205.        Positive Response: <Y>, <RETURN>, <LAMIGA><V>, underscored character
  206.        Negative Response: <N>, <ESC>, <LAMIGA><B>, underscored character
  207.     The positive gadget is the leftmost always printed in bold, whereas the
  208.     negative is the rightmost.
  209.  
  210.  
  211.                               AUTOMATIC FEATURES
  212.                               ------------------
  213.  
  214.     1. General Information
  215.     ----------------------
  216.     VirusZ does  lots of  things in  the background  which you  will  never
  217.     notice until  there  is something  wrong.  All the  automatic  features
  218.     described below will only work if no other VirusZ windows are currently
  219.     open. Read the preferences chapter below  if you want to customize  any
  220.     of the following functions.
  221.  
  222.     2. The Bootblock Check
  223.     ----------------------
  224.     Every  disk  inserted  will  be  checked  for  bootblock  viruses   and
  225.     non-standard bootcode. This  ensures that your  bootblocks stay  clean.
  226.     Every known virus will cause a request  asking you what to do. You  can
  227.     either go to the  bootblock lab or ignore  it. The last possibility  is
  228.     not recommended. If your disk contains anything else than a virus or  a
  229.     standard bootblock, it will be  checked for bootblocks contained in  an
  230.     external bootblock brainfile.  If the bootblock  cannot be  identified,
  231.     VirusZ first  compares its  checksum. If  this is  not correct,  VirusZ
  232.     simply ignores it because  it wouldn't be executed  anyway. But if  all
  233.     conditions are met,  the bootblock  will be reported  as unknown.  This
  234.     might happen  with most  bootload games  or demos,  so do  NOT  install
  235.     anything you don't know.  You might trash the  program that depends  on
  236.     this boot.  But  if you  are  sure that  it's  a new  virus,  save  the
  237.     bootblock (you can use VirusZ for this) install the original  bootblock
  238.     and send me the copy for inclusion in VirusZ.
  239.  
  240.     3. The Disk-Validator Check
  241.     ---------------------------
  242.     This is executed additionally  to the bootblock check  when a new  disk
  243.     has been inserted. The  Disk-Validator will be  loaded and checked  for
  244.     virus infection. Currently 2 basic viruses (and several strains) infect
  245.     the Disk-Validator.  These  are the  Saddam  and Return  of  the  Lamer
  246.     Exterminator viruses. If a virus is found, a request appears where  you
  247.     can delete the Disk-Validator or  continue (not recommended). Then  you
  248.     have to copy a clean Disk-Validator to  the L drawer of the disk. I  am
  249.     not allowed to include the Disk-Validator in VirusZ because it is ©  by
  250.     Commodore.                                                             
  251.     NOTE: With OS 2.0, you don't have to replace the deleted Disk-Validator
  252.           because it is located in the ROM.
  253.  
  254.     4. The Virus & Vector Check in Memory
  255.     -------------------------------------
  256.     This is the real memory check looking for known viruses. It's  executed
  257.     once on startup,  and whenever  VirusZ finds a  virus, you  will get  a
  258.     request telling  you  which  virus was  removed.  VirusZ  removes  them
  259.     automatically. Viruses will not only  be patched or disabled, but  they
  260.     will be  removed from  memory completely.
  261.     After looking  around for  known  viruses, the  reset vectors  will  be
  262.     checked. If any of  them are set  by an unknown  program, you will  get
  263.     directly to the 'VirusZ  Vector Check'. See  a detailed description  of
  264.     this in the vector check chapter below.
  265.     In addition  to the  startup memory  check, VirusZ  repeats the  memory
  266.     check regularly. The time passed between  two checks can be changed  by
  267.     the user, default is  10 seconds. This  is the safest  way to find  and
  268.     remove file- and  linkviruses in  memory. These viruses  can appear  in
  269.     memory any  time  an infected  file  is executed.  So  whenever  VirusZ
  270.     reports a virus in memory, check the disks you are working with at  the
  271.     moment for infection. Note that the time passed between two checks will
  272.     be slightly shorter on NTSC machines  since VirusZ is PAL oriented  and
  273.     works with 50Hz.
  274.     NOTE: VirusZ will no longer delete all Resident Modules when it removes
  275.           a virus from memory. You still can find your recoverable RAM-Disk
  276.           after resetting as if nothing has happened. The only reason for a
  277.           lost RAM-Disk can be the virus that has been removed.
  278.  
  279.  
  280.                               USING VIRUSZ'S MENU
  281.                               -------------------
  282.  
  283.     To use all other features offered by VirusZ, you have to use menu items
  284.     to call the corresponding functions. These can only be used if VirusZ's
  285.     window is active. Note that the background features won't work as  long
  286.     as any other windows are opened  (which is the case with all  functions
  287.     called via menu).
  288.  
  289.     1. Check Files
  290.     --------------
  291.     See a description of the file check in one of the next chapters.
  292.  
  293.     2. Check Sectors
  294.     ----------------
  295.     The sector checker makes it possible  to scan a whole device for  virus
  296.     corruption. First you'll get a small selector for the device to  check.
  297.     Ok and Cancel should be clear, Refresh tells VirusZ to free its  device
  298.     list made on startup and rebuild a new one. This is needed if you mount
  299.     a device when  VirusZ is already  running. The selector  gadget in  the
  300.     middle works exactly like  a standard OS 2.0  gadget, but is  simulated
  301.     with Kick  1.3 means.  If you  click on  it, the  next device  will  be
  302.     selected, if you press <SHIFT>  while clicking, the previous device  is
  303.     selected. You certainly can also use the shortcuts by pressing the keys
  304.     that correspond with the underlined characters. If you made your choice
  305.     and clicked Ok, the main display  appears. It is divided in two  parts.
  306.     The small box at the top is  a progress indicator which will be  filled
  307.     from the  left to  the  right while  checking,  thus telling  you  what
  308.     percentage of the device  is already checked. The  big box is the  text
  309.     display which contains all information  about the current status.  Here
  310.     you'll get all messages  if VirusZ finds anything  that's not ok.  Note
  311.     that the sector checker  will repair damages  without asking, i.e.  you
  312.     have to unprotect your disks before checking. If you don't want to have
  313.     any corrections, keep the  disk write protected.  The damage caused  by
  314.     the following viruses  will be recognized:  Saddam (5 versions),  Lamer
  315.     Exterminator (3  versions), Warsaw  Avenger, Fast  Eddie, Little  Sven,
  316.     Glasnost and Sachsen  3. The damage  caused by Saddam  and Little  Sven
  317.     will be repaired  (blocks will be  decrypted), the others  can only  be
  318.     detected. You can  pause and exit  checking at any  time by pressing  a
  319.     mouse button.
  320.     NOTE: With OS  2.0, the  recoverable RAM-Disk is  not initialized  when
  321.     mounted, but when you access  it the first time  via DOS. If you  check
  322.     the RAD: before accessing it, VirusZ will report a Saddam infection  on
  323.     sector 880. This happens because  the rootblock is not initialized yet.
  324.     It isn't really an infection.
  325.     NOTE 2: It is not recommended to use the sector checker with harddisks.
  326.     This is because the  possibility that a  virus-specific bunch of  bytes
  327.     appears in a text  file or a  program that is no  virus is much  higher
  328.     than on disks and damage of important files may be the result.
  329.  
  330.     3. Check Vectors
  331.     ----------------
  332.     See a description of the vector check in one of the next chapters.
  333.  
  334.     4. Bootblock Lab
  335.     ----------------
  336.     See a description of the bootblock lab in one of the next chapters.
  337.  
  338.     5. Preferences
  339.     --------------
  340.     See a description of the preferences in one of the next chapters.
  341.  
  342.     6. Load Brain
  343.     -------------
  344.     This function tries to load the brainfile specified in the preferences.
  345.     It will then be used to detect additional bootblocks.
  346.  
  347.     7. Clear Brain
  348.     --------------
  349.     Use this if you need the memory used by the brainfile. This function is
  350.     only available if there is already a brainfile in memory.
  351.  
  352.     8. About
  353.     --------
  354.     This displays some information about VirusZ. Simply click somewhere  in
  355.     the window to get rid of it.
  356.  
  357.     9. Quit VirusZ
  358.     --------------
  359.     Think twice and you'll figure out the function of this.
  360.  
  361.  
  362.                                   FILE CHECK
  363.                                   ----------
  364.  
  365.     1. Introduction
  366.     ---------------
  367.     In the early days  of the Amiga viruses,  nobody thought about file  or
  368.     even link viruses. A good virus killer had to display the bootblock and
  369.     check some vectors. But nowadays, the greatest danger doesn't come from
  370.     the bootblock,  but from  files.  Therefore this  file check  has  been
  371.     created to check  files for virus  infection. See a  list of all  known
  372.     viruses in the file 'Brain.doc'. This  file checker is quite unique  as
  373.     it offers some possibilities which  others lack. First it can  decrunch
  374.     files for checking, second it can remove all virus links from a file in
  375.     one step  where others  only remove  one link  after the  other.  These
  376.     features are made possible thanks to a great file buffering method  and
  377.     my own decrunch.library. If you have  to chose a checker, use mine  for
  378.     perfect checking:-)
  379.  
  380.     2. How To Use It
  381.     ----------------
  382.     First you have to select the path where files should be checked in  the
  383.     file requester. Therefore  the complete  path must be  included in  the
  384.     string gadget of the  requester. Click 'Ok' and  we start checking  all
  385.     files in the selected directory and its subdirs. You can skip  checking
  386.     subdirs by enabling the 'Skip Subdirectories' item in the prefs window.
  387.     The main window will  appear which is divided  in two parts. The  small
  388.     box at the top contains  the current path we  are checking in. The  big
  389.     box is the text window where all filenames will be listed with a  short
  390.     description.                                                           
  391.     VirusZ recognizes several types of  data files (such as archives  etc.)
  392.     and will print their names if  possible. Crunched files will appear  to
  393.     be reported as executables if  you haven't enabled the 'Check  Crunched
  394.     Files' item in the prefs window. Otherwise, they will be reported  with
  395.     the packer name  printed in bold.  Viruses are reported  by name  (blue
  396.     background, white characters) and will  cause a requester that  informs
  397.     you about the type of virus. You  may or may not remove the virus  from
  398.     the infected file.
  399.     You can abort/pause checking at any time by pressing any mouse button.
  400.  
  401.     3. Important Notes
  402.     ------------------
  403.     The linkvirus removal code is absolutely reliable as long  as the  file
  404.     isn't damaged  in  any way.  If  the  hunk structure  is  corrupted  or
  405.     anything else disables  removing, VirusZ  will say  'Can't remove'  and
  406.     then skip the file.
  407.     You should  note  that VirusZ  doesn't  use the  decrunch  feature  for
  408.     absolute crunchers, i.e.  for crunchers  that decrunch  their files  to
  409.     absolute addresses,  because  most  viruses  wouldn't  survive  such  a
  410.     crunching process anyway.
  411.     If you get a  message 'Can't load', this  file is either unreadable  or
  412.     you don't have enough memory.
  413.     VirusZ handles  the protection  bits  automatically, i.e.  saves  their
  414.     original contents, then  makes the file  readable/writable and  restore
  415.     them to  their originals  after checking.  This is  useful because  you
  416.     don't have to mess around with the Protect command in your Shell.
  417.     Whenever there comes  up a  system request "disk  is write  protected",
  418.     VirusZ tried  to  change  the  protection  bits.  This  access  is  not
  419.     dangerous, so it  would be best  if you make  your disks write  enabled
  420.     before checking.
  421.  
  422.     4. Additional Hints
  423.     -------------------
  424.     It may happen that a file is  first infected and then crunched. If  you
  425.     want to save the  cleaned file without having  it decrunched, check  it
  426.     again with decrunching disabled.
  427.  
  428.  
  429.                                  VECTOR CHECK
  430.                                  ------------
  431.  
  432.     1. Introduction
  433.     ---------------
  434.     Mostly all viruses work in the same manner. Either they make themselves
  435.     resident and/or  corrupt some  libraries or  devices with  their  code.
  436.     Therefore the vector check was designed to help you finding new viruses
  437.     that can't be recognized  directly by VirusZ yet.
  438.     Most of the  vectors and entrypoints  that will be  displayed are  only
  439.     interesting for programmers, so  I will try  to avoid any  explanations
  440.     that confuse the average user.
  441.  
  442.     2. Usage
  443.     --------
  444.     The vector check window is nothing more than one big display. It  stops
  445.     after every page and waits for  a mouse button. The left button  always
  446.     causes VirusZ  to continue  scrolling,  if the  last page  was  already
  447.     reached, the vector check  will be terminated. The  right button has  a
  448.     double function.  While scrolling,  you can  stop displaying  any  more
  449.     pages. Then, you are able to use the menu items attached to the  vector
  450.     check window.
  451.  
  452.     3. What Can I See From The Displayed Information?
  453.     -------------------------------------------------
  454.     Well, every vector has a short comment right of it. As long as you  can
  455.     read 'Ok' there, everything is fine. Then it might happen that you read
  456.     something like 'SetPatch 38.25', this  tells you that the changes  done
  457.     to this vector are ok, because  VirusZ recognized who did them. But  if
  458.     you read 'Please  Check', be alarmed.  In fact, most  of these  unknown
  459.     changes are  nothing more  than  an utility  like  the well  known  'PP
  460.     Patchers'. If you  have such an  utility and you  know the changes  are
  461.     caused by it, please send it to me for inclusion.
  462.  
  463.     4. The Vectors Menu
  464.     -------------------
  465.     Here you have the  possibility to clear the  reset vectors or to  cause
  466.     VirusZ to  show the  vector  check display  again. This  is  especially
  467.     useful if you found  some reset vectors set  and cleared them. Now  you
  468.     can verify the  changes without  leaving and calling  the vector  check
  469.     again. If the cleared  vectors are still set  after clearing them,  you
  470.     can be 99% sure you have a  new virus in your system. Keep cool,  check
  471.     the bootblocks first and  then try to detect  any file changes. If  you
  472.     find the virus, send it to me.
  473.     Note that the vector  check menu supports  multiselect (hold the  right
  474.     button and select several items with the left button).
  475.  
  476.  
  477.                                  BOOTBLOCK LAB
  478.                                  -------------
  479.  
  480.     1. A Short Introduction
  481.     -----------------------
  482.     The bootblock lab has been created because the old bootblock  functions
  483.     of VirusZ (some will remember the 'Bootblocks' menu) were quite  boring
  484.     and everything else but comfortable to use.
  485.     NOTE: Be careful with writing to/installing your HD!!! I'm not reliable
  486.           for your faults.
  487.  
  488.     2. The Device Gadget
  489.     --------------------
  490.     You can find it in the left top  corner of the window. Click on it  and
  491.     the next device will be displayed, use SHIFT and click on it to get the
  492.     previous device. You can also use character 'd' on the keyboard instead
  493.     of clicking with the mouse.
  494.  
  495.     3. The Mode Gadget
  496.     ------------------
  497.     This is the one in the top right corner. It toggles between ascii-  and
  498.     hex-dump mode. You  may use character 'm' to change the mode too.
  499.  
  500.     4. The Status Line
  501.     ------------------
  502.     Here you can see the name of the bootblock that is currently loaded  to
  503.     the buffer. If a function call fails or anything else happens, you will
  504.     get a report in this box too.
  505.  
  506.     5. The Scroll Gadget
  507.     --------------------
  508.     It consists of one proportional gadget (I'm very proud of this, because
  509.     it was my first ever)  and two little arrows  at the bottom. It's  main
  510.     function is  to scroll  through  the bootblock  dump displayed  in  the
  511.     window. This is  only needed  when displaying hex  dump, because  ascii
  512.     dump fits in the window anyway.
  513.  
  514.     6. Quit
  515.     -------
  516.     Ahh, what was it?? Yes, you can leave the boot lab with this gadget.
  517.  
  518.     7. Load
  519.     -------
  520.     Here  you  can  load  a  bootblock  from  a  file  to  the  buffer.   A
  521.     filerequester pops up  were you  have to select  the file  you want  to
  522.     load. The bootblock will only be loaded to the buffer, not installed on
  523.     disk.                                                                  
  524.  
  525.     8. Save
  526.     -------
  527.     Counterpart of 'Load' which saves a  bootblock as a file. Nothing  more
  528.     to say,  because  it  works  exactly the  same  as  'Load'.  These  two
  529.     functions are useful for making bootblock backups of games, demos  etc.
  530.     If the buffer is empty, the gadget is disabled.
  531.  
  532.     9. Read
  533.     -------
  534.     Reads the bootblock of the currently  selected disk to the buffer.  Now
  535.     you can watch, save or print it.
  536.  
  537.     10. Write
  538.     --------
  539.     Writes the buffer contents to  the bootblock of the currently  selected
  540.     disk. Only  use  this if  you  know what  you  are actually  doing.  An
  541.     overwritten bootblock cannot be  restored in any  way. An empty  buffer
  542.     cannot be written, gadget is disabled.
  543.  
  544.     11. Print
  545.     ---------
  546.     Prints the dump of a bootblock.  Make sure that your printer is  online
  547.     or you will have  to wait for  this silly system  request for appr.  30
  548.     seconds. This  function  always  prints  the  bootblock  dump  you  can
  549.     currently see in  the window. If  nothing was loaded,  nothing will  be
  550.     printed, the gadget is disabled then.                                                               
  551.  
  552.     12. Install
  553.     -----------
  554.     Installs the bootblock selected in  the settings menu to the  currently
  555.     selected disk. Same as 'Write', you should only install disks when  you
  556.     know that they will still work afterwards.
  557.  
  558.     13. Settings Menu
  559.     -----------------
  560.     Here you can configure all important parts of the bootblock lab as  you
  561.     like. Note that this menu supports multi-select (hold right button  and
  562.     select items with the left button).
  563.  
  564.     FastFileSystem BB: If enabled, the 'Install' command will install a
  565.                        FFS bootblock (0x444f5301), otherwise you will get
  566.                        a normal OFS bootblock (0x444f5300).
  567.  
  568.     Uninstalled BB:    If enabled, VirusZ will write an uninstalled bootblock
  569.                        to the disk. This disk will no longer boot after a
  570.                        reset, but works the same as before from Shell and
  571.                        Workbench. If disabled, a standard OS 2.0 bootblock
  572.                        will be installed. This bootblock works under
  573.                        Kick 1.2/1.3 as well.
  574.  
  575.     Correct CheckSum:  Tells VirusZ to correct the checksum of a bootblock
  576.                        before writing it to disk. If you install a bootblock
  577.                        with a wrong checksum, the disk won't boot after a
  578.                        reset.
  579.  
  580.     Detect DiskChange: If set, the bootblock lab will behave like the main
  581.                        part of VirusZ, i.e. whenever you insert a disk while
  582.                        the bootblock lab is active, it will automatically
  583.                        select this drive and read the bootblock.
  584.  
  585.     Ask Before Action: If enabled, you will get an additional requester asking
  586.                        you if you really want to continue with the selected
  587.                        action. This works with 'Print', 'Write' and 'Install'
  588.                        as these functions can do some harm if wrongly used.
  589.  
  590.     Refresh Devices:   This is not part of the settings. You can refresh the
  591.                        contents of the device gadget here, e.g. after mounting
  592.                        a new drive.
  593.  
  594.                                   PREFERENCES
  595.                                   -----------
  596.  
  597.     1. The Main Idea
  598.     ----------------
  599.     I think everyone of you knows those programs that always look the  same
  600.     and do the same  and you cannot change  anything of their behaviour.  I
  601.     didn't want VirusZ to become the same, so I added this fine preferences
  602.     window.  It was designed having the User Interface Style Guide in mind.
  603.     All gadgets can be toggled via keypad too (see underlined character).
  604.  
  605.     2. Action Gadgets
  606.     -----------------
  607.     These are the three gadgets at  the bottom. 'Use' will cause VirusZ  to
  608.     use the currently  selected settings  only for  this session.  'Cancel'
  609.     ignores all changes made to the  settings. 'Save' saves them to a  file
  610.     called 'VirusZ.prefs'  in your  S:  drawer that  will  be used  on  all
  611.     following startups. Additionally to the options specified in the  prefs
  612.     window, the following will be saved too:
  613.          - the position of VirusZ's main window
  614.          - all settings of the bootblock lab
  615.  
  616.     3. Audible & Visible Alarm
  617.     --------------------------
  618.     This enables/disables the fantastic sound  and screen flash that  warns
  619.     you when a virus has been detected on disk or in memory. Default is on.
  620.  
  621.     4. Install Faked SnoopDos
  622.     ------------------------- 
  623.     This installs/removes a task called SnoopDos (only if the real SnoopDos
  624.     isn't installed) for protection  against PowerPacker 3.2 trojan  horse.
  625.     Fully compatible  to the  real SnoopDos,  the option  doesn't need  any
  626.     processing time since the task is  running at a low priority and  waits
  627.     for a message that never arrives. Default: off.
  628.  
  629.     5. Check Resident Vectors
  630.     -------------------------
  631.     This tells VirusZ whether to check the resident vectors during  startup
  632.     and while running  or not.  Useful if  VirusZ keeps  on reporting  your
  633.     recoverable RAM-disk or harddisk-device  after every reset. Default  is
  634.     off.
  635.  
  636.     6. Report Custom Bootblocks
  637.     ---------------------------
  638.     This will, if enabled, cause  VirusZ to report known custom  bootblocks
  639.     while checking  your  disks. Useful  if  you  want to  find  a  certain
  640.     bootblock and you simply can't remember where it was. Default is off.
  641.  
  642.     7. Check Memory For Viruses
  643.     ---------------------------
  644.     By disabling this  item, you can  tell VirusZ not  to check memory  for
  645.     viruses regularly. This does not  disable the memory check on  startup,
  646.     because it's  still the  main task  of  a virus  checker to  check  for
  647.     viruses :-) Default is on.
  648.  
  649.     8. Detect Disk Changes
  650.     ----------------------
  651.     Toggles the automatic bootblock and disk-validator check on/off. Useful
  652.     if you are working a  whole day with only  two disks that already  have
  653.     been checked and you don't want  to wait until VirusZ has checked  them
  654.     every time you insert them. Default is on.
  655.  
  656.     9. Check Hunks On Startup
  657.     -------------------------
  658.     If you intend to crunch VirusZ with your preferred executable cruncher,
  659.     you'll soon find that VirusZ complains about a modified hunk structure.
  660.     To prevent this complaint, toggle this item off. Default is on.
  661.  
  662.     10. Requesters Follow Mouse
  663.     ---------------------------
  664.     This item offers you the possibility to select what type of  requesters
  665.     should be used for  decisions. If enabled,  the requesters will  appear
  666.     with the  negative response  under the  mouse, if  disabled, they  will
  667.     appear at the top left edge of the screen.
  668.  
  669.     11. Check Drives On Startup
  670.     ---------------------------
  671.     This has been added to prevent  VirusZ from checking all bootblocks  on
  672.     startup. This is especially useful if you have lots of HD partitions or
  673.     if VirusZ has problems with your HD. Default is on.
  674.  
  675.     12. Load Brain On Startup
  676.     -------------------------
  677.     If this item is enabled, VirusZ  tries to load the brainfile  specified
  678.     in the prefs (see below) on startup. Default is off.
  679.  
  680.     13. 'Are You Sure?' Before Exit
  681.     -------------------------------
  682.     This item toggles the verify request that appears when you either close
  683.     the VirusZ window or select Quit on/off. Default is on.
  684.  
  685.     14. Check Disk-Validator
  686.     ------------------------
  687.     Here you can switch  on/off  the automatic Disk-Validator check that is
  688.     executed whenever a new disk has been inserted. Default is on.
  689.  
  690.     15. Memory Check Repeat Delay
  691.     -----------------------------
  692.     Click on the Get gadget and a request appears. Here you may change  the
  693.     delay between two memory checks. Any value between 2 and 120 seconds is
  694.     valid, others will be rejected. Default is 10 seconds.
  695.  
  696.     16. Window Y-Sizes
  697.     ------------------
  698.     There are three items labeled '... Y-Size'. You can enter the amount of
  699.     text lines that should be  displayed in the respective windows.  Useful
  700.     on lace screens (slow scrolling) or if you don't want VirusZ to use the
  701.     whole screen for the display. Enter a value that is too big to set  the
  702.     windows to their full sizes. Use the Get gadgets to enter new values.
  703.     Defaults to 199.
  704.  
  705.     17. Bootblock Brainfile
  706.     -----------------------
  707.     Enter the full path  and filename of the  default brainfile here.  This
  708.     name is used by Load Brain and on startup if the respecting prefs  item
  709.     is enabled. Default is 'S:VirusZ.brain'.
  710.  
  711.     18. Check Crunched Files
  712.     ------------------------
  713.     This enables/disables the outstanding mega-feature of decrunching files
  714.     for virus checking. Note that you need 'decrunch.library' in your  libs
  715.     drawer if you intend to use this. Default is off.
  716.  
  717.     19. Skip Subdirectories
  718.     -----------------------
  719.     Tells the file checker  not to check subdirs.  Useful for checking  the
  720.     root directory of a harddisk :-) Default is off.
  721.  
  722.     20. Handle Viruses Automatically
  723.     --------------------------------
  724.     If this  option is  set, you  will not  see any  requesters asking  you
  725.     whether to repair an  infected file or not,  VirusZ will always try  to
  726.     remove viruses at once.  You should enable the  file report if you  use
  727.     this feature so you  can see what  happened while checking  afterwards.
  728.     Default is off.
  729.  
  730.     21. Create File Report
  731.     ----------------------
  732.     If enabled, VirusZ  captures all  text output  during file  check to  a
  733.     buffer. You can  save this  buffer after  the file  check is  finished.
  734.     Default is off.
  735.  
  736.  
  737.                                  SPECIAL NOTES
  738.                                  -------------
  739.  
  740.     1. New Viruses And Packers
  741.     --------------------------
  742.     Although VirusZ recognizes lots of viruses both in memory and on  disk,
  743.     this is  NOT  enough  until  also the  very  last  virus  is  included.
  744.     If you ever get a new virus, do not delete it before sending me a copy.
  745.     Don't forget: I can  only help you in  your fight against these  little
  746.     bastards if you support me with  all the necessary material. Killing  a
  747.     virus without knowing how it  works is impossible. Additionally to  new
  748.     viruses I'm  always  searching  for  new  crunchers  for  inclusion  in
  749.     'decrunch.library'.
  750.  
  751.     2. Bugs
  752.     -------
  753.     VirusZ has been  tested on Kick  1.3, OS  2.0 and OS  2.1 (Locale)  and
  754.     worked just fine. If you nevertheless find a bug, please don't wait for
  755.     better days, but send me a detailed description (if possible) including
  756.     your system's configuration and when and  how the bug appears. You  can
  757.     find some information about your  hardware configuration in the  vector
  758.     check. If VirusZ crashes in connection with other software, I would  be
  759.     glad if you send me a copy  of these programs (if the copyright  allows
  760.     it). Please  DO NOT  report things  that  I can't  repeat on  my  Amiga
  761.     without a detailed description of the circumstances.
  762.  
  763.     3. Enforcer Hits
  764.     ----------------
  765.     This program is made for virus killing. For this reason it has to check
  766.     all those memory locations used by viruses, amongst them the interrupts
  767.     table of the CPU. This certainly causes enforcer hits, but it obviously
  768.     is better to find the virus than not to have an enforcer hit, isn't it?
  769.     By the way, all hits are completely harmless.
  770.  
  771.     4. Known Problems
  772.     -----------------
  773.     VirusZ as a program works fine with Kickstart 33.166 (old 1.2), but the
  774.     memory check  routines  will  sometimes restore  wrong  pointers  while
  775.     removing viruses. As this  Kickstart was only  shipped with A1000,  and
  776.     most of the A1000 users have  Kick 1.3  or at least  Kick 1.2  (33.180)
  777.     which work fine, I don't see this as a great problem.
  778.  
  779.  
  780.                                   APPENDIXES
  781.                                   ----------
  782.  
  783.     1. Viruses In Memory
  784.     --------------------
  785.     All viruses mentioned in the 'Brain.doc' will be removed properly  from
  786.     memory (as far as  they install themselves in  memory). But not all  of
  787.     them  will  be  recognized  by  name.  This  is  because  some   clones
  788.     (especially SCA clones) can  be detected and killed  all the same  way.
  789.     Including a routine to get their real names as an addition would  cause
  790.     the memory checking routines  to get more than  twice as large as  they
  791.     are now. And that's not worth it.
  792.  
  793.     2. Utilities In Memory
  794.     ----------------------
  795.     Since VirusZ only kills what it knows in memory, it's not necessary  to
  796.     add all the resident utilities like RAD:, VD0:, ZKick etc. If you  ever
  797.     have problems with these (it's not very likely that VirusZ thinks these
  798.     might be viruses), let me know and I'll fix it.
  799.  
  800.     3. Special Thanks
  801.     -----------------
  802.     There are several people I wish to thank for their VirusZ support:
  803.  
  804.     Ralf Thanner                    what more should I say??
  805.     Control / Alcatraz              nice logo and other support
  806.     Axel Folley                     moral and financial support :-)
  807.     Steve / Silicon Designs 3003    always some new viruses and packers
  808.     Flake / D-Tect                  nice letters and viruses
  809.     Holger Wessling                 always some new ideas
  810.     Terminator / Destiny UK         bootblocks and long letters
  811.     Martin Odaischi                 always some new viruses
  812.     Heinz Lindner                   resident tools and new Kickstarts
  813.     Markus Stiebeling               several bug reports and hints
  814.     Rüdiger Prang                   nice patches and TEX-Docs
  815.  
  816.     and several other supporters that have contacted me in the past
  817.     and of course all users who already paid their shareware fee.
  818.  
  819.     4. Some Kind Of Parody
  820.     ----------------------
  821.     Control's logo is much better, that's why it is at the top and this  is
  822.     at the bottom. But as I got this one for the last release, I wanted  to
  823.     include it anyway...
  824.  
  825.             ___             __
  826.   ___      /. /         __ |._|______________    » ThE BeSt MoNeY CaN BuY «
  827.   \. \    // /  ______ |. |||\___________ . /   
  828.    \\ \  // /_>|.  _. \|| ||| |/.  _____// /  · KeWl CoDeR, KeWl RoUtInEs
  829.     \\ \// /__ || |_>> >| ||| <<  <__  // /     · o-5 YeArS ViRuZeZ
  830.      \\ ' /|. |||  .  /|| ||| |\__.  \// /        · RuNnInG oN 68o7o/99MHz
  831.       \\ / || ||| |\\ \|` `'__|___>> // / 3.o7      · NiCe ShArEwArE FeEs
  832.        \/  |__||| | \\ \\___\_______// /__________    · AlWaYs LaTeSt BrAiN
  833.            ThE |__|  \\ \ UlTiMaTe /______________\     · AuToDeCrUnCh FiLeS
  834.                       \__\           ViRuS KiLLeR
  835.  
  836.         !¡! WhErE WoNdErS CoMe TrUe AnD ThE ViRuZeZ CoMmIt SuIcIdE !¡!
  837.                                                                           !TML!
  838.