荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Mill (今天干了什么?), 信区: Virus
标  题: 如何对付宏病毒
发信站: BBS 荔园晨风站 (Mon Oct 19 12:36:52 1998), 站内信件

发信人: milk (黑龙忍者), 信区: Virus
标  题: 如何对付宏病毒---摘
发信站: BBS 一网情深站 (Wed Oct 14 22:33:29 1998)

如何对付宏病毒

  Word宏病毒将普通文件存放为带宏程序的模板文件并复制病毒模块至通用模板,从而达
到传播的目的。例如,当打开一个带毒的模板文件时,首先由系统启动当前模板的FileOpen
宏,随后将启动带毒模板的AutoOpen宏。宏病毒正是通过AutoOpen宏感染系统的通用模板(
NORMAL.DOT)而进一步传播,因而在通用模板NORMAL.DOT中出现可编辑修改的宏命令(如
FileOpen、FileSaveAs、FileExit等)一般都是宏病毒。

  在打开文件时判断该文件是否携带了宏命令就可增强系统对宏病毒的防御能力,而一般
用户极少编制宏命令,出现非系统携带的模板文件往往意味着该文件为带毒文件,将带毒模
板存放为一般的文件而抛弃其中的病毒宏程序即可达到杀毒的目的。

  以下是按照上面思路所编写的宏命令FileOpen,系统在打开文件时调用了这个宏命令,
用户可手工将之加到通用模板NORMAL.DOT中,具体方法是从工具(Tools)菜单下选择宏(
Macro)选项后加入以下FileOpen宏命令并保存到通用模板NORMAL.DOT中,此后在打开模板

件时将会弹出对话框,询问如何处理,用户可以选择作为模板打开、作为文件打开或放弃。
除非用户确信其中不会有宏病毒,否则应选择作为文件打开以避免感染病毒。

  若系统已经携带了宏病毒,一个稳妥的方法是在备份了当前使用的NORMAL.DOT模板后删
除其中能够删除的宏命令(Word系统自身所带的系统宏是无法删除的),然后再输入下面的
宏程序。请注意以下程序仅为一个PWin 3.2+PWord 6.0系统下的示范程序,其中缺少一些

错处理过程,若在其它系统平台(如Win95、NT或Macintosh)或Word版本下可能要作某些改
动,并且存在着其它不调用FileOpen宏却能打开文件的操作方法,这需要进一步修改其它一
些宏(如ShellOpen、AutoExit等)。微软在国际互联网
http://www.microsoft.com/msoffice下提供了一个西文Word的防宏病毒程序SCANPROT.DOT

需要作一些修改才能适用于Word汉化版。'FileOpen宏 打开文档或模板时会被执行

Sub MAIN

ScreenUpdating(0)

DisableInput 1

DisableAutoMacros 1

Dim dlg As FileOpen

GetCurValues dlg

If (Dialog(dlg) = 0) Then Goto EndFunc

dlg.AddToMru = 1

FileOpen dlg

file$ = FileName$()

Dim DlgFSA As FileSaveAs

GetCurValues DlgFSA

If (DlgFSA.Format = 1) And (CountMacros(1) > 0) Then

OpenTemplate(file$) '打开模板文件

EndIf

EndFunc:

ScreenUpdating(1)

DisableInput 0

DisableAutoMacros 0

End Sub

Sub OpenTemplate(file$)

HasAutoOpen = 0

For i = 1 To CountMacros(1)

If LCase$(MacroName$(i, 1)) = "autoopen" Then HasAutoOpen = 1

Next i

Title$ = "警告!"

Message$ = "文件中有宏命令!请选择打开方式" + Chr$(13) + "是:文本 否:模板 取
消:放弃"

button = MsgBox(Message$, Title$, 51)

Select Case button

Case - 1 '作为文本打开

OpenPureDoc(file$)

Case 0 '作为模板打开

If (HasAutoOpen = 1) Then Call AutoOpen.Main

Case Else '放弃返回

FileClose 2

End Select

End Sub

Sub OpenPureDoc(file$)

FileClose 2

FileNew .Template = file$

FileTemplates .Template = ""

SetDocumentDirty

Title$ = "注意"

Message$ = "宏命令已被取消,可将此文件作为" + file$ + "存盘。"

MsgBox(Message$, Title$, 64)

End Sub



摘---武林秘籍藏书阁
--
m m m m m m m m m m m m m m m
    m       m   ┏━━┓       m m  伊妹儿E-mail:heilongrenzhe@126.com5m
       m    m   ┃黑龙┃
          m   m ┃忍者┃        m 7m       E-mail:heilongrenzhe@263.net 7m
            m m ┗━━┛

m5m※ 来源:·BBS 一网情深站 bbs.szptt.net.cn·[FROM: 202.96.135.211]m

--
                         ┏━━━━━━━━━━━━━┯┓
                         ┃ 弃我去者,昨日之日不可留, ╚┫
                         ┃ 乱我心者,今日之日多烦忧.   ┃
                         ┗━━━━━━━━━━━━━━┛

                                                Waiting For You...

※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.167]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店