home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d556 / viruschecker.lha / VirusChecker / Virus_Checker.doc < prev    next >
Text File  |  1991-10-28  |  37KB  |  741 lines

  1. Virus Checker
  2. -------------
  3.    This Program
  4.  
  5. Virus_Checker is a freely distributable, copyrighted piece of software.
  6. You do not have to pay money to use it, and may upload it wherever you
  7. choose, but you are not allowed to sell Virus_Checker for profit, or
  8. include Virus_Checker on a disk which is sold for profit, without the
  9. author's (John Veldthuis) permission.
  10. Commodore New Zealand Have this permission already
  11.  
  12. Money is not solicited but would be welcome.
  13. I can be contacted at the address below.
  14.  
  15. Please send me any more new viruses so I can update Virus_Checker
  16.  
  17. But please don't send a letter asking for a copy without sending me at
  18. least a disk to send it back on. I just cannot afford to do this.
  19.  
  20. John Veldthuis
  21. 21 Ngatai Street
  22. Manaia, Taranaki
  23. New Zealand
  24. Phone  (0624) 8409
  25.  
  26. Email addresses:
  27. FIDO    3:771/400.0
  28. USENET    johnv@tower.actrix.gen.nz
  29.  
  30.  
  31. I have been asked to include the following:
  32.  
  33. Virus_Checker can be kept up to date thanks to the energy and work put into
  34. a global anti-virus information bank founded by Erik Løvendahl Sørensen
  35. from Denmark.
  36.  
  37.   This group has over 120 international members now, among them some of the
  38. programmers of wellknown anti-virus programs like Steve Tibbet and Jonathan
  39. Potter.  Among the activities of this group are:
  40.  
  41. - Spreading information to anti-virus programmers as fast as
  42.   possible.
  43. - Trying to get names and proof against virus programmers and
  44.   giving the information to the justice departement of his/her
  45.   country to press charges.
  46. - Writing articles in popular magazines to inform new Amiga
  47.   users about viruses and how to protect themselves.
  48.  
  49.   All this is volunteer work.  If you want some more information about this
  50. organization or you want to sponsor our work, contact Erik at the following
  51. address:
  52.  
  53.    Erik Løvendahl Sørensen
  54.    Snaphanevej 10
  55.    4720 Præstø
  56.    Denmark - Europe
  57.  
  58.    Phone: 00 45 53 79 25 12
  59.    Fidonet 2:230/114.26
  60.  
  61. To use Virus_Checker , place in your startup-sequence the following line
  62.  
  63. Virus_Checker
  64.  
  65. this will run virus_checker
  66.  
  67. or from the CLI Type Virus_Checker and hit return.
  68.  
  69. **New features**
  70. ----------------
  71. New Features added to Virus_Checker are added to the command line
  72. the syntax is Virus_Checker -l### -t### -w### -b -q -n dirname
  73. where ### is any decimal number
  74.  
  75. -l### tells Virus_Checker  how far from the left edge of the screen to open
  76.       the Virus_Checker window
  77. -t### tells Virus_Checker how far down from the top edge of the screen to
  78.       open the Virus_Checker window
  79. -w### tells Virus_Checker how wide you want the window. It has a maximum
  80.       size of 386 pixels and a minimum of 200. Any numbers out of this
  81.       range are ignored
  82. -b    tells Virus_Checker to send it's window to the back of all the other
  83.       open windows
  84. -n    Tells Virus_Checker not to open a window. It will check memory and
  85.       disks inserted but you will have to use the ARexx port to get it to
  86.       Scan the whole disk for Link/File viruses.
  87.       To stop VC run VC again or use the ARexx port.
  88. -q    Virus_Checker will check all memory, files, and disks for viruses
  89.       then exit. To check the dh0: partition and exit do the following
  90.       Virus_Checker -q dh0:
  91.       This will check memory, disks, files, and dh0:, then exit
  92.  
  93. dirname is the directory/file you want checked for File Viruses on startup
  94.      An example to open the window at x/y postion of 200/100 and check DH0:
  95.     is Virus_Checker -l200 -t100 dh0:
  96.  
  97. Any values outside the size of the WB screen are ignored and any non
  98. numerical values are ignored. There must be no spaces between the options
  99. and the numbers. Options may be given in any order.
  100.  
  101. ***  AREXX PORT added ***
  102. -------------------------
  103. An Arexx port has been added to VC so you can make VC do things from an
  104. ARexx script. The port name is  Virus_Checker Beware that case is
  105. important and ARexx will not find it if the name is not spelt right.
  106. Here is and example
  107. address 'Virus_Checker'    /* Talk to Virus_Checker  */
  108. 'checkdrive\df0:'          /* Make virus_Checker check df0: for viruses */
  109. 'quit'                     /* Make Virus_Checker shut down */
  110.  
  111. Notice the '\' between the command and the drive name in the middle
  112. example. This must be put between all commands and their options. 'quit'
  113. does not take an option so does not need the '\' character there.
  114. Virus_Checker will take the following commands
  115.  
  116. checkdrive\drivename      Check drive drivename for file viruses.
  117. quit                      Make Virus_Checker shut down.
  118.  
  119. None of the ARexx commands returns results to Arexx.
  120.  
  121.  
  122. As from Version 5.27
  123. --------------------
  124. If Virus_Checker is already running and you give it a blank command line
  125. then it will ask you if you want to stop Virus_Checker. If you give it a
  126. directory/File name then it will be passed on to the running Checker and
  127. the scan will start straight away.
  128. If you select the VC window and press the s key this will bring up the disk
  129. scan requester (same as right mouse button) and if you press the m key, VC
  130. will do another complete memory scan.
  131.  
  132. Upon running Virus_Checker will first check your memory for viruses
  133. and tell you if any where detected. They will either be removed or
  134. disabled. Next all disks in the drives will be checked. Any disk put
  135. into any drive (df0: to df3:) will be checked. The rest is easy
  136. Sometimes the machine may GURU when it disables the LAMER Exterminator
  137. virus in memory but if you reboot it should be gone.
  138.  
  139. Keys Active when Virus_Checker window is active
  140. -----------------------------------------------
  141. The Following keys will activate the fllowing functions
  142.  
  143. s -    Will activate the Scan mode (Same as right mouse button)
  144. m -    Will immediatley do a complete memory scan (same as startup)
  145. f -    Will activate the Saddam Disk Scan (used to fix Saddam virus damage)
  146. 0 - 3  Will check the First File in startup-sequence and bootblock on disk
  147.        in drive which matches number
  148.  
  149.  
  150. Link/File virus check
  151. ---------------------
  152. If you want to check a disk for Link/File viruses then put the disk in
  153. any drive. Make sure the Virus_Checker window is active the press and
  154. release the right mouse button (or press s key).
  155. This will bring up a requester asking you which drive to check.  Enter the
  156. drive name in the box, eg.  DF0:, DH1:,RAD:  etc.  It will then check all
  157. the files on that drive.  You can also enter directories if you want to eg,
  158. c:  df0:c, df0:libs etc
  159. When Virus_Checker is scanning the disk and you know that a directory is
  160. clear and don't want to check it press control-d in the window with the
  161. filenames and Virus_Checker will ignore that directory and go back up one
  162. level.
  163. If you want to stop the check completely press control-c in the window with
  164. the filenames and Virus_Checker will print a break message then stop
  165. scanning the disk and go back to normal scanning.
  166.  
  167. If Virus_Checker brings a requester up that says a program just run has
  168. infected your memory with the Xeno Virus, it has already disabled it.
  169. You should immediatly check all files on the disks that are in the drives
  170. at that time. This means that a program that you just ran or a program
  171. some other program just ran is infected with the virus and all files
  172. should be checked to find out which one it was.
  173.  
  174. With viruses which use a RomTag I have decided to clear out all RomTags to
  175. make sure I remove the Viruses from the list. In doing this you will lose
  176. things like Recoverable ram disks such as RAD:, VD0: etc. If You have a
  177. virus make sure that you save anything in the ram disks that you want
  178. before rebooting. The ramdisks and others will disappear on a reboot.
  179. My policy is better safe than sorry.
  180.  
  181. If VC finds a disk infected with the Saddam virus, then it is best to run
  182. the FixSaddam program over the infected disk to recover any stuff the virus
  183. may have altered. This will be in the form Volume XXX has a Read/Write
  184. error. FixSaddam will fix most of the damage done by the virus but cannot
  185. recover anything if the virus ha been triggered.
  186.  
  187. BRAINFILE ADDITION
  188. ------------------
  189. I have added a BrainFile to Virus_Checker as of Version 5.13. When VC
  190. finds a Non-Standard bootblock It will bring up 4 gadgets. The new Gadget
  191. id Learn. Pressing this will allow VC to remember this BootBlock and
  192. not bother you aging with it.
  193. To do this VC writes a file called VCBrainFile to the S: directory.
  194. If you have a single drive this will invoke a requester asking that
  195. Volume something be put in the drive. This will then save to the file.
  196. On Startup VC will check for the file in the S: directory and read it
  197. if it is there. If not it will carry on without it. If you get an error
  198. then VC will tell you about it and will happily write over the file next
  199. time.
  200.  
  201.  
  202. Versions
  203. --------
  204. V1.0  was an arp.library version
  205. V1.1  was an port to the normal libraries
  206. V1.2  had the ByteBandit virus detection added into it
  207. V1.3  had detection of the 3 Viruses in memory and removal of them
  208. V1.4  added code to detect + remove the Byte Warrior Virus from memory
  209.       and disk
  210. V1.41 found a slight bug when using DSM to disassemble this
  211.       the program was testing low memory instead of a value when
  212.       checking for the Revenge Virus
  213. V1.42 changed code to be assembled by the CAPE 68K assembler
  214.       which is much faster than A68k or Assem. Now also uses base register
  215.       addressing mode for data access
  216. V1.43 changed code to cut down executable code
  217. V2.0  added Pentagon, System Z, North Star, Obelisk and the
  218.       new IRQ virus which lives in files and not in the Boot Block
  219. V2.1  corrected a few little bugs in program
  220. V3.0  Did a listing of Source code and found many bugs
  221.       Did a major rewrite to clean it up and saved about 400 bytes
  222. V3.0  now checks for the viruses listed
  223.       SCA, AEK, Byte Bandit, Byte Warrior, Revenge, Pentagon Circle
  224.       System Z, North Star, Obelisk, Disk-Doktors and the latest IBM
  225.       type virus the IRQ virus.
  226. V3.01 got a new virus. Lamer Exterminator. added code to get rid of it
  227. V3.02 got a second Version of the LAmer Exterminator virus
  228. V3.03 After many requests decided to add checking of BootGirl
  229.       BootBlocks which where being registered as Non-Standard. It now
  230.       Just Ignores BootGirl BootBlocks
  231. V4.00 Updated to make better use of the Stack. Now store all variables
  232.       on the stack for a saving of 124 bytes in the Executable
  233. V4.10 TimeBomb virus added to code
  234. V4.20 Altered startup code to start a separate process to avoid doing
  235.       a RunBack -2 Virus_checker
  236. V4.22 Added Gadaffi virus to checker
  237. V4.23 Found a potentially Fatal Error in Code When accessing Unit
  238.       Byte off the Stack.
  239. V4.24 Added Graffiti, Ultra Fox, and Phantasmumble Viruses
  240.       Don't actually have these last 3 viruses so Anyone please send them
  241.       To me if you find them. Still looking for the IRQ Virus as well
  242. V4.25 Added BSG9 virus to code
  243. V4.26 Changed Error Checking on BSG9 virus abit
  244. V4.27 Got the War Hawks virus and added it. Also added V3 of Lamer
  245.       exterminator virus. Changed checking for BSG9 virus. Now checks
  246.       when disk is inserted into drive
  247. V4.28 Found I was losing the memory that was used by the program when
  248.       it exited. This was caused by me not UnLoading the Segment used for
  249.       The program. Fixed
  250. V4.29 Found program got into a continuous loop when there where no RomTags
  251.       present in the system. Fixed
  252.       Also cut code size down abit more by combining a few checks
  253. V4.30 Put further checking in for the BSG9 virus as sometimes the checker
  254.       would not find the file on the disk depending on which directory
  255.       it was in. Put VKill virus checking in
  256.       Also Ultra Fox and PVLProtector virus checking in
  257. V4.40 Put in DosSpeed virus and an Unknown virus.It does not have any names 
  258.       at all
  259. V4.41 Stopped Requester that comes up after pulling disk out. 
  260. V4.42 Added JITR virus which was sent to me by Jonathan Potter (AUST)
  261. V4.43 Added MicroSystems virus checking to code
  262.       and BootBlock checking of the HCS II, Opapa, BackFlash, and
  263.       Australian Parasite viruses
  264. V4.44 Changed code around abit to get better use of tables
  265.       and added Xeno virus check for Memory only
  266. V5.00 Changed user interface to give a new look and better messages
  267. V5.01 Major Bug repaired. V5.00 GURU'ed when checking disk. Worked with
  268.       68020 CPU but failed on standard Amiga's due to a bad address.
  269. V5.02 Was not checking startup-sequence properly when disk was put in 
  270.       3 1/2" drive when a filename was given as C:SetCPU or something like
  271.       that. Came up with a strange filename not being checked. Fixed
  272.       Added second version of Byte Bandit Virus, Someone hacked it
  273.       Added code to remove Xeno virus from files
  274. V5.03 Slight bug corrected in code
  275. V5.04 Have changed this from PD to Freely Redistributable after an offer
  276.       from someone to sell Virus_Checker. I feel this still needs to be
  277.       at minimal (copying charge) or no charge to be effective.
  278.       Also cleaned up the code abit. This may introduce new bugs so
  279.       please tell me about them if you find them
  280.       Added checking of IRQ virus when checking for Xeno files on disk.
  281.       As the file is in the buffer already this adds very litle extra
  282.       time to the check. And better safe than sorry.
  283. V5.05 Changed text when Xeno Virus found after a program has been run
  284.       to warn that the program just run maybe the culprit
  285. V5.06 Added 16 Bit crew Virus, New Alien Beat Virus, Digital Emotions
  286.       virus, Graffiti Virus, two new versions of the Byte Bandit virus,
  287.       ScarFace virus, Turk virus, Joshua virus
  288.       Also a little bug when used with NTSC machines. You could not display
  289.       the Boot Block Sectors. Now Startup alters for which machine it is
  290.       on. The Startup code is only used once and then the memory for it
  291.       is freed.
  292. V5.07 Added better Error messages when an error occurs with Files.
  293.       It will now say File protected from deletion when the file is
  294.       protected instead of just saying could not open file.
  295.       Added Butonic virus to checker
  296. V5.08 Added Centurions virus to checker
  297. V5.09 Got Aids virus but this is a mutant VKill virus and is found already
  298.       Added Coders nightmare virus to checker
  299.       Added Forpib, GX Team, Gremlins, and Kauki Virus
  300.       Added Centurions and Butonic virus check when scanning disk
  301. V5.10 Finally got IRQ virus and corrected a few bugs in its code.
  302.       Added Target, Clist, Abraham, and FAST virus. This fast virus is
  303.       supposed to be from the Frederation again'st Software theft. If it is
  304.       they are then just as big a arseholes as the pirates themselves.
  305.       Added Tick virus
  306.       Added control-c, control-d to multscan pass so as to stop the scan 
  307.       you got the wrong directory or drive.
  308. V5.11 Slight bug in removing BSG9 virus if virus not in devs: driectory
  309.       Also was picking up some game files as Butonic virus.
  310. V5.12 Virus_Checker was finding WB2.0 reboot code as the HCS II virus
  311.       This code may not be in the final release but it is at the moment.
  312.       Also SetPatch code moved abit. Seems to be the same but different
  313. V5.13 Added a Brain File so that you can remember the BootBlocks that
  314.       You want to. Games etc.
  315.       No new viruses added
  316. V5.14 Added a feature to allow checking for link viruses on startup
  317.       eg. virus_checker dh0: will check dh0: before carrying on as usual
  318. V5.15 Slight bug found with brain file
  319. V5.16 ULDV8 virus added. Uses VertB int and RomTag. Very Tame virus
  320.       Also fixed up bugs when using Enforcer. Showed up some reads to
  321.       None existant memory.
  322. 5.17 Added OP1 virus. Seemed to confuse VC into think it had a standard
  323.      Boot block unless write protected.
  324. 5.18 HAd to add extra checking for IRQ virus as it found a program that
  325.      matched IRQ and VC crashed trying to remove the IRQ virus which
  326.      wasn't there
  327. 5.19 Added a much asked for feature so that you can tell VC where to put
  328.      it's window
  329. 5.20 Added a width parameter as well. Also added 1 new virus called the
  330.      SADDAM virus. This virus lives as the Disk-Validator and can infect
  331.      an Amiga simply by putting a disk in the drive. 
  332. 5.21 Added the CCCP virus to the checker
  333. 5.22 Added another version of the Joshua virus. Also fixed bug that occured
  334.      when checking for file viruses and a name was in the File Header
  335.      Added -q option to make VC check and then quit
  336. 5.23 Added ARexx port to Checker. Will Take commands via Arexx. See info
  337.      above
  338.      Added Disaster Master Virus 2, another file type virus
  339. 5.24 Added checking memory for Australian Parasite virus, added BootBlock
  340.      viruses:- BlowJob ,Butonic-Bahan, Byte Voyager I, Byte Voyager II,
  341.      Destructor, DiskGuard, Fast1, ByteWarrior FastLoader (not really a
  342.      virus), FICA, Mad II, Hilly, Changed OP1 virus to real name (Joshua),
  343.      Changed Tick virus to real name (Julie), Another version of Lamer
  344.      Exterminator, MegaMaster, Paradox, Saddam hussein (Paradox copy),
  345.      Termigator, SuperBoy, UltraFox, Vermin viruses.
  346.      Another version of the BSG9 file virus was found so I changed the
  347.      checking to find both versions.
  348.      Added second version of Butonics File virus, added Hawnes file virus
  349.      Added another versin of the BSG9 virus and Return Lamer File virus.
  350.      Did a big rewrite of the checking for file viruses. Now reads file
  351.      once and scans a table of data. Will do the same with Link viruses
  352.      later.
  353. 5.25 VC was finding BootMenu as the Destructor virus. Changed scanning of
  354.      startup-sequence so disks with the cmd sys:c/command would have the
  355.      sys: stripped off them. VC could not find these before.
  356.      Fixed bug which sometimes screwed the virus name reported in the
  357.      requester. 1 BB virus added
  358.      Changed name of DOSSPEED virus to it's real name. Revenge Lamer Ext.
  359. 5.26 Fixed bug that was shown when disk in df1: had a startup-sequence
  360.      entry that said df0:filename. Tried to access df0: when no disk in
  361.      drive.
  362.      Added  Turk Virus file carrier. This was a file that carried to Boot
  363.      Block virus Turk.
  364.      Added a logic bomb file virus. This would wipe out a floppy after so
  365.      many times the file had been run
  366.      Added about 10 new BootBlock viruses.
  367. 5.30 Fixed bug that showed up as DF0:2has... and no learn gadget on display
  368.      Added -n option to make VC window 1x1 pixel/backdrop effectively no
  369.      window.
  370.      Also added keys to VC. Press 's' key to start Disk Scan (same as right
  371.      mouse button), 'm' to do a memory check,
  372.      Added a Lamer TimeBomb Virus, EMWurm logic bomb, and another version
  373.      of the Travelling Jack virus
  374.  
  375. ************************************************************************
  376.  
  377. NON-STANDARD BOOT CODE
  378.  - When Virus_Checker brings up a Requester that says the disk has
  379. non-standard boot code this means that the code in the boot block is not
  380. what should be there. This does not mean that it is a virus as many games
  381. use copy protection in their boot blocks. You should however be cautious if
  382. it is not a game. Do not replace the boot block if you are not sure. If
  383. something strange happens then please send a copy of the disk to me so that
  384. I can check it out.
  385. Here is a way of checking non-standard boot code
  386.  
  387. 1.      Format a blank disk so you know it is clear.
  388. 3.      Make sure all disks except the one just formated are write protected
  389. 3.      Boot from the disk that you suspect.
  390. 4.      Place formatted disk in drive zero and then reboot.
  391. 5.      Take disk out of drive zero and turn off computer for about 30 secs.
  392. 6.      Run the Virus_Checker program. If the Virus_Checker finds
  393.         non-standard boot code on the newly formated disk you have found a
  394.         new virus. Please send it to me
  395.  
  396.   Viruses Dealt With:
  397.   -------------------
  398.  
  399. SCA
  400.  - The SCA is the simplest virus to deal with, as it's notactually DOING
  401. anything except hiding in memory, until you reboot.  We just look at
  402. CoolCapture and fix it to get it out of RAM.
  403.  
  404. AEK
  405.  - This is a clone of the SCA virus and we get rid of it in the same
  406. manner
  407.  
  408. LSD 
  409.  - Another SCA clone and uses the same code
  410.  
  411. Byte Bandit  (Now 4 versions)
  412. (Amiga Freak)
  413.  - The Byte Bandit virus takes the DoIO() vector and re-directs it through
  414. itself.  Thus, any attempt to read or write the boot block (ie, AmigaDOS
  415. trying to figure out what kind of disk it is) results in the BB writing
  416. itself onto that disk.  We couldn't just rewrite the boot block, we have to
  417. get him out of RAM first.  This virus also has an interrupt that crashes the
  418. machine every 5 minutes or so after it's infected a few of your disks.  Ow.
  419. It stays in memory not via the Capture vectors, but by a Resident module.
  420. When machine looks crashed press these keys at the same time from left to
  421. right LAlt,LAmiga,Space,RAmiga,RAlt.
  422.  This will restore things for another 5 minutes
  423.  
  424. Revenge
  425.  - Basically, a Byte Bandit clone except it will bring up an obscene pointer
  426. a few minutes after you reboot.  We treat it much like the byte bandit.
  427.  
  428. Byte Warrior
  429.  - Jumps right into 1.2 Kickstart.  Won't work under 1.3.
  430.  Hangs around via Resident struct, doesn't do any damage.
  431.  
  432. North Star/ StarFire
  433.  - Like SCA, hangs around via CoolCapture, killing CoolCapture kills the
  434. North Star.
  435.  
  436. Obelisk Softworks Crew
  437.  - Hangs around via CoolCapture, also watches reads of DoIO() (but doesn't
  438. infect EVERY disk - only ones you boot off of)
  439.  
  440. IRQ
  441.  - This is the FIRST Non-Bootblock Virus.  It copies itself from place to
  442. place via the first executable program found in your startup-sequence.  It
  443. SetFunction's OldOpenLibrary(), has a KickTagPtr, and lives in the first
  444.  hunk of an infected program.
  445.  
  446. Pentagon Circle
  447.  - This one looks at the DoIO vector, and has a CoolCapture vector.  It will
  448. write itself over any virus inserted, but not onto anything else.  No
  449. danger, easy to eliminate.  Holding left button while booting with this one
  450. shows different screen colour, but doesn't get rid of it.
  451.  
  452. HCS Virus
  453.  - Hooks into the System Z protector
  454.  
  455.  - This is another virus protector that can write itself to disks.  Anything
  456. that spreads itself, under any name, is a virus.  Doesn't do anything except
  457. during a reboot, then examines disks and writes over viruses.
  458.  
  459. Disk-Doktors
  460.  - This is another virus which looks at the DoIO routine for the reading of
  461. any bootblocks.  If it finds one it will rewrite a copy of its code to it if
  462. it can.  This one also patches into the Vertical Blank interrupt and seems
  463. to format you disk after a certain number of interrupts (can't be sure
  464. though).The nasty bit is it also creates a task called clipboard.device
  465. which spends its life copying itself through memory fragmenting the memory
  466. into small blocks.  Calls ROM CODE direct so wont work under V1.3.  We
  467. restore the DoIO routine, the Vert Blank interrupt and RemTask the
  468. clipboard.device
  469.  
  470. LAMER Exterminator
  471.  - This virus was sent to me by Andrew Mercer of the Palmerston North group.
  472. His letter said that He noticed strange things on his disks.  On
  473. disassembling the virus I found that most of it was encrypted and the data
  474. was encrypted randomly using the beam position of the screen.  Thus it
  475. appears different each time.  It patches the trackdisk.device to look at
  476. reads and writes, It patches the Sumkick vector in exec in case someone
  477. tires to get rid of it.  When it detects a read or a write it will randomly
  478. select a sector on the disk and will check if it is a data block.  If it is
  479. it will write LAMER!  all over the sector and rewrite it.  Some say this
  480. Virus will write to write protected disks.  I have not had this happen to me
  481. and I can see no special code in the disassembly to accomplish this feat.
  482.  
  483. TimeBomb Virus
  484.  - This is a strange Virus.  It does not insert itself into any
  485. vectors.However it will copy itself back to the disk it came from.  When the
  486. count gets to 2 it will wipe out the Root Directory of the boot disk and
  487. display an alert.  If the count is over 2 it will just display and alert
  488.  
  489. GADAFFI Virus
  490.  - Inserts itself into the CoolCapture vector, Uses a RomTag structure and
  491. patches the DoIO vector Jumps directly into the Kickstart so will only work
  492. under V1.2 Kickstart.  After 13 copies it will Step the Heads of drives 0
  493. and 1 in and out.  We simply clear all vectors and Use the old V1.2 DoIO
  494. code entry point
  495.  
  496. BSG9 Virus 
  497. - This is similar to the IRQ virus in that it does not live in the Boot
  498. Block.  It operates differently.  Inserts itself into the RomTag pointer.
  499. It then loads the program it replaced and executes it.  On Reboot the RomTag
  500. is called.  It patches the Intuition OpenWindow Routine to its code.  It
  501. then returns.  Once AmigaDos opens up the CLI window the virus code gets
  502. run.  This gets the startup-sequence file and gets the first command that
  503. is run.  It then checks if it is already here.  No, then it moves this
  504. program from it's directory into the devs:  directory and renames it a
  505. strange name.It then copies itself to replace the command it just moved.  A
  506. give away is the file size.  The Virus size is 2608 bytes and there will be
  507. a file with what looks like spaces for its name in the devs:  directory.  To
  508. get rid of we copy the file in devs:  back to the c:  directory and rename
  509. it.Then delete the file in the devs:  directory.  In memory all we do is
  510. change the RT_INIT code which is run on reboot to do an immediate RTS The
  511. memory for the program is still used but the Virus is disabled.  It will
  512. display a screen of its own which says
  513.  A Computer Virus is a disease
  514.  Terrorism is a Transgression
  515.  Software Piracy is a crime
  516.  This is the Cure
  517.  BSG9 plus some other junk
  518.  
  519. War Hawks 
  520. - This Virus installs itself into the CoolCapture Vector.  It copies itself
  521. to the disk when the computer is warm booted.  After every four copies it
  522. displays a message.  To get rid of it we simply clear the CoolCapture vector
  523.  
  524. VKill or Aids Virus  
  525.  - This is another virus hidden as a Virus protector.  When booted it copies
  526. itself to the stack area that is not used.  It then patches the CoolCapture
  527. vector to survive a reboot.  It patches the PutMsg vector of ExecBase to
  528. watch for BootBlock reads and writes.When it finds one it checks it and
  529. tells you if a virus is present.If you want to get rid of it it will copy
  530. itself to the disk.To remove it we Clear the CoolCapture Vector and
  531. SetFunction the PutMsg vector
  532.  
  533. Ultra Fox
  534.  - This one lives in the CoolCapture vector.  When you reboot it will change
  535. the DoIO vector and wait for a BootBlock read.When it finds one and the disk
  536. is not already infected it will write itself to the bootblock.After every 16
  537. copies it will put a custom copper list which displays greetings
  538.  
  539. PVLProtector
  540.  - This one is another bootblock protector.When it finds a virus it will
  541. write itself to the disk instead of a proper bootblock.  All we do is set
  542. the RomTag to do a RTS
  543.  
  544. Revenge Lamer Exterminator (previously DOSSPEED)
  545.  
  546.  - This is another file virus.  It is supposed to speed up disk operations
  547. by 800%.  This was found on a BBS and when run patches itself into several
  548. places.  It will read the s:startup-sequence file on reboot and will edit it
  549. so that it runs itself as the program.  It sticks out because the first line
  550. in the startup-sequence will be blank.When the Checker finds it look in the
  551. Root directory and you will find what looks like a blank filename. Virus
  552. Checker will rename this virus for you. You can then delete the virus and
  553. alter your startup-sequence to get rid of the first blank line
  554.  
  555. UnKnown
  556.  - This is a virus that has no names anywhere and will only work under V1.2
  557. Kickstart.  Very easy to get rid of.
  558.  
  559. JITR Virus
  560.  - Very mild sort of virus this one.  Only writes itself to the BootBlock.
  561. Does nothing else.  Easily fixed by clearing the CoolCapture vector
  562.  
  563. MicroSystems
  564.  - Haven't got this one yet so can't tell you much about it.  Just have to
  565. restore a vector in the Exec.library and clear the Exec CoolCapture vector.
  566.  
  567. Xeno Virus
  568.  - This virus is a very nasty one in the way that it infects all programs
  569. that can be run. It does not need the program to be run but even someone
  570. doing a list or dir on a disk when the virus is present will infect all
  571. those other files on disk. It patches into the dos.library and takes over
  572. the OPEN,LOCK and LOADSEG calls in dos. This way it can intercept the files
  573. being looked at. It will copy itself to the start of every runnable program
  574. and alter the file so that it still works. There is also an encrypted
  575. message which says 'Greetings from the Xeno Virus' but I hav not worked out
  576. when this appears yet. To get rid of it from meory we have to reset the
  577. changed vectors. To get rid of it from the file is very much harder. First
  578. the file has to have the virus removed from the code. Then the relocation
  579. data pointers have to be changed so that everything still works.
  580. When Virus_Checker finds a file infected with the Xeno Virus it will tell
  581. you which file it is and bring up a requester. You can now check the files
  582. on drive zero for furthur viruses if you want. I will soon add a string
  583. gadget so that all drives can be checked.
  584.  
  585. 16 Bit Crew
  586.  - This virus does not do much and only infects disks that you boot with.
  587. To get rid of it from memory we clear the CoolCapture Vector and restore
  588. the DoIO vector.
  589.  
  590. New Alien Beat Virus
  591.  - This one will only work under Version 1.2 Kickstart as it jumps into
  592. the ROM code directly. To fix in memory we have to manually patch the
  593. DoIO vector and FindResident Vector with the correct values for 1.2.
  594. and clear the Capture vectors.
  595.  
  596. BlackFlash virus
  597.  - This virus will display a message after a certain ammount of copies of
  598. it have been made. It says that your computer is sick and has a virus. To
  599. remove it we just restore the DoIO vector and clear out the capture
  600. vectors.
  601.  
  602. Digital Emotions virus
  603.  - This is another tame virus. Only infects disks when it is rebooted.
  604. Clean out the Captures vectors and it is gone.
  605.  
  606. ScarFace Virus
  607.  - This takes over the BeginIO routine in the trackdisk.device to watch for
  608. reads and writes to the disk. When it finds one it will write itself to the
  609. disk. It also has a VertBlank intterupt which will do something after
  610. awhile. I think it only reboots the machine. It also has a romtag which we
  611. have to clear out.
  612.  
  613. Turk Virus
  614.  - Another simple virus. Does not do very much. Simple to get rid of
  615.  
  616. Joshua Virus
  617.  - Again, lives in the TrackDisk BeginIO and VertBlank Intterupt.
  618. Also has a RomTag to survive reboots. This one will display a sprite after
  619. so many intterupts. I am not sure what it looks like but maybe someone
  620. wants to wait until it is triggered. It counts intterupts. It will also
  621. infect every disk but in the drive that is not write protected. Data in it
  622. that says something is encoded. To remove we simply restore the BeginIO
  623. code and VertBlank Interrupt and wipe out the RomTag.
  624.  
  625. Butonic Virus
  626.  - This is another file type virus. It uses the DoIO vector to check for
  627. reads to the Root Block of a disk. It wil then write the virus to the disk
  628. and add it to the startup-sequence as the first instruction. The filename
  629. of the virus and its comment make it invisible when doing a dir but shows
  630. up with a list. This will also bring up GURU messages and change the title
  631. of the active window to some german stuff.
  632. To get rid of it we clear the ROMTAG, restore the DoIO vector and delete
  633. the file off the disk. You will need to remove the blank line from the
  634. startup-sequence where the virus was.
  635. The second version of this infects the Level 2 Interrupt as well and uses
  636. different file names to hide itself in the startup-sequence
  637.  
  638. Centurions Virus
  639.  - Another file type virus. It hooks into the Trackdisk BEGINIO vector and
  640. waits for reads to the boot block of a disk. It changes the SumKickData
  641. vector so that it will survive a checksum. To get rid of it in memory we
  642. simply kill the RomTag vector, restore the SumKickData vector and patch the
  643. trackdisk code it uses to skip over the virus.
  644. When it finds a read to the bootblock it will check the write protect. It
  645. will then find the startup-sequence and find the name of the first command.
  646. It then looks for the command in the root directory, then the c directory.
  647. Once found it adds itself to the front of the file and is run when the
  648. startup-sequence is run again. Signs of infection are that it adds 3916
  649. bytes to the size of the file it infects.
  650. After every ten copies it will change the pointer to a smily face and a
  651. message will scroll across it
  652.  
  653. Coders Nightmare Virus
  654.  - A boot block virus. Fairly tame this one but it will wreck copy
  655. protected disks. It takes over the DoIO vector waiting for reads to track
  656. zero block 0 then it writes itself to the disk if it can. It has a level 2
  657. interupt which after a time will display a message and then reboot the
  658. machine. To remove we just reset the DoIO and Level 2 Interupt vectors and
  659. clear out the RomTag.
  660.  
  661. Forpib Virus
  662.  - Another boot block virus. It takes over the Trackdisk BeginIO vector and
  663. waits for reads to block 0. Then it copies itself if it can. It also has a
  664. VertBlank Interrupt and after a certain time a message will appear. (I
  665. think). There is a bug in this in that it tries to use a color register but
  666. it has got the wrong value in there. To remove just restore both vectors
  667. and remove the RomTag.
  668.  
  669. GX Team virus
  670.  - Yet another bootblock virus. This just takes over the DoIO vector and
  671. after a certain number of copies it will bring up a requester then guru.
  672. To remove replace the DoIO vector and clear RomTag and Capture vectors.
  673. This virus will only work under version 1.2 kickstart.
  674.  
  675. Gremlins virus
  676. - Yes another bb virus. Sicking isn't it. Don't know what this one does but
  677. very easy to remove. Just zero the Capture vectors, restore the SumKickData
  678. vector and DoIO vector and it's gone.
  679.  
  680. Kauki virus
  681. - This boot block virus will only work under Version 1.2 kickstart. As I
  682. don't have it I can't tell you what is displayed but something is
  683. displayed. Easy to get rid of. Just clear the Capture vector and set the
  684. DoIO vector to $FC06DC just to make sure.
  685.  
  686.  
  687. Have given up Telling what BootBlock viruses do as they are mostly the same
  688. and all work the same way. From now on I will only give desciptions on File
  689. Type viruses.
  690.  
  691. SADDAM virus
  692. - This is a file type file that hides itself as the Disk-Validator. The
  693. disk on which it came was unvalidated so AmigaDOS loaded it to try and
  694. validate the disk. This causes the virus to run and infect your machine.
  695. It does infect alot of vectors that need fixing when it is found.  I just
  696. wipe it off the disk and it is left to the user to put a new Disk-Validator
  697. on the disk.
  698. It will change the root block BitMap pointer so that if the virus is not
  699. running AmigaDOS will think the disk is UnValidated and load the virus.
  700. It will also change DATA blocks so DOS does not know them unless the virus
  701. is running. When the virus is triggered it will wipe out the whole disk and
  702. bring up a Requester telling you it is the SADDAm virus
  703.  
  704. CCCP virus
  705. - This a combination Bootblock and file virus. It changes itself so that it
  706. will write to the BootBlock and to random files on the disk. The only way
  707. to find it on disk is to scan the whole disk
  708.  
  709. Disaster Master 2
  710. - This is a fairly simple File type virus. It will write to a disk after a
  711. warm boot and if there is enough room on the disk will make a file called
  712. cls in the c directory and add cls * as the first line in the
  713. startup-sequence.
  714. We just clear the RomTag and Capture vectors, check the DoIO vector and
  715. thats it for memory. Just wipe the file off the disk and warn the User
  716. about the startup-sequence.
  717.  
  718. Hawnes virus
  719. - A simple file type virus. I infects the OpenLibrary vector waiting for an
  720. opening of intuition.library. It then patches OpenWindow to it's own
  721. routine. When A window opens it checks the startup-sequence and if not
  722. already present copies itself to the disk using DOS. It patched the VertB
  723. int and will display something after a while. It will Wipe out a disk after
  724. so many copies as well. Simple to remove and alter the first line in your
  725. startup-sequence which will hold in hex $C0A0E0A0C0
  726.  
  727. Return Lamer virus
  728. - Another file type virus which replaces the Disk-Validator.It uses a
  729. RomTag to stay in memory, infects vectors, VertBlank Int, TrackDisk.device
  730. BeginIO, and another vector in the trackdisk. When the RomTag is called it
  731. infects the OpenWindow vector.
  732. Just delete the Disk-Validator and replace it from a good disk.
  733. In memory, just restore the vectors and clear the RomTag out.
  734.  
  735. Travelling Jack virus
  736. - A Link type virus this one installs itself into the internals of AmigaDOS
  737. taking over the BCPL inner workings. To check in memory we have to wind our
  738. way thru many vectors and then reinstall the original from the virus.
  739. To remove from file we just remove the first code hunk.
  740. Seems to copy itself to each file that has been read but not sure on this.
  741.