Skip to main content
? Erik 'Es of TEX' Simon

 "A professor is one who talks in someone else's sleep."

 THE FOREVER PERPETUALLY CONTINUOUS NEVERENDING STORY OF VIRUSES
                    (ONCE AGAIN RE-REVISITED)
                      by Richard Karsmakers

 If  you're  searching for the latest knowledge in the  field  of
computer viruses you can consider yourself lucky.  You have  just
selected the latest update on virus news, both with regard to the
latest viruses as the latest virus killer...

Virus update

 A  few viruses have occurred after the ones I described in  some
detail in ST NEWS Volume 8 Issue 1. One of them is a particularly
nasty one, as you will be able to see below.

Virus #71

Name: Beilstein Virus.
Type: Reset-proof memory-resident bootsector call virus.
Discovery date: March 16th 1993 (Volker Söhnitz).
Virus can copy to drive(s): Current floppy drive (A or B).
Virus attaches itself to:  Hdv_bpb,  Vbl_queue, Hdv_rw, Hdv_boot,
 Gemdos, Xbios, regularly reset-resistant AND undocumented reset-
 resistant.
Disks can be immunized against it: No.
Immunizable with UVK: No.
What can happen,  and when:  1) It can delete specific files when
 these  are  loaded  by the user.  These  files  are  'SAGROTAN',
 'MDISK', 'FCOPYIII', 'FCOPY3??', 'DISKUS', 'DISKDEMO', 'TED_???'
 and  'G_COPY',  2) It can clear partition "C" of your hard  disk
 when the virus in memory discovers that you are trying to  trace
 it (trace bit set,  for example in a debugger), 3) It can create
 garbage on your screen,  4) Keyboard,  mouse and joystick can be
 disabled,  5)  Mouse  movements can be inverted (like  with  the
 "Ghost  Virus"),  6) Printer output can be corrupted,  7)  Modem
 output can be corrupted,  8) A bomb error can be created, 9) The
 system can be frozen until you enter the password  "Apokalypse",
 10) Memory can be cleared,  followed by a reset,  11) The  first
 hundred sectors of a floppy disk can be cleared,  and 12) It can
 delete a folder. These are quite an amount of things that can go
 wrong!
Resetproof: Yes.
Can copy to harddisk: No.
Remarks: This virus also codes itself and also fakes to be an MS-
 DOS  disk (just like the Zorro Virus). On top of that it uses an
 ingenious  system where bits of its code are swapped around  and
 where different bootsector offsets are used to make things extra
 difficult.  Even  when  not yet coded,  there are  at  least  10
 different versions that this virus can generate of itself.  With
 coding added, over 650,000 versions of this virus can exist. But
 that's  not  everything:  The bootsector that was  on  the  disk
 before  it  got  infected (e.g.  a virus free  disk)  is  stored
 somewhere  else  and executed after the virus  installs  itself.
 This  means  that the message "this is a virus free  disk"  will
 STILL appear even after the disk has been infected! It is a very
 complex virus that,  apart from the bootsector,  uses four other
 sectors  on  disk that are marked BAD in the FAT  to  make  sure
 they're  not overwritten.  The use of these four  extra  sectors
 enable  the  virus  to  be  bigger  (hence  the  many  different
 destruction  routines) and also allow it to buffer the  original
 bootsector previously present on the disk.  The last naughty bit
 about  this virus is that,  when it bends system  variables,  it
 supplies regular XBRA ID codes of popular harmless  applications
 to itself (for example HABO,  VREP,  VIRA, CB2K, SBTS and WINZ).
 The "Ultimate Virus Killer" correctly recognizes it anyway!
 This is without a doubt the most nasty virus yet. It was written
 by a student from Beilstein,  a town in South Germany (hence its
 name).  It  has  only  been supplied to  specific  virus  killer
 programmers  and  has so far not actually been spread  as  such.
 Let's hope it will stay that way!

Virus #72

Name: Temporary Madness Virus.
Type: Reset-proof memory-resident bootsector virus.
Discovery date: March 16th 1993 (Volker Söhnitz).
Virus can copy to drive(s): Current floppy drive (A or B).
Virus attaches itself to: Hdv_bpb, undocumented reset-resistant.
Disks can be immunized against it: No.
Immunizable with UVK: No.
What can happen, and when: Every 65536 vertical blanks (on colour
 that  means  about  every  22 minutes)  the  mouse  movement  is
 inverted for about 10 seconds.
