home *** CD-ROM | disk | FTP | other *** search
- All code and documentation is exclusively (C) Richard K. Lloyd 1991.
- It is in the Public Domain and hence is freely distributable.
-
- Documentation for VKiller 2.30 - A Virus Killer/Innoculator
- -----------------------------------------------------------
-
- PLEASE NOTE:
-
- * This distribution does NOT contain any virus to the author's knowledge.
-
- * Support for versions prior to 2.20 has now been dropped (in other words,
- people reporting problems with earlier versions will simply be sent the
- latest version to try out instead).
-
- * Since the user interface is rapidly approaching stability (only the icon
- drag into the dialogue box left to implement), future versions of VKiller
- will only be released to support 'new' viruses or to fix major bugs (in
- other words, user interface revamps will take a lower priority now).
-
- VKiller is dedicated to Christine Wein, an American friend who's put up with
- my trivia for far too long ! Obviously the Army thought so too, because they
- "released" her early (May 5th)...
-
- New major features of V2.30 (see the "Docs.History" file for further details)
- ---------------------------
-
- * Restriction on max length of !Boot files (previously 5K) removed.
- * Self-check added at startup to check for viruses in VKiller$Dir.
- * ArchieVirus can now be safely removed from RMA.
- * Checks for Thanatos, Icon 1 and Icon 2 viruses added.
- * Several minor bug fixes and improvements.
-
- Introduction
- ------------
-
- Computer viruses are annoying...and that's putting it mildly. They put the
- machine's owner on constant guard for infections - usually excessive disk
- activity and strangely behaving programs are tell-tale signs. Even though
- the Archimedes has a ROM-based OS and hence no boot tracks on a disk, the
- door is still wide open for the virus writer to attack Obey files or even
- executables themselves.
-
- This is why VKiller was written, although a virus killer program is in no way
- an original idea :-) Because of the nature of Archimedes virus attacks, files
- can often be "innoculated", but more about that later.
-
- Viruses known to VKiller
- ------------------------
-
- VKiller 2.30 currently knows about the following 7 viruses:
-
- Extend Virus - attacks Desktop !Boot files and duplicates its module into the
- application directory. Infects whenever an application is
- double-clicked on. Claims 1K of RMA for every file or dir
- double-click, which it never releases, hence crashing the
- machine eventually. Can be innoculated against using &FF byte.
-
- ArchieVirus - attacks Absolute executables - appending itself to the end
- and replacing the first instruction with a branch to its code.
- Infects any executable in the current or library directories
- on any file load or save, hence causing excessive floppy
- activity. Lodges itself in RMA to allow claim of OS_File 36
- to persist. Displays an infinitely looping message on the 13th
- of any month. Can be innoculated against by appending a "1210"
- string (actually "Hypo1210"). My copy of ArchieVirus has
- faulty code and causes system errors on any subsequent OS_File
- calls. Despite this, V2.30 of VKiller onwards can now safely
- remove ArchieVirus from RMA.
-
- CeBit Virus - attacks !Boot files and duplicates its module into the
- application directory pointed to by the current setting of
- <Obey$Dir>. Performs an infection of <Obey$Dir> EVERY MINUTE
- and, after 16 successful new infections, attempts to perform a
- "*Wipe $.path.file*" (which is clearly doomed to fail !),
- followed by a graphical message. Despite the wrong filespec
- for the *Wipe command, this is a *nasty* virus and impossible
- to sensibly permanently innoculate against.
-
- Vigay Virus - creates an !Boot file (only if doesn't exist already) & copies
- itself (a 2K BASIC program) into the application directory.
- Initialises as a Wimp Task called "TaskManager" and infects
- whenever an application is run. Only thing it does is to pick
- a random time on a Thursday to "wobble" your screen and mouse
- pointer (more frequently as the day progresses) !! Innoculated
- against by creating an !Boot (VKiller puts the Extend Virus
- innoculation in too).
-
- Icon 1 Virus - The "original" Icon virus. 5K BASIC program (filetype Sprite)
- that frequently displays a random silly Wimp error on startup
- and initialises as a Wimp Task called " " (single space). Will
- infect any application run, unless run from the same disk as
- the last infected application. Innoculation not possible.
- Icon 2 Virus - Modified version of the Icon 1 virus. Shorter and missing the
- random Wimp error. Otherwise identical to Icon 1. Innoculation
- also not possible.
-
- Thanatos Virus - (Simply) Encrypted BASIC program that can perform a myriad of
- things (see Docs.ThanDoc), the most serious of which is the
- scrambling of your disk map for drives 0/4/5 or formatting the
- disk in drive 0, randomising the CMOS or wiping <Obey$Dir>.
- Faulty code generates a "No room for this DIM" error, so the
- virus never actually runs anyway. Two versions are known
- to exist (one with "debugging" code commented out by REMs and
- one without). Innoculation is not possible.
-
- Further Information
- -------------------
-
- The other documentation (in this "Docs" directory) available is as follows:
-
- ArchieDoc - Technical documentation relating to ArchieVirus.
-
- CeBitDoc - Technical documentation relating to the CeBit Virus.
-
- Credits - List of people contributing ideas, code fixes or new viruses.
-
- ExtendDoc - Technical documentation relating to the Extend Virus.
-
- History - Revision History of VKiller.
-
- IconDoc - Technical documentation relating to the two Icon Virus strains.
-
- Notice - Copyright Notice (PD organisations should read this, as should
- people requesting newer versions or supplying fixes/enhancements)
-
- Rivals - Details of other virus killers you may wish to know about.
-
- ThanDoc - Technical documentation relating to the Thanatos Virus.
-
- VigayDoc - Technical documentation relating to the Vigay Virus.
-
- Recommended procedures prior to running VKiller
- -----------------------------------------------
-
- Floppy disk users
- -----------------
-
- * Hard-reset (CTRL-BREAK or CTRL-RESET) your machine. No known virus can
- survive this.
-
- * Keep a "secure" copy of the latest VKiller on a clearly marked, write-
- protected floppy disk. Do NOT put *any* other programs on that disk.
-
- * On entry to the Desktop, ONLY open the file viewer of the disk containing
- the "secure" copy of VKiller. Do *not* open any other viewers.
-
- * Run VKiller (with a double-click) as soon as you've opened the file viewer.
- After this, file viewer restrictions can be relaxed, because VKiller will
- pick up on any viruses it knows about that are run via !Boot files.
-
- * If you wish to log the scanning, ensure that you have a RAM disk active and
- that it has 32K or more free before you toggle the "Create log file" option.
-
- * Feed in floppies one at a time and scan them. Avoid the temptation to open
- the file viewers on them unless absolutely necessary. It is advisable to
- write-protect these floppies and only write-enable them if VKiller brings up
- a warning box asking for a retry of the disk write.
-
- Hard disk users
- ---------------
-
- * Follow the same precautions as above, but it is OK to copy VKiller onto your
- hard disk. HOWEVER, this means you will have to open file viewers to get to
- VKiller itself, which leaves you vulnerable to running !Boot-infecting
- viruses.
-
- * The scan logging speed to hard disk is acceptable enough to avoid having to
- concern yourself with the RAM disk free space. You are advised to make sure
- you have "seen" an editor such as !Edit prior to any logging (easiest
- solution is to put !Edit at the top level of your hard disk or in the same
- dir as VKiller).
-
- How do I use VKiller ?
- ----------------------
-
- Double-click on the !VKiller application icon to install an icon bar icon.
- [N.B. The !Boot in the !VKiller directory has itself been innoculated
- to prevent infection of its own directory.]
-
- Once the icon bar icon appears you may press the middle button to get the
- usual Info and Quit options and the left or right button to display the
- VKiller dialogue box. When VKiller is first installed, it checks for the
- existence of any virus located in the RMA. If found, it will kill it if
- possible and warn you of the fact. The Execution/Decrement/Infection Count for
- the virus will also be displayed where appropriate. From then on, whenever an
- application is started with a known virus task name or module name, then
- the RMA is re-scanned for the offending virus. The OS_File vector chain is
- also constantly monitored for signs of an ArchieVirus infection.
-
- Self-check on startup
- ---------------------
-
- VKiller now checks its own application directory (VKiller$Dir) for disk infect-
- ion when it is started for the very first time. It does this silently with the
- dialogue box closed (unless an RMA infection is spotted prior to this, in which
- the dialogue box will be open), only opening the dialogue box if there is an
- infection in VKiller$Dir. This only adds a maximum of 2 seconds to the startup
- time (for floppy systems) and prevents VKiller from unwittingly housing (known)
- viruses in its directory.
-
- VKiller dialogue box options
- ----------------------------
-
- Filing System:
- Click on the right arrow with any mouse button to pop up a menu. This will
- allow you to select the filing system you wish to scan. Thanks to the enormous
- efforts of Philip Colmer, V2.20 onwards now supports Econet and NFS.
- If the user spitefully *RMKills the currently selected filing system, then a
- warning dialogue box will be displayed and the next available FS will be
- selected instead. If no scannable FSs are available, then VKiller will display
- a fatal error dialogue box and quit.
-
- Device:
- Again, click on the right arrow to pop up a menu: this lets you select the
- device (usually numbered from 0 for FileCore systems).
-
- Files scanned:
- This displays how many files (excluding directories, which aren't files of
- course !) have been scanned for this particular device. The count is reset
- to zero every time a new scan is started (and is now fixed if you have 1000
- or more files :-) ).
-
- Dirs scanned:
- This displays how many directories (including recursively nested ones) have
- been scanned for this particular device. The count is reset to zero every time
- a new scan is started.
-
- Dir scan:
- This line displays which directory the Drive Scan has reached so far. The only
- exception to this is when it is used to display the appropriate count
- when a virus is found. The path displayed is relative to the "root"
- directory of the current device, so usually starts with a "$" or "&". If the
- path length exceeds the width of the icon for the path text, the end of the
- path, preceded by an ellipsis ("..."), will be shown instead.
-
- Status:
- General brief messages are displayed here. This includes OS_GBPB errors
- encountered during a scan (e.g. Drive empty, Disc fault).
-
- The next four fields are self-explanatory and are counters for the number
- of times the a virus was encountered in RMA or on disk, the number of
- new innoculations and the number of Drive Scans so far (this latter figure
- is only incremented when a FULL scan is performed right to the end).
-
- Start scan:
- Clicking on this will start a Drive Scan (and the highlighted button label
- becomes "Stop Scan"). It may be stopped at any time by clicking on the
- (relabelled) button again, but this does not increment the Drive Scan counter.
-
- Innoculate during scan:
- Clicking on this will toggle the option to innoculate ALL !Boot files with the
- Obey (&FEB) filetype and ALL executables encountered during the scan. If it is
- not selected, then any !Boot or executable files infected with one of the
- known viruses will still be innoculated anyway. Note that VKiller claims an
- initial 2K of RMA for loading !Boot files, but can now automatically adjust the
- size of this buffer if necessary (OK, it just releases and reclaims a bigger
- space :-) ).
-
- Create log file:
- Clicking on this will toggle the option to create a log file. However, you
- are only advised to enable this option if:
-
- 1. VKiller is installed on a hard disk or you have a RAM disk with at least
- 32K free. If you don't meet either of those criteria, then the log file
- will be created on floppy (<VKiller$Dir> to be exact) and may lead to
- excessive disk activity.
-
- 2. You have "seen" an editor such as !Edit, because the log file is loaded into
- an editor if one is available. If an editor is unavailable, a simple static
- output window will appear and the text will inevitably scroll off the screen
- before you have a chance to read it !
-
- The Application Icon
- --------------------
-
- This is the icon/text located in the top-right hand corner of the VKiller
- dialogue box. When VKiller is first loaded, the icon will match VKiller's
- Filer icon (the text will say "Idle" indicating that no scan is in progress).
- When a scan is started, the following rules are obeyed as to the update of
- the icon:
-
- * If the directory name begins with an "!" character, then
- either:
- 1) display the application icon if it is present in RMA already
- (e.g. by opening a Filer window, which caches the icons)
- 2) display the standard Archimedes "application" icon if it isn't in RMA
-
- * If the directory name doesn't begin with an "!", then just display the
- standard Archimedes "directory" icon.
-
- At the end of the scan, the icon will return to its original VKiller Filer
- icon state (and the "Idle" text will reappear).
-
- Notes about the Drive Scan
- --------------------------
-
- The Drive Scan is fully multi-tasking and the VKiller dialogue box does NOT
- need to be open during the scan. If the dialogue box is closed during a scan,
- then it will be automatically re-opened (or brought to the front if it is
- already open) when an infection is found or the Drive Scan has finished.
-
- If the system is infected mid-way through a Drive Scan, then any virus module
- will be automatically killed and the dialogue box will be re-opened (as it
- would be if a virus module was run at any time) with a suitable message. At
- the end of that Drive Scan, you are advised that the drive may still be
- infected, in which case you should re-scan that drive (and the drive that
- caused the infection in the first place).
-
- During a Drive Scan, VKiller requires 1K of RMA per directory level (a failed
- RMA claim will cause that dir to be skipped).
-
- Request For Viruses
- -------------------
-
- Yes, this is a strange thing to ask, but could people in possession of a virus
- please send it to the address at the end of this document ? Please mark the
- disc (or e-mail !) clearly that it contains a virus. I would like VKiller to
- evolve to cope with other viruses (I know that there a few others floating
- around, so I'd appreciate anyone's assistance in tracking them down). Please
- include EVERYTHING relating to the virus (including !Boot and !Run files in
- particular, as well as the virus program itself).
-
- Future Enhancements to VKiller
- ------------------------------
-
- * Add support for killing (or innoculating against) other viruses. This is
- a never-ending task :-(
-
- * Allow a file or directory to be dragged onto the dialogue box for analysis.
-
- * Add an option to REMOVE innoculation (some executables may check their own
- length and complain for instance).
-
- Where to send your viruses, bug reports, fixes, enhancements etc.
- -----------------------------------------------------------------
-
- Snail Mail: JANET e-mail:
-
- Richard K. Lloyd, rkl@uk.ac.liv.cs.and
- 1, Banks Road,
- Lower Heswall,
- Wirral,
- Merseyside,
- Great Britain
- L60 9JS
-