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

  1. This is very detailed (although stopping short of a disassembly of course)
  2. description of the Thanatos Virus. It is strongly recommended reading, if only
  3. to give you a better understanding of how the virus operates.
  4.  
  5. Thanatos Virus technical information
  6. ------------------------------------
  7.  
  8. This is an encrypted (simple EOR with &7A, lower-case "z") BASIC program
  9. (crypted = 11756 (&2DEC) bytes long, TOP-PAGE of BASIC program = 7660 (&1DEC)
  10. bytes) called "RISCOSext" with a filetype of Absolute (yes, a very poor piece
  11. of ARM code decrypts and runs it and wastes nearly 4K of space between &8100
  12. and &9000 !). Associated with it is a Sprite file (actually of filetype Module)
  13. called "TaskAlloc", which is 344 bytes long containing a rude sprite to replace
  14. the mouse pointer..
  15.  
  16. When run, it installs itself as a Wimp task named "Thanatos" and then looks
  17. for double-clicks to infect application directories (copies the RISCOSext
  18. and TaskAlloc files into there and then appends the 'usual' string to the !Boot
  19. file (to run RISCOSext).
  20.  
  21. The nasty section of the Thanatos Virus REALLY IS nasty, so I urge you to
  22. study this carefully. Here's a list of things that can happen:
  23.  
  24. Rough once every 100000 times around the Wimp_Poll loop, Thanatos can:
  25.  
  26. * 2 out of 13 chances: Shut down icon bar application at random (whilst
  27.   displaying its own icon bar icon during the shutdown).
  28.  
  29. * 1 out of 13 chances: Cause a Desktop Quit.
  30.  
  31. * 3 out of 13 chances: Reverse the mouse pointer step (sets it -2).
  32.  
  33. * 1 out of 13 chances: Crash the machine by poking a duff instr at the start
  34.   of memory.
  35.  
  36. * 1 out of 13 chances: Randomise the 240 bytes of CMOS.
  37.  
  38. * 4 out of 13 chances: Randomly display one of 8 very rude messages - one of
  39.   which also changes the mouse pointer shape to a rude graphic and another
  40.   will also shutdown an icon bar application (the same routine as above).
  41.  
  42. * 1 out of 13 chances: Wipe the contents of <Obey$Dir>.
  43.  
  44. It also has a "special date" section as follows:
  45.  
  46. Any Friday 13th: Advertises its own "virus killer" (from Armen Software).
  47.  
  48. April 1st: 10 Address exception errors, followed by coloured rectangles and
  49. a 'stuck' mouse pointer for 10 seconds. An "April Fool" message is then
  50. displayed.
  51.  
  52. December 25th: Destroys the disk map of ADFS drives 0, 4 and 5 followed by
  53. a "Merry Chrimble" message.
  54.  
  55. October 31st: Formats the floppy in drive 0, followed by a "Spooky" message.
  56.  
  57. January 1st: As December 25th, but followed by a New Year's Resolution
  58. message (to keep your disks write-protected :-( ).
  59.  
  60. Killing the Thanatos Virus (which one ??)
  61. --------------------------
  62.  
  63. There appears to be *TWO* versions of the Thanatos Virus - one with debugging
  64. REM statements (usually with the string "*dbg*" in them) and one without.
  65. However, both appear to be identical in function, so I've treated them both
  66. as the same virus. To kill them, simply sending a Message_Quit to the Wimp Task
  67. isn't good enough (comes back with a rude message if you do). VKiller modifies
  68. the BASIC program ("in situ") to quit properly - after checking whether it is
  69. the 'debug' version or not.
  70.  
  71. My copy of the Thanatos virus has a major fault - it uses the END=<expression>
  72. syntax to adjust BASIC's memory usage, but gives too low a value - hence it
  73. never runs properly (immediately crashes with "No room for this DIM" error).
  74. For purposes of testing, I boosted the END value (on the assumption that the
  75. virus author would eventually fix this mistake).
  76.  
  77. Thanatos Virus Innoculation
  78. ---------------------------
  79.  
  80. Temporary innoculation can be achieved by setting Sys$Path to any value
  81. (VKiller's !Boot now does this), because this is checked by the Thanatos
  82. Virus to see if it is already present in the system. Permanent innoculation
  83. is not possible.
  84.