------------------
This stack eliminates script based viruses which spread
themselves by appending the scripts of other stacks
with additional instructions which in turn infects
every stack they come in contact with. The original
virus of this ilk is called "merryxmas."
merryxmas Vaccine The Next Generation
--------------------------------
Since the appearance of merryxmas, other strains have
surfaced such as merry2xmas, Lopez and others too crude
to mention. Version 3, the third generation of this
stack, is a broad spectrum vaccine that catches them
all.
What the viruses do
----------------
By design, most of these viruses are intended only to
replicate themselves in other stacks. The worst they
are intended to do is quit (not crash) HyperCard unexpectedly.
An unintended problem is that portions of other scripts
can get sucked into the virus script. The results can
be confusing and frustrating.
Another HyperTalk based virus that merryxmas Vaccine now catches is "pickle" also known as "HC 9507." The pickle virus is a nasty creation that copies not only itself into the scripts of random stacks, it copies resources - several of which are bastardized copies of Frédéric Rinaldi's XCMDs & XFCNs. If your stack already contains resources with the same names or ID numbers - they get clobbered. Pickle is also a crasher.
NEW in v3.2
A well meaning merryxmas "antibody" has appeared.
Unfortunately, while it may have good intentions, it
is by definition a virus itself. It doesn't do any
harm, but it does quietly insert itself into the Home
stack and others in much the same way merryxmas does.
Version 3.2 removes the antibody.
Requirements
-----------
This stack requires HyperCard v2.1 or later. This is
to handle System 7 aliases. System 7 is not required.
Color monitors (optional) will display "status
colors."
If you use a compression utility such as AutoDoubler(TM), be sure to have adequate free space on the volume being checked. Stacks have a way of expanding as they are being examined.
This stack needs to run unlocked in order to display it's findings.
What this stack will do
-------------------
For a selected stack, folder or entire volume, this
stack will peek at the stack scripts (without opening
the stacks) and strip out the virus code.
A bonus feature is the option to compact those stacks
that have free space in them. Don't worry about locked
stacks - merryxmas Vaccine will unlock them as needed
and put them back just the way it found them.
This stack will also offer to lock the Home stack against future infections. This is the same as checking the "Locked" checkbox in the Get Info window and can be unlocked at any time by clicking once on the icon of the Home stack; choosing Get Info from the File menu; then unchecking the checkbox.
How to use this stack
------------------
Step 1. If you know, or suspect that the Home stack
is infected, it is best
to replace it with a copy from your original
disk first.
Step 2. Open this stack and click the "Disinfect
Stacks" button
or the "Check Standalone" button
(to check a stack that has been saved as
a standalone application).
Step 3. Select the stack, folder or volume (disk) you
wish to disinfect.
Thanks to this version's ability to disinfect itself upon opening, you no longer have to be concerned with keeping a locked copy to protect it from infection.
To take this stack out for a test run, use it to scan
a floppy disk.
Locked volumes will be scanned without making changes.
The scripts
---------
The code is based on a copy of an infected stack brought
to my attention by Ken Dunham at LaGrande Middle School.
It was developed on my own time, at home, for use by
anyone.
Soapbox
-------
Viruses are unworthy creations for such clever and talented
people.
It is my hope that the authors of HyperTalk based viruses
will realize the destructive impact that pranks like
this have in terms of lost time & productivity
and find inspiration for more constructive contributions.
Copycat virus spreaders on the other hand are neither
clever nor talented.
They are small minded trouble makers, low on the food
chain.
Bill Swagerty
AOL: Bill DS
Internet: billds@aol.com
Known Problems
-------------
Sometimes the external function used to select a folder
does not enable the Select button. The workaround is
to simply open the desired folder, then step back out
of it again. This seems to give it the virtual WHACK
it needs to jog the Select button into service.
Acknowledgements & Version History
------------------------------
Version 3.2
*Jacque Gay for bringing the merryxmas "antibody"
to my attention.
-Now avoids prompts for the Scriptable Text Editor with
certain stacks.
Version 3.1
-Improved detection of infections in very large standalone
stacks.
Version 3.0
-Now scans itself for viruses and eliminates them upon
opening.
-Created two new XFCNs for better script salvaging performance.
-Now eliminates virus code from the unused portion of
the data fork to
help commercial utilities that can't tell what's used
from what isn't.
-New DNACheck XFCN to catch all strains of the merryxmas
virus including
a destructive strain called "crudshot."
-Removes the "pickle" virus, a HyperTalk virus
not related to merryxmas.
*Jacque Gay for excellent brainstorming and thorough
testing.
*Bill Stafford for pointing out how compacting could
work as intended.
*Ken Dunham for pointing out a resume stack window loading
problem.
*Till Stegers for suggesting the option to save reports
to a file on disk.
Version 2.0
*Jacque Gay for ideas on broader detection and protection
techniques.
*Ralph Gross, Batavia Middle School for isolating additional
virus strains.
-Now employs a custom XFCN to catch more strains of
merryxmas.
-Abandoned attempts at inoculating the Home stack in
favor of locking it.
-Added provision for scanning standalone stack applications.
Version 1.5
*Dennis Kane for bringing the misuse of a reserved word
to my attention.
-Added an option to inoculate the Home stack against
future infections.
-Made the color indicator move with the card when the
window is moved.
-Added a button for printing the activity report at
the end of a scan.
-Added a musical completion notice.
Version 1.4
*Ronald Zellner, Texas A&M University for better
inoculation strings.
-Added provision for scanning an individual stack or
folder.
-Enhanced to display colors on monitors set for more
than 256 colors.
Version 1.3
-To accommodate accidental mutations, the vaccine now
removes
everything from the virus code on down from infected
stack scripts.
-Stacks are assumed to be Finder locked if IsFinderLocked
fails.
Version 1.2
*Mark Johnson for pointing out GetDir's weakness for
names with commas.
-Color indicator light left red if any stacks could
not be disinfected.
Version 1.1
-Accommodated the way Mac Pluses respond to the MonitorConfig
XFCN.
Version 1.0
*Ken Dunham <kdunham@ednet1.osl.or.gov> for telling
me about the virus.
*Bill Marriott for the straight HyperTalk progress bar.
DNACheck v1.2 XFCN © 1995...1997 Bill Swagerty
FilePath v1.1 XFCN © 1989,1990 Apple Computer,
Inc.
FolderPath v1.1 XFCN © 1989,1990 Apple Computer,
Inc.
GetDir v2.2 XFCN © 1990...1992 Frédéric
Rinaldi
GetFInfo v1.3 XFCN © 1990...1993 Frédéric
Rinaldi
IsFinderLocked v1.2 XFCN © 1990,1991 Frédéric
Rinaldi
KillRes v1.4 XCMD © 1990...1992 Frédéric
Rinaldi
LostInSpaces1 v1.0 XFCN © 1995 Bill Swagerty
LostInSpaces2 v1.1 XFCN © 1995...1997 Bill Swagerty
MonitorConfig v1.1 XFCN © 1989,1990 Apple Computer
SetFinderLock v1.2 XCMD © 1990,1991 Frédéric
Rinaldi
VolumePath v1.1 XFCN © 1989 Apple Computer,
Inc.
VolumeIsLocked v1.0 XFCN © 1990 Apple Computer,
Inc.
AutoDoubler is a trademark of Salient Software, Inc.
This page was created using TextToHTML. TextToHTML is a free software for Macintosh and is (c) 1995,1996 by Kris Coppieters