home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 1 / ARM_CLUB_CD.iso / contents / apps / virus / progs / vkiller / !VKiller_Docs_!ReadMe < prev    next >
Encoding:
Text File  |  1991-06-02  |  15.9 KB  |  346 lines

  1. All code and documentation is exclusively (C) Richard K. Lloyd 1991.
  2. It is in the Public Domain and hence is freely distributable.
  3.  
  4. Documentation for VKiller 2.30 - A Virus Killer/Innoculator
  5. -----------------------------------------------------------
  6.  
  7. PLEASE NOTE:
  8.  
  9. * This distribution does NOT contain any virus to the author's knowledge.
  10.  
  11. * Support for versions prior to 2.20 has now been dropped (in other words,
  12.   people reporting problems with earlier versions will simply be sent the
  13.   latest version to try out instead).
  14.  
  15. * Since the user interface is rapidly approaching stability (only the icon
  16.   drag into the dialogue box left to implement), future versions of VKiller
  17.   will only be released to support 'new' viruses or to fix major bugs (in
  18.   other words, user interface revamps will take a lower priority now).
  19.  
  20. VKiller is dedicated to Christine Wein, an American friend who's put up with
  21. my trivia for far too long ! Obviously the Army thought so too, because they
  22. "released" her early (May 5th)...
  23.  
  24. New major features of V2.30 (see the "Docs.History" file for further details)
  25. ---------------------------
  26.  
  27. * Restriction on max length of !Boot files (previously 5K) removed.
  28. * Self-check added at startup to check for viruses in VKiller$Dir.
  29. * ArchieVirus can now be safely removed from RMA.
  30. * Checks for Thanatos, Icon 1 and Icon 2 viruses added.
  31. * Several minor bug fixes and improvements.
  32.  
  33. Introduction
  34. ------------
  35.  
  36. Computer viruses are annoying...and that's putting it mildly. They put the
  37. machine's owner on constant guard for infections - usually excessive disk
  38. activity and strangely behaving programs are tell-tale signs. Even though
  39. the Archimedes has a ROM-based OS and hence no boot tracks on a disk, the
  40. door is still wide open for the virus writer to attack Obey files or even
  41. executables themselves.
  42.  
  43. This is why VKiller was written, although a virus killer program is in no way
  44. an original idea :-) Because of the nature of Archimedes virus attacks, files
  45. can often be "innoculated", but more about that later.
  46.  
  47. Viruses known to VKiller
  48. ------------------------
  49.  
  50. VKiller 2.30 currently knows about the following 7 viruses:
  51.  
  52. Extend Virus   - attacks Desktop !Boot files and duplicates its module into the
  53.                  application directory. Infects whenever an application is
  54.                  double-clicked on. Claims 1K of RMA for every file or dir
  55.                  double-click, which it never releases, hence crashing the
  56.                  machine eventually. Can be innoculated against using &FF byte.
  57.  
  58. ArchieVirus    - attacks Absolute executables - appending itself to the end
  59.                  and replacing the first instruction with a branch to its code.
  60.                  Infects any executable in the current or library directories
  61.                  on any file load or save, hence causing excessive floppy
  62.                  activity. Lodges itself in RMA to allow claim of OS_File 36
  63.                  to persist. Displays an infinitely looping message on the 13th
  64.                  of any month. Can be innoculated against by appending a "1210"
  65.                  string (actually "Hypo1210"). My copy of ArchieVirus has
  66.                  faulty code and causes system errors on any subsequent OS_File
  67.                  calls. Despite this, V2.30 of VKiller onwards can now safely
  68.                  remove ArchieVirus from RMA.
  69.  
  70. CeBit Virus    - attacks !Boot files and duplicates its module into the
  71.                  application directory pointed to by the current setting of
  72.                  <Obey$Dir>. Performs an infection of <Obey$Dir> EVERY MINUTE
  73.                  and, after 16 successful new infections, attempts to perform a
  74.                  "*Wipe $.path.file*" (which is clearly doomed to fail !),
  75.                  followed by a graphical message. Despite the wrong filespec
  76.                  for the *Wipe command, this is a *nasty* virus and impossible
  77.                  to sensibly permanently innoculate against.
  78.  
  79. Vigay Virus    - creates an !Boot file (only if doesn't exist already) & copies
  80.                  itself (a 2K BASIC program) into the application directory.
  81.                  Initialises as a Wimp Task called "TaskManager" and infects
  82.                  whenever an application is run. Only thing it does is to pick
  83.                  a random time on a Thursday to "wobble" your screen and mouse
  84.                  pointer (more frequently as the day progresses) !! Innoculated
  85.                  against by creating an !Boot (VKiller puts the Extend Virus
  86.                  innoculation in too).
  87.  
  88. Icon 1 Virus   - The "original" Icon virus. 5K BASIC program (filetype Sprite)
  89.                  that frequently displays a random silly Wimp error on startup
  90.                  and initialises as a Wimp Task called " " (single space). Will
  91.                  infect any application run, unless run from the same disk as
  92.                  the last infected application. Innoculation not possible.        
  93. Icon 2 Virus   - Modified version of the Icon 1 virus. Shorter and missing the
  94.                  random Wimp error. Otherwise identical to Icon 1. Innoculation
  95.                  also not possible.
  96.  
  97. Thanatos Virus - (Simply) Encrypted BASIC program that can perform a myriad of
  98.                  things (see Docs.ThanDoc), the most serious of which is the
  99.                  scrambling of your disk map for drives 0/4/5 or formatting the
  100.                  disk in drive 0, randomising the CMOS or wiping <Obey$Dir>.
  101.                  Faulty code generates a "No room for this DIM" error, so the
  102.                  virus never actually runs anyway. Two versions are known
  103.                  to exist (one with "debugging" code commented out by REMs and
  104.                  one without). Innoculation is not possible.
  105.  
  106. Further Information
  107. -------------------
  108.  
  109. The other documentation (in this "Docs" directory) available is as follows:
  110.  
  111. ArchieDoc   - Technical documentation relating to ArchieVirus.
  112.  
  113. CeBitDoc    - Technical documentation relating to the CeBit Virus.
  114.  
  115. Credits     - List of people contributing ideas, code fixes or new viruses.
  116.  
  117. ExtendDoc   - Technical documentation relating to the Extend Virus.
  118.  
  119. History     - Revision History of VKiller.
  120.  
  121. IconDoc     - Technical documentation relating to the two Icon Virus strains.
  122.  
  123. Notice      - Copyright Notice (PD organisations should read this, as should
  124.               people requesting newer versions or supplying fixes/enhancements)
  125.  
  126. Rivals      - Details of other virus killers you may wish to know about.
  127.  
  128. ThanDoc     - Technical documentation relating to the Thanatos Virus.
  129.  
  130. VigayDoc    - Technical documentation relating to the Vigay Virus.
  131.  
  132. Recommended procedures prior to running VKiller
  133. -----------------------------------------------
  134.  
  135. Floppy disk users
  136. -----------------
  137.  
  138. * Hard-reset (CTRL-BREAK or CTRL-RESET) your machine. No known virus can
  139.   survive this.
  140.  
  141. * Keep a "secure" copy of the latest VKiller on a clearly marked, write-
  142.   protected floppy disk. Do NOT put *any* other programs on that disk.
  143.  
  144. * On entry to the Desktop, ONLY open the file viewer of the disk containing
  145.   the "secure" copy of VKiller. Do *not* open any other viewers.
  146.  
  147. * Run VKiller (with a double-click) as soon as you've opened the file viewer.
  148.   After this, file viewer restrictions can be relaxed, because VKiller will
  149.   pick up on any viruses it knows about that are run via !Boot files.
  150.  
  151. * If you wish to log the scanning, ensure that you have a RAM disk active and
  152.   that it has 32K or more free before you toggle the "Create log file" option.
  153.  
  154. * Feed in floppies one at a time and scan them. Avoid the temptation to open
  155.   the file viewers on them unless absolutely necessary. It is advisable to
  156.   write-protect these floppies and only write-enable them if VKiller brings up
  157.   a warning box asking for a retry of the disk write.
  158.  
  159. Hard disk users
  160. ---------------
  161.  
  162. * Follow the same precautions as above, but it is OK to copy VKiller onto your
  163.   hard disk. HOWEVER, this means you will have to open file viewers to get to
  164.   VKiller itself, which leaves you vulnerable to running !Boot-infecting
  165.   viruses.
  166.  
  167. * The scan logging speed to hard disk is acceptable enough to avoid having to
  168.   concern yourself with the RAM disk free space. You are advised to make sure
  169.   you have "seen" an editor such as !Edit prior to any logging (easiest
  170.   solution is to put !Edit at the top level of your hard disk or in the same
  171.   dir as VKiller).
  172.  
  173. How do I use VKiller ?
  174. ----------------------
  175.  
  176. Double-click on the !VKiller application icon to install an icon bar icon.
  177. [N.B. The !Boot in the !VKiller directory has itself been innoculated
  178.       to prevent infection of its own directory.]
  179.  
  180. Once the icon bar icon appears you may press the middle button to get the
  181. usual Info and Quit options and the left or right button to display the
  182. VKiller dialogue box. When VKiller is first installed, it checks for the
  183. existence of any virus located in the RMA. If found, it will kill it if
  184. possible and warn you of the fact. The Execution/Decrement/Infection Count for
  185. the virus will also be displayed where appropriate. From then on, whenever an
  186. application is started with a known virus task name or module name, then
  187. the RMA is re-scanned for the offending virus. The OS_File vector chain is
  188. also constantly monitored for signs of an ArchieVirus infection.
  189.  
  190. Self-check on startup
  191. ---------------------
  192.  
  193. VKiller now checks its own application directory (VKiller$Dir) for disk infect-
  194. ion when it is started for the very first time. It does this silently with the
  195. dialogue box closed (unless an RMA infection is spotted prior to this, in which
  196. the dialogue box will be open), only opening the dialogue box if there is an
  197. infection in VKiller$Dir. This only adds a maximum of 2 seconds to the startup
  198. time (for floppy systems) and prevents VKiller from unwittingly housing (known)
  199. viruses in its directory.
  200.  
  201. VKiller dialogue box options
  202. ----------------------------
  203.  
  204. Filing System:
  205. Click on the right arrow with any mouse button to pop up a menu. This will
  206. allow you to select the filing system you wish to scan. Thanks to the enormous
  207. efforts of Philip Colmer, V2.20 onwards now supports Econet and NFS.
  208. If the user spitefully *RMKills the currently selected filing system, then a
  209. warning dialogue box will be displayed and the next available FS will be
  210. selected instead. If no scannable FSs are available, then VKiller will display
  211. a fatal error dialogue box and quit.
  212.  
  213. Device:
  214. Again, click on the right arrow to pop up a menu: this lets you select the
  215. device (usually numbered from 0 for FileCore systems).
  216.  
  217. Files scanned:
  218. This displays how many files (excluding directories, which aren't files of
  219. course !) have been scanned for this particular device. The count is reset
  220. to zero every time a new scan is started (and is now fixed if you have 1000
  221. or more files :-) ).
  222.  
  223. Dirs scanned:
  224. This displays how many directories (including recursively nested ones) have
  225. been scanned for this particular device. The count is reset to zero every time
  226. a new scan is started.
  227.  
  228. Dir scan:
  229. This line displays which directory the Drive Scan has reached so far. The only
  230. exception to this is when it is used to display the appropriate count
  231. when a virus is found. The path displayed is relative to the "root"
  232. directory of the current device, so usually starts with a "$" or "&". If the
  233. path length exceeds the width of the icon for the path text, the end of the
  234. path, preceded by an ellipsis ("..."), will be shown instead.
  235.  
  236. Status:
  237. General brief messages are displayed here. This includes OS_GBPB errors
  238. encountered during a scan (e.g. Drive empty, Disc fault).
  239.  
  240. The next four fields are self-explanatory and are counters for the number
  241. of times the a virus was encountered in RMA or on disk, the number of
  242. new innoculations and the number of Drive Scans so far (this latter figure
  243. is only incremented when a FULL scan is performed right to the end).
  244.  
  245. Start scan:
  246. Clicking on this will start a Drive Scan (and the highlighted button label
  247. becomes "Stop Scan"). It may be stopped at any time by clicking on the
  248. (relabelled) button again, but this does not increment the Drive Scan counter.
  249.  
  250. Innoculate during scan:
  251. Clicking on this will toggle the option to innoculate ALL !Boot files with the
  252. Obey (&FEB) filetype and ALL executables encountered during the scan. If it is
  253. not selected, then any !Boot or executable files infected with one of the
  254. known viruses will still be innoculated anyway. Note that VKiller claims an
  255. initial 2K of RMA for loading !Boot files, but can now automatically adjust the
  256. size of this buffer if necessary (OK, it just releases and reclaims a bigger
  257. space :-) ).
  258.  
  259. Create log file:
  260. Clicking on this will toggle the option to create a log file. However, you
  261. are only advised to enable this option if:
  262.  
  263. 1. VKiller is installed on a hard disk or you have a RAM disk with at least
  264.    32K free. If you don't meet either of those criteria, then the log file
  265.    will be created on floppy (<VKiller$Dir> to be exact) and may lead to
  266.    excessive disk activity.
  267.  
  268. 2. You have "seen" an editor such as !Edit, because the log file is loaded into
  269.    an editor if one is available. If an editor is unavailable, a simple static
  270.    output window will appear and the text will inevitably scroll off the screen
  271.    before you have a chance to read it !
  272.  
  273. The Application Icon
  274. --------------------
  275.  
  276. This is the icon/text located in the top-right hand corner of the VKiller
  277. dialogue box. When VKiller is first loaded, the icon will match VKiller's
  278. Filer icon (the text will say "Idle" indicating that no scan is in progress).
  279. When a scan is started, the following rules are obeyed as to the update of
  280. the icon:
  281.  
  282. * If the directory name begins with an "!" character, then
  283.   either:
  284.     1) display the application icon if it is present in RMA already
  285.        (e.g. by opening a Filer window, which caches the icons)
  286.     2) display the standard Archimedes "application" icon if it isn't in RMA
  287.  
  288. * If the directory name doesn't begin with an "!", then just display the
  289.   standard Archimedes "directory" icon.
  290.  
  291. At the end of the scan, the icon will return to its original VKiller Filer
  292. icon state (and the "Idle" text will reappear).
  293.  
  294. Notes about the Drive Scan
  295. --------------------------
  296.  
  297. The Drive Scan is fully multi-tasking and the VKiller dialogue box does NOT
  298. need to be open during the scan. If the dialogue box is closed during a scan,
  299. then it will be automatically re-opened (or brought to the front if it is
  300. already open) when an infection is found or the Drive Scan has finished.
  301.  
  302. If the system is infected mid-way through a Drive Scan, then any virus module
  303. will be automatically killed and the dialogue box will be re-opened (as it
  304. would be if a virus module was run at any time) with a suitable message. At
  305. the end of that Drive Scan, you are advised that the drive may still be
  306. infected, in which case you should re-scan that drive (and the drive that
  307. caused the infection in the first place).
  308.  
  309. During a Drive Scan, VKiller requires 1K of RMA per directory level (a failed
  310. RMA claim will cause that dir to be skipped).
  311.  
  312. Request For Viruses
  313. -------------------
  314.  
  315. Yes, this is a strange thing to ask, but could people in possession of a virus
  316. please send it to the address at the end of this document ? Please mark the
  317. disc (or e-mail !) clearly that it contains a virus. I would like VKiller to
  318. evolve to cope with other viruses (I know that there a few others floating
  319. around, so I'd appreciate anyone's assistance in tracking them down). Please
  320. include EVERYTHING relating to the virus (including !Boot and !Run files in
  321. particular, as well as the virus program itself).
  322.  
  323. Future Enhancements to VKiller
  324. ------------------------------                               
  325.  
  326. * Add support for killing (or innoculating against) other viruses. This is
  327.   a never-ending task :-(
  328.  
  329. * Allow a file or directory to be dragged onto the dialogue box for analysis.
  330.  
  331. * Add an option to REMOVE innoculation (some executables may check their own
  332.   length and complain for instance).
  333.  
  334. Where to send your viruses, bug reports, fixes, enhancements etc.
  335. -----------------------------------------------------------------
  336.  
  337. Snail Mail:             JANET e-mail:
  338.  
  339. Richard K. Lloyd,       rkl@uk.ac.liv.cs.and
  340. 1, Banks Road,
  341. Lower Heswall,
  342. Wirral,
  343. Merseyside,
  344. Great Britain
  345. L60 9JS
  346.