"Probably the earliest flyswatters were nothing more than some
sort of striking surface attached to the end of a long stick."
Jack Handey
THE FOREVER PERPETUALLY CONTINUOUS NEVERENDING STORY OF VIRUSES
(SEEMINGLY)
by Richard Karsmakers
It is said that true virus killers never sleep. This is a lie.
True virus killer just sleep entirely different hours. And when
they sleep, they sleep at high speed.
The battle against viruses still doesn't relent. Even though,
luckily, people seem to be developing less and less viruses in
the course of time, the actual virus phenomenon is still very
much a pain in the butt - the reason why virus killers still try
to become a better and better painkiller.
People often ask me: "Why do you keep on making new virus killer
versions every three months when only one or two viruses pop up
in half a year or so?"
Well, allow me to compare this with the position of medical
science today. Is it not so that mankind knows how to solve all
diseases (except for a few)? How come then that even the curable
diseases still exist?
I will not speculate what the answer to the above question is,
as it's a stupidly complex one involving money, religion and
geographics. What it boils down to is that the same thing is very
much valid for computer viruses. Even though we may know how to
kill them efficiently, there will always be people who, for some
reason or other, remain being troubled by them - which then
causes the whole thing to keep on starting anew. Viruses will not
die out before every single user has a virus killer and scans
all of his software with a decent virus killer. As I have not
sold as much virus killers as there are ST/TT users, there are
still and probably forever will be loads of users who are
troubled by these nasty little buggers of informatics.
And basically what I try to do is make each version better and
better so that is recognizes more and more and gets faster and
faster. These are goals that have been redefined in the last
couple of versions to be released, of which I will give a short
enhancement summary below:
- Version 5.6BRD (August 19th 1992)
This version was specially made for IPV GmbH. It's a German demo
version made for the Düsseldorf Atari Messe. It was a cut-down
version of version 5.6BRD as it was at that moment.
Not to be confused with the REAL version 5.6BRD (see below).
- Version 5.6GB (September 29th 1992)
The file structure on disk has changed, mainly due to the fact
that the "Ultimate Virus Killer" disk is now double-sided,
allowing twice as much space. Manual is no longer compressed, and
the appendices have been put into separate files: "HISTORY" for
the version notes, "APPLICAT" for the resident applications that
are recognised, "VIRUSES" for the complete list of all viruses
and anti-viruses, and "REPAIR" for the list of bootsectors
contained in the internal library that can be repaired.
* The link virus scan now also recognizes compressed files if you
want to, and can warn when these are found. An option has been
added to the Command Line Syntax to allow this to be used from
that as well: Parallel to the "-", a "+" may be used to switch
on packer information. Do note that, with the packer
information switched on, the link virus scan becomes a LOT
slower! The extended packer information is always switched on
when checking link-viruses manually!
* An alert box after disk write accesses has been included,
suggesting you to write-protect the disk to minimize the
chances of virus infection.
* Internal program structure has been optimized so that I can now
compile it within about 1 minute - that's 75% faster!
* Due to the fact that, on some machines out there, the system
status screen tends to crash (totally disabling the use of the
"Ultimate Virus Killer"), the initial appearance of this screen
can be suppressed by keeping the RIGHT SHIFT key pressed during
booting until the first regular alert box appears.
* Internal recognition struction optimized (idea by Kai Holst!).
* The system status screen now displays XBRA codes by default, if
any are found. Pressing CONTROL will only display the usual
numbers.
* The program no longer hogs all memory (i.e. it does not take up
ALL available memory).
* Executable MS-DOS disks are now analysed, disabling virus
programmers from evading the Virus Probability Factor algorithm
by merely giving their virus code certain MS-DOS bootcode
characteristics. Normal MS-DOS-compatible disks, such as can be
formatted when you have TOS 1.04 or higher, should NOT be
executable!
* Crash with TOS 1.04 TOS Fixers is corrected (these programs
locate themselves in privileged memory; the virus killer tried
to access that, which caused bombs).
Its main statistics: 1227 recognized bootsectors, 67 recognized
bootsector viruses, 5 recognized linkviruses, 37 recognized anti-
viruses, 94 recognized resident applications and 31 recognized
packer formats. Up to 612 bootsectors can be repaired.
PLEASE NOTE: The programs on the "Ultimate Virus Killer" disk
are also compressed - so when extended packer info is switched on
during link virus scan, these files will trigger 'packer used'
warnings as well. Needless to say, there is no need for alarm
whatsoever in the cases of these "Ultimate Virus Killer" files
when you have legally obtained them, as they have been checked
for link virus infection before having been packed.
- Version 5.6USA (September 29th 1992)
Identical to version 5.6GB, 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.6NL (September 29th 1992)
Identical to version 5.6GB, with the exception of the name ("ACN
Final Virus Killer") and all text output, which is in Dutch.
- Version 5.6BRD (September 29th 1992)
Identical to version 5.6GB, with the exception of all text
output, which is in German.
- Version 5.7GB (January 7th 1993)
Some files were added to the disk:
* "VKILLER.CPX" is a module for the Atari Control Panel eXtended.
All those German reviewers kept on complaining about the fact
that the program didn't work as an accessory, so now finally
it's here. Well, sortof.
* "YEAH.NIC" is a file containing an icon compatible with
Gribnif's "NeoDesk" version 3.x that you can use to designate
the "Ultimate Virus Killer" program file with.
And finally, ladies and gentlemen, these are the enhancements:
* Instead of just allowing you to check entire partitions or
single files for link viruses, you can now also opt for an in-
between thing that allows a separate folder to be tree-scanned
(i.e. with all folders in it). Just select "file or folder"
instead of "entire partition" and select the folder you desire
to be scanned without actually clicking on a file. Press "OK"
in the item selector to start checking, "Cancel" to abort.
* Bootsector virus scan speed optimized by 85%, resulting in it
being 6.5 times faster, so that the diagnostic routines as such
now take up an average of as little as about 0.27 seconds per
bootsector (this used to be 1.77 seconds).
* On top of that, the recognition data line format is now up to
20% more compact.
* Virus Probability Factor calculation is now a whoppin' 17 times
faster (!).
* Program works on half megabyte machines again (version 5.6, due
to a painfully obvious memory RESERVE error, only worked on 1
megabyte or more).
* Bug with perpetual loop if 'suspect executable MS-DOS disk
found' alleviated.
* Zorro Virus recognition improved to include all possible
different versions of it (theoretically there can be thousands
of different varieties!).
* Many internal routines ruthlessly optimized, resulting in about
10% less program size (bringing it back to the approximate size
of the version 5.4 program).
* Linkvirus check with warnings (the ones that detect compressed
programs) now up to 42% faster.
* DESKTOP.INF file on disk now switches blitter on (if present,
that is).
* The repair bootsector selector now has different and more
flexible keyboard input - it will scan for the first title
matching all the characters you type in sequence, only going
back to the usual mode when a nonvalid character is found. If
you type "STAND" it will go to the entries starting with
"STAND". If you type "STANZ" it will find entries starting with
"S", then "ST, then "STA", then "STAN" and then "Z" (as there
is no title starting with "STANZ", it will then assume the old
search mode and display the first item starting with the first
non-valid character - in this case a "Z"). Pressing "Backspace"
will cause the buffer to be emptied, so "Backspace"+"G", for
example, will at any time jump to the first title starting with
a "G" as was the case with previous versions.
Note that this has NOT been implemented in the REPAIR.PRG
selector in order to preserve memory space.
* The system status screen remembers its result values - second
and further activations of this screen will be lightning fast.
* A large amount of resident applications have been added in the
system status screen recognition - and others have been made
better. Thanks to Kai Holst there.
* This "HISTORY.TXT" file's layout has been enhanced - requested
by Kai Holst, the person whose name is mentioned more than mine
in this file!
* The keys you can press in the system status screen have been
changed (again), for the last time. Keeping CONTROL pressed
speeds up the output. Keeping ALTERNATE pressed shows only the
application ID numbers instead of XBRA codes when found.
* System Status Screen speed (with CONTROL pressed) 3 times
faster.
* The manual was updated - especially the trouble shooting chart
and the chapters "SYSTEM STATUS SCREEN" and "WORKING WITH THE
UVK".
* Check out the end of this file.
All speed increases calculated above were performed on a bog-
standard ST running at the usual 8 Mhz. Lots of thanks need to go
to Stefan Posthuma (mentioned earlier already) and Kai Holst
(programmer of the "Antidote" virus killer) who both helped me
considerably with ideas for speed increase and further program
optimization.
Its main statistics: 1326 recognized bootsectors, 68 recognized
bootsector viruses, 5 recognized linkviruses, 38 recognized anti-
viruses, 119 recognized resident applications and 33 recognized
packer formats. Up to 653 bootsectors can be repaired.
- Version 5.7D GB
Various demo versions have been released as of November 5th
1992, as internal program re-structuring basically allows <100 Kb
demo versions to be made within a matter of minutes. A brief date
history follows below.
November 5th 1992: Merlin PD Library.
November 25th 1992: ST Review Coverdisk Demo.
- Version 5.7USA (January 7th 1993)
Identical to version 5.7GB, 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.7NL (January 7th 1993)
Identical to version 5.7GB, with the exception of the name ("ACN
Final Virus Killer") and all text output, which is in Dutch.
- Version 5.7BRD (January 7th 1993)
Identical to version 5.7GB, with the exception of all text
output, which is in German.
- 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.
Its main statistics: 1356 recognized bootsectors, 70 recognized
bootsector viruses, 5 recognized linkviruses, 38 recognized anti-
viruses, 125 recognized resident applications and 34 recognized
packer formats. Up to 658 bootsectors can be repaired.
I think I will continue making virus killers indefinitely. Or at
least until the Falcon is no longer in vogue - which may be
another decade or so (unless Atari severely screws up things).
New Viruses
I already mentioned the fact that people don't seem to find it
necessary to create a lot of viruses recently. The ones that have
been done, however, are described below (including a new anti
virus entry).
Virus #68
Name: Zoch Virus.
Type: Memory-resident bootsector virus.
Discovery date: December 1992.
Virus can copy to drive(s): Current floppy drive (A or B).
Virus attaches itself to: Hdv_bpb.
Disks can be immunized against it: Yes (0.L $5A4F4348, "ZOCH").
Immunizable with UVK: No.
What can happen: Text on screen (The Night Force Virus Breaker by
Zoch), and copies itself.
When does that happen: Text appears on installation. It copies
itself to all disk it is not on already.
Resetproof: No.
Can copy to harddisk: No.
Remark: To all intent and purpose this virus was written as an
antivirus. Unfortunately it copies itself across ALL bootsectors
it finds with the exception of ones it finds itself on. This
means that it will destroy any previous program in the
bootsector, whether needed or virus!
Virus #69
Name: Macumba 3.3 Virus
Type: Reset-proof memory-resident bootsector virus.
Discovery date: February 1993 (Chris Brookes).
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: The system freezes totally and abruptly.
When does that happen: After a specific number of copies have
been made of itself.
Resetproof: Yes.
Can copy to harddisk: No.
Remark: This virus also codes itself and also fakes to be an MS-
DOS disk (just like the Zorro Virus). Quite naughty.
Virus #70
Name: Zorro Virus B.
Discovery date: February 17th 1993 (Kenneth Elofsson)
Remark: Virtually identical to Zorro Virus A, so refer to
information given there. Only a few bytes have been changed.
Anti-virus #21
Name: Caledonia Exorcist 2.0.
Discovery date: December 1992.
Symptoms: At startup it will put the message "Caledonia Exorcist
2.0" on the screen. Whenever an executable bootsector is found
during it being resident in memory, it will warn you. At any
time you can press ALT-HELP to have this antivirus install
itself on the current disk. It will not copy itself without you
wanting it to.
Remark: Written for/by the Caledonia PD library. The copy routine
crashes on my system. Not to be confused with some virus free
disks of the same name made by some French hackers.
Floppyshop to replace Mike Mee's "Professional Virus Killer"
Probably one of the best virus killers on the market, and surely
one of the very best commercial ones, was Mike Mee's
"Professional Virus Killer", published by Steve Delaney's
Floppyshop ST. Mike told me that version 2.1 will be the final
update he'll do.
Mike has too little time left as he's busy on an academic career
that consumes fairly large amounts of it.
The "Professional Virus Killer" will be reincarnated as
"Professional Virus Killer 3" by Chris Brookes (who did the
Sircware Virus Protector on the previous ST NEWS disk).
I really like the virus killer continueing - I need competition
to actually get an urge to do some more coding to improve my own
virus killer.
All of it this was (as opposed to "that's all there is" that I
usually end just about all articles with and which I guess
becomes sortof tedious if you, dear reader, read it all the
time).
Better next time.
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.