怎么处理宏病毒|最快解决excel宏病毒的问题

本人由于工作原因经常会接收到其它人传来的Excel文件,各种版本都有,从97版本2010版,经常传来的都是被宏病毒感染了的。

但是目前各主流杀毒软件几乎都对宏病毒视而不见,目前我还没见过哪个杀毒软件能有效查杀宏病毒。有时候下载的宏病毒专杀工具也无法查杀干净。所以我经常都是手工进行处理,总结了一下手工查杀宏病毒的方法。下面我以2010版Excel为例说说怎么手动查杀。

感染了宏病毒的Excel文件,首先要在菜单的开发工具,Visual Basic 编辑器里查看代码,可以详细看到宏病毒的代码,仔细读下代码就知道它干了些什么,再根据具体情况进行查杀。

怎么处理宏病毒|最快解决excel宏病毒的问题

宏病毒必做的一件事情就是把自己复制到XLSTART文件夹下面去实现启动Excel时的自启动。我电脑上的路径在:C:\Program Files (x86)\Microsoft Office\Office14\xlstart。这个文件夹下面的文件要删除……

对于有的宏病毒,是用的隐藏宏,还有隐藏的sheet里面,直接通过Visual Basic 编辑器里查看代码是看不到的。这时候就可以用下面的代码在Visual Basic 编辑器里运行一下,把它们显示出来。然后再逐个删除,把病毒代码的模块移除。

怎么处理宏病毒|最快解决excel宏病毒的问题

Sub xianshi()

Dim n,s '2010以前版本可以不用定义

ForEach n In ActiveWorkbook.Names

n.Visible = True

Next

ForEach s In ActiveWorkbook.Sheets

s.Visible = True

Next

EndSub

有时候通过以上方法把恶意代码删除了,把隐藏的工作表也显示出来删除掉了,但是打开被感染的文件还是显示找不到macro1$A$2,每点一个工作表都弹出来,很是烦人。其实这是原来的宏病毒搞的隐藏的名称,这个在常规状态下打开名称管理器也是无法看到的,无法删除,也需要运行一下以下代码才可以显示,然后打开公式里面的名称管理器删掉就OK了,被感染的文件完美还原。

怎么处理宏病毒|最快解决excel宏病毒的问题

Sub DisplayNames()

Dim Na As Name

For Each Na In ThisWorkbook.Names

Na.Visible = True

Next

End Sub

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部