Resetproof: Yes.
Can copy to harddisk: No.
Remark: In Germany, this virus is known as the "Mouse Coordinate"
 virus.

Virus #73

Name: Darkness Virus (Nightmare of Brooklyn #2 'Darkness').
Type: Reset-proof memory-resident bootsector virus.
Discovery date: July 17th 1993 (Piotr Kowalczyk).
Virus can copy to drive(s): Current floppy drive (A or B).
Virus attaches itself to:  Hdv_bpb, undocumented reset-resistant,
 resvector, vbl_queue.
Disks can be immunized against it: No.
Immunizable with UVK: No.
What can happen: It can write garbage on the first 9 sectors of a
 random track between 1 and 79.  The first of those sectors  will
 then  contain  the  text between  quotes  mentioned  above  with
 'Name'. Additionally, the virus can screen black.
When  does that happen:  The disk track garbage  writing  happens
 every  other  8  copies that it writes  of  itself.  The  screen
 blackening happens every 32768 vertical blanks (i.e. after about
 11 minutes on colour monitors, about 7.5 minutes on monochrome).
Resetproof: Yes.
Can copy to harddisk: No.
Remark:  First discovered in Poland. This virus uses an intricate
 coding  method which,  like other recent viruses,  allows it  to
 create hundreds of differently recognizable versions of itself.

Anti-virus #22

Name: Agrajag Boot 2.
Discovery date: July 1993.
Symptoms:  At startup it will put the message "AGRABOOT 2" on the
 screen.  Whenever an executable bootsector is found while it  is
 present in memory, the screen will flash. It will flash RED when
 such a bootsector is suspicious. Upon starting it will also find
 reset-proof  programs and the like.  It will not copy itself  to
 any other disks of its own accord.
Remark: Written by Michael James from Glasgow, autumn 1992. Quite
 a good Anti-virus actually.

History update

 Of course I have not merely watched idly while virus programmers
were  going  through somewhat not unlike  a  revolution.  I  have
continued  to upgrade the "Ultimate Virus Killer" so that it  can
husband even your greatest fears (ahem).

- Version 5.8GB (March 28th 1993)

 I had never guessed there were things left to be done.  As I had
a  period  of  heavy  University exams  prior  to  the  program's
release,  however,  I  got  sudden amounts of  unexpected  coding
inspiration (this happens often before exams,  at least with me).
Hence the following additions and bug eliminations.

* There were one or two bugs in the previous version.  The  RIGHT
  shift key didn't actually skip the system status screen but the
  LEFT  one  did.  Now  this is truly  the  RIGHT  one.  The  DAY
  belonging to the current date was wrong. Now it's OK again.
* Linkvirus scan is even faster. In version 5.7 there was a small
  'bug' in the routine that didn't succeed in speeding up  things
  much.  Compared to version 5.6,  link virus scan is now over  3
  times  faster  (as opposed to the previous version  only  being
  almost 2 times faster).
* The   program  is  now  finally   Falcon   compatible.   Memory
  Configuration  specification in the system status  screen  only
  works  on ST,  however,  as TT and Falcon  configurations  seem
  never  to have been documented by Atari.  Information would  be
  welcome!
* Disks  that get the '99% safe' message can now also be  'looked
  at'. If they're almost completely filled with zeroes or another
  value they need not be sent in for analysis - they're 100% safe
  then.
* Form feed added after bootsector file output to printer.
* When  the "Ultimate Virus Killer" is used from  hard  disk,  it
  will  keep  track  of  its activities  (like  total  number  of
  sessions,  total  number of disks checked and  viruses  killed,
  that  sort  of thing).  It will store these values  in  a  file
  called   "UKV.HST".   The  new  program  file  on   the   disk,
  "HISTORY.PRG", displays this history file's contents. Make sure
  the  "HISTORY.PRG"  file  is  in  the  same  directory  as  the
  "Ultimate  Virus Killer" and the "UVK.HST" file!  Your  display
  needs  to  have 80 columns for this program to  display  things
  properly. More columns will work too.
* An optional file has been added,  "UVK.CNF".  This file may  be
  used  to determine which file extensions executable  files  are
  allowed  to have,  which the "Ultimate Virus Killer"  needs  to
  know  when checking an entire partition (or an  entire  folder)
  for link viruses.  Please refer to the appropriate part of  the
  manual for further explanation.
* Data line format optimized even further!
* The  Atari  Extended  Control Panel modules  (.CPX  files)  are
  executable  files  that  have  another  structure  than  other,
  ordinary program files. Basically they are like regular program
  files with the different that they have a 512 byte header. When
  files  with  a  .CPX  or .CPZ  (disabled  .CPX)  extension  are
  checked,  this header is automatically skipped so that analysis
  proceeds as usual.
  The  Atari Extended Control Panel is a new version of  the  old
  Control Panel accessory.
* The program file can be renamed to "UVK_5_8.ACC" in order to be
  used  as  an accessory.  Some differences:  You  will  have  no
  possibility  to vieuw the system status screen and the  options
  with the configuration-and history-files (explained above)  are
  skipped. The options 'look at it' (to look at a bootsector) and
  'help'  can  be  selected but have no  effect.  Make  sure  the
  "UVK.PAK" file and the "UVK_5_8.ACC" file are both in the  root
  directory  of your boot drive.  The boot drive will usually  be
  "C"  if you have a hard disk,  or "A" if you  have  none.  With
  bootsector data file loaded,  the accessory will take up a  bit
  more  than  700  Kb of memory,  so it won't work  on  half  meg
  machines  and  will barely be useful even on 1  meg.  With  the
  bootsector  data file not present in the same directory as  the
  accessory,  memory  consumption will be slightly less than  400
  Kb.
* The "WACOM" graphics pad is supported now. All mouse input will
  be  replaced  by  the graphics pad  import  provided  that  the
  "TABLETT.PRG" driver program is found in the same directory  as
  the "Ultimate Virus Killer" program.  Do note that the  regular
  mouse is not reacted to then!
* Due  to something or other,  the "Signum D" virus  was  wrongly
  recognized. This is now fixed.
* Version 1.1 of the "Ultimate Virus Killer" CPX module  replaced
  the old version 1.0. Please refer to the CPX manual for details
  on the changes.
* The  English versions now also contain a special  half-megabyte
  version of the virus killer.

 Its main statistics:  1359 recognized bootsectors, 72 recognized
bootsector viruses, 5 recognized linkviruses, 38 recognized anti-
viruses,  126 recognized resident applications and 34  recognized
packer formats. Up to 658 bootsectors can be repaired.

- Version 5.8D GB

 Demo  version creation is still a doddle.  Date history  follows
below.
 February 26th 1993.

- Version 5.8USA (March 28th 1993)

 Identical to version 5.8GB,  with the exception of the main menu
address,  the date entry format and selected text  changes.  Made
for distribution by Oregon Research Associates.

- Version 5.8NL (March 28th 1993)

 Identical to version 5.8GB, with the exception of the name ("ACN
Final Virus Killer") and all text output, which is in Dutch.

- Version 5.8BRD (March 28th 1993)

 Identical  to  version 5.8GB,  with the exception  of  all  text
output, which is in German.

- Version 5.9GB (June 6th 1993)

 In the previous version there were many things left to be  done.
Well,   it  turned  out  that  I  had  done  some  things  rather
improperly.  So  this  version,  apart from some new  things  and
improved statistics,  basically turned out to be a bug fix.  This
is also the reason (apart from the sheer pending presence of  the
summer season) for the earlier release date.

* Program can now REALLY be used as an accessory.  It worked fine
  on my system previously,  for some reason or other, but usually
  caused  weird messages and sometimes bombed with other  people.
  Accessory  operation has a small disadvantage I would  like  to
  point out to you: The internal GEM 'out of memory' error (which
  is  a bug inside GEM) normally causes the program to crash  and
  exit,  but  in accessory mode this locks up the entire  system.
  Only a cold reset will help you then.  Depending on the size of
  your  machine's disk cache this will happen when lots of  files
  are being checked for link viruses.
* If you had to enter the date and time on medium resolution, the
  text  size was too big which looked sloppy and could hardly  be
  read. This has been fixed.
* There  was  a rather very serious bug (causing  bomb  crashing)
  when encountering specific MS-DOS compatible disks that did NOT
  have  a virus on them.  The ironic thing was that you could  be
  sure  not  to have a virus on a disk of  which  the  bootsector
  caused a crash!  Anyway,  this bug,  which got 'built in' along
  with the advanced "Beilstein" virus recognition, is fixed now.
* A  rather  rare and subtlely different version of  the  "Uluru"
  link virus was discovered.  This is now also recognized. Credit
  for this goes to my dear colleague Chris Brookes. This virus is
  merely  regarded  as  a different version  of  the  same  virus
  because either version seems to be able to generate the other.
* The half megabyte version is now even smaller,  with all repair
  selector   routines  removed  (these  were  in   the   separate
  REPAIR.PRG program for these users anyway).
* While formatting a disk, "formatting..." appears on the screen.
* The  "REPAIR.PRG"  program for owners of machines with  half  a
  megabyte  of memory now no longer supports keyboard control  in
  the  alert boxes.  The routines had to be removed in order  for
  the  ever  increasing  bootsector data file to fit  in  half  a
  megabyte.

 Its main statistics:  1390 recognized bootsectors, 72 recognized
bootsector viruses, 5 recognized linkviruses, 38 recognized anti-
viruses,  130 recognized resident applications and 36  recognized
packer  formats.  A  total of 669 different  bootsectors  can  be
repaired.

- Version 5.9USA (June 6th 1993)

 Identical to version 5.9GB,  with the exception of the main menu
address,  the date entry format and selected text  changes.  Made
for distribution by Oregon Research Associates.

- Version 5.9NL (June 6th 1993)

 Identical to version 5.9GB, with the exception of the name ("ACN
Final Virus Killer") and all text output, which is in Dutch.

- Version 5.9BRD (June 6th 1993)

 Identical  to  version 5.9GB,  with the exception  of  all  text
output, which is in German.

- Version 6.0GB (October 3rd 1993)

 Finally  I have spent a lot of time on the program so now it  is
entirely compatible with GEM. It should work in any resolution as
long  as it has at least 640 by 200 pixels,  with  any  Operating
System  (including "MultiTOS"),  on any machine,  now and in  the
future.  I don't think the program has ever been through so  many
enhancements and changes from one version to another.
 Finally,  the "Ultimate Virus Killer" is ready for a new era  of
computing.

* All non-GEM routines have been replaced by GEM routines,  based
  on Gregor Duchalski's "Flydials" library (which is a collection
  of shareware source code routines that I'd advise every serious
  "GfA  Basic" programmer to use).  The address to  obtain  these
  routines at (they have a shareware registration fee of DM 30,-)
  is Baueracker 15a, W-44627 Herne, Germany.
* The  manual has been revamped,  mainly adapted to the  new  GEM
  things  and  rephrasing  of stuff  like  "Search'n'Destroy"  to
  "Seek'n'Destroy" and "Repair disks" to "Restore  disks".  There
  are many more little changes though,  and as a whole it  should
  be easier to understand now.
* There  was a bug in the BPB repair routine,  causing a  damaged
  BPB to be written even after it having been repaired. Now gone.
  Thanks to Kai "Antidote" Holst for finding this one.
* Half  meg version used to have the restore data lines still  in
  there. This is now gone, which saves another 19 Kb.
* Extended file selector calls are used now when a TOS version of
  1.04 or higher is found.
* Due to the ultra-comfortable [HELP] key support in the new  GEM
  environment,   the  so-called  permanent  help  mode  has  been
  discontinued.
* A new help screen has been added for the system status screen.
* The  meaning of the [CONTROL] key during system  status  screen
  analysis has changed again (and for the absolutely final time):
  Pressing  it will now slow down analysis,  and default  display
  speed will be fast.
* Thanks  to  an optimization of  the  internal  algorithms,  the
  extensive  system  status screen analysis speed  has  now  been
  increased by 61%, of which 10% are thanks to Martijn Wiedijk.
* Function-and  cursor-key support exchanged for [ALTERNATE]  key
  shortcuts.
* AES (Application Environment Services) version number now  also
  displayed in extensive system check screen.
* Link virus scan now up to 74% faster.  Thanks to my good friend
  Kai  for the golden tip that took off 55%:  Never use any  "GfA
  Basic" commands such as SEEK, OPEN, CLOSE and BGET, but instead
  use the direct GEMDOS equivalents.  One also has to use the DTA
  buffer  instead of LOF(#x).  The other 19% were caused by  some
  optimizing of my own.
* Bootsector  virus scan is now a massive 63% faster.  Of  these,
  15% are due to another tip by Kai:  Never use  single-character
  RIGHT$ and LEFT$ but instead use BYTE{} (beware for zero length
  strings  though!).  Another  7% are due to the  fact  that  the
  program no longer uses byte-length compares.  The remaining 41%
  are  the result of two rainy days filled with heavy coding  and
  my  converting the recognition data line format.  The  dataline
  format  got 10% smaller,  the actual bootsector  scan  suddenly
  almost ridiculously fast. For the technically minded among you:
  All  regular string expressions are now stored as CVI  and  CVL
  strings of the same (this gave some problems with values of  0,
  4,  10,  13 and 34, but I worked a way around not being allowed
  to use them).
  It  is interesting to note that during one year of  development
  (from  version 5.6 to 6.0) the bootsector virus scan speed  has
  decreased  from an average of 1.77 to 0.12 seconds of  analysis
  needed per sector, which is a speed increase of over 90%!
* The command line syntax didn't support the separate link  virus
  folder scan  apart  from  the single file  or  whole  partition
  scan. Now it does.
* Additionally, you can now also just feed a regular program name
  (including proper path and such) to the program.  If the entire
  command  line as such is found as a file somewhere,  all  other
  routines  will  be  bypassed and the program  will  check  that
  particular file for link viruses.  No additional parameters can
  be passed on.  By default the program will wait for a key  once
  finished and will also check for packed file information.  This
  works especially excellently if you have extended desktops such
  as "NeoDesk".  You can then even drag the icon/filename of  the
  file to be checked on the "Ultimate Virus Killer" program  icon
  if you want to.
* In certain circumstances the accessory version could crash  due
  to  a  bug in the internal "GfA Basic"  MENU_REGISTER  command.
  This has now been replaced by an own menu register routine.
* Although  the  internal bootsector restore data  file  depacker
  routine is still the same (Altair's "Atom" packer version 3.5),
  the  actual program file is now compressed using  Keith  Baines
  "Pa Pack" version 1.01. This is not as effective as "DC Squish"
  that was used earlier but,  outrageous though it sounds,  files
  compressed with "DC Squish" are not allowed to be  spread.  "Pa
  Pack"  is  quite  good and supports  accessories,  as  did  "DC
  Squish".
* The "Chameleon" accessory is now supported, finally. This is an
  accessory that can load and unload other accessories - such  as
  the   "Ultimate  Virus  Killer"  when  it  is  used  as   such.
  "Chameleon"  allows  for accessories to be  loaded  from  other
  directories rather than the root directory of your boot  drive,
  which  causes problems with most accessories that have to  load
  supplemental files such as a resource file. The "Ultimate Virus
  Killer",  when started as an accessory,  will scan all  current
  directories  of  all  valid  partitions  until  it  finds   the
  "Ultimate Virus Killer" resource file.  Do note that these  are
  all root directories,  too,  unless you have opened a window to
  another directory previously!  As a rule you should use the GEM
  desktop  to  open the window in which all the  "Ultimate  Virus
  Killer"  files are and after that use "Chameleon" to  load  the
  accessory.
* In  the system status check,  both ST and TT RAM types are  now
  supported  and  recognized,   as  well  as  previously  wrongly
  recognized regular ST-type memory configurations  (yes,  Frank,
  this is for you!).  What can I say?  Amazingly,  there isn't  a
  *single* book that documents this stuff correctly. Here, thanks
  go  to H.W.A.M.  de Beer,  author of the most excellent  Public
  Domain  "SysInfo"  program - he supplied  the  information  and
  source  code  necessary for the proper  implementation  of  all
  this. When running the "Ultimate Virus Killer" with "MultiTOS",
  due to memory protection stuff the memory amount found may  not
  be correct as Mr. de Beer's routine can then not be used.
* The birthday date format has been optimized.  Also, 100% of all
  possible dates have one or several birthdays now.
* The "DATA.PAK" datafile is no longer totally decompressed  upon
  loading.  Only  when  a specific bootsector  is  restored,  the
  appropriate  (tiny) part of the data file is  decompressed  and
  used.  In the current version this saves over 140 Kb of memory,
  i.e.  you now need over 140 Kb less to be able to use the  data
  file than before.
* Additionally,  it  is now possible to use the whole program  on
  half megabyte machines again. You can even restore bootsectors,
  but  this now requires you to locate the "DATA.PAK" on disk  so
  that  the program can load and decompress the appropriate  part
  needed.  After that you are requested to insert the actual disk
  so  that the program can write the bootsector to disk.  You  no
  longer  need  to  have the data file in memory to  be  able  to
  restore bootsectors, even though having it in memory will prove
  to  be  easier,   especially  when  restoring  more  than   one
  bootsector.
* Due to the overall space savings,  the accessory version of the
  "Ultimate  Virus Killer" will now use 520 Kb or 340 Kb of  RAM,
  with and without the data file loaded respectively.

 All  speed increases are dedicated to Kai Holst,  who  has  been
ruthlessly  irritating me for at least a year now with regard  to
his  virus killer being faster than mine.  Although he  has  been
driving me out of my mind in the process,  if it hadn't been  for
him  the  "Ultimate Virus Killer" would still  be  the  ponderous
dinosaur  it  was in the olden days.  At least the only  thing  I
could compare, the link virus scan, is now 30% faster than his.

 Its main statistics:  1486 recognized bootsectors, 73 recognized
bootsector viruses, 5 recognized linkviruses, 40 recognized anti-
viruses,  137 recognized resident applications and 43  recognized
packer  formats.  A  total of 710 different  bootsectors  can  be
repaired.

- Version 6.1GB (Approximately January 1994)

 Or: What may occur in future updates.

* When  running the "Ultimate Virus Killer" as a  desk  accessory
  while using Gribnif's "NeoDesk" (version 3,  anyway), the mouse
  background  is buffered incorrectly.  This is due to an as  yet
  unexplained anomaly connected with "NeoDesk", and I haven't got
  a clue as to how this should be fixed.
* When  using the "Ultimate Virus Killer"  with  "MultiTOS",  you
  cannot  yet  actually  switch  between  tasks.   This  may   be
  alleviated soon. Then again, maybe not.
* The  Unified  drive  (drive "U") under "MultiTOS"  can  not  be
  checked. This will probably remain so. Maybe not.
* The  general statistics will be enhanced as much as  they  can,
  and possible bugs will be discarded.

 Do note:  Your suggestions and bug reports WILL be read and  ARE
taken into consideration!

IPV deal trashed

 As some of you may know, the "Ultimate Virus Killer" was sold in
Germany by Ippen Pretzsch Verlag,  the company that also does (or
did,  or  used  to do,  or  whatever)  "KAOSdesk".  Unfortunately
royalty  payments  have  been  overdue  several  times  so   that
eventually  the  contract had to be terminated under  a  "payment
within  three  months" clause that assured all  rights  reverting
back to the author, i.e. me.
 Personally I can't say I regret this. IPV have proved to be very
bad at supporting the program,  what with zero things having been
sent through to me for closer analysis whereas I have proof  that
several people have sent in material.
 All I can say is that I'd like to apologize for the loss of your
letters and disk(s),  which happened entirely without me  knowing
about it. Let's hope the future will improve on this.

 These are all the things that needed to be said in this  issue's
viral column. Thanks for touching, next time you can do it again. 

Disclaimer
The text of the articles is identical to the originals like they appeared in old ST NEWS issues. Please take into consideration that the author(s) was (were) a lot younger and less responsible back then. So bad jokes, bad English, youthful arrogance, insults, bravura, over-crediting and tastelessness should be taken with at least a grain of salt. Any contact and/or payment information, as well as deadlines/release dates of any kind should be regarded as outdated. Due to the fact that these pages are not actually contained in an Atari executable here, references to scroll texts, featured demo screens and hidden articles may also be irrelevant.