病毒安全知识,电脑网络技术,手工杀毒方法,答疑解决笔记

导航

« opera_plugin_wrapper.exe批处理中的“>nul” »

删除“无法禁用的宏”

  这是上次遇到MSExcel.ToDole宏病毒的后续,不知道为什么有的excel文档在经过专杀处理后,病毒模块已经删除了,但是在打开文档时仍然提示“该工作簿中包含一种无法禁用的宏(Microsoft Excel 4.0版的宏)”,一定要启用宏后才能打开,而在文档里却找不到任何宏,VBA编辑器里也没有多余的代码,也再查不出任何病毒,在C:\Program Files\Microsoft Office\OFFICE11\XLSTART和C:\Documents and Settings\Administrator\Application Data\Microsoft\Excel\XLSTART下也没有任何可疑的启动文件。

  再次查对病毒的代码,原来还有一个隐藏的宏表存在,只是一度相信专杀工具的能力,认为它已经清除病毒了,没想到竟然还有遗留(也有可能是因为该文档加过密吧)。要显示隐藏的宏表,先从工具-宏-Visual Basic编辑器,右键点击任一工作表(就是sheet那些),点击“查看代码”,把下面代码粘贴到代码窗口:

Sub test()
Dim sh As Worksheet
For Each sh In Excel4MacroSheets
If Not sh.Visible Then sh.Visible = 1
Next
End Sub

将光标定位到代码段内,按F5运行。然后回到工作表的界面(Visual Basic编辑器可以关掉了,上面输入的代码也可以删除,不需要了),就可以看到被隐藏的工作表(注意,通过VBA代码隐藏的工作表是不能通过菜单中的“格式”-工作表-“取消隐藏”来解除隐藏状态的),在我这里出现的原先隐藏工作表是Macro1(如下图),这是一个保护宏的机制,如果禁用宏将不能打开excel文档,被病毒利用来保护自己。

隐藏的宏表

删除此工作表,但事情并没有结束,然后切换到该excel工作簿其它每一个正常的工作表时就会出现“找不到#REF!$A$2”,虽然不影响具体操作,但很烦人,原来这个病毒为每个表都添加工作表级别的名称“Auto_Activate”,并将引用都指向宏表“Macro1”的A2单元格,“Auto_Activate”是一个自动宏,表被激活时自动执行,(病毒代码: wb.Names.Add sht.Name & "!Auto_Activate", "=Macro1!$A$2", False ......),而且这个工作表级别的名称是隐藏的,所以想在菜单中的“插入”-“名称”-“定义”中发现它是不可能的。不过虽然是隐藏的,但删除还是可以的,进入 “插入”-“名称”-“定义”, 在最上面的框中输入要删除的名称,如本例中的Auto_Activate,然后点击删除,就把这个隐藏的工作表级别名称删除掉了,整个excel工作簿中所有的工作表都要这样删除一遍,这样才能把这个引用宏的影响彻底消除。顺便说一下,如果打开excel文档出现找不到宏的提示,也可以到这里来查查看是否有什么名称要删除。

删除工作表级别的名称

最后,保存excel,再次打开就不会出现“无法禁用宏”的提示了,当然这个excel文档本身原来就没有宏的。

关于显示隐藏的宏表可参考:1、http://club.excelhome.net/thread-294584-1-1.html 2、http://club.excelhome.net/thread-198460-1-93.html

关于保护宏可参考:1、http://blog.163.com/a_teacher/blog/static/41721254201111991716601/ 2、http://blog.csdn.net/czmao1985/article/details/5969710


>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/1257.html

  • 1楼.面带微笑
  • 嘿嘿,你真能折腾
    流风33 于 2012-6-27 17:9:35 回复
    其实我是被折腾的那一个

  • 2012-6-27 11:26:01  [引用]
  • 6楼.zx
  • 哥们儿,试了一下,不能用呀
    流风33 于 2012-7-4 21:52:27 回复
    能说一下具体是什么不能用吗?如果原来就没有隐藏的宏表的话,那肯定是什么也不会显示

  • 2012-7-4 16:59:25  [引用]
  • 8楼.随心
  • 公司有百多台电脑中了这个病毒,请问兄弟有高效的清理办法吗??
    我之前是每台电脑安装了宏病毒专杀不过能够杀的出病毒,却一段时间之后有会复发
    (5月份的版本,看了你的帖子发现有新版本,我也更新了)
    流风33 于 2012-9-4 16:23:12 回复
    一般杀毒软件都能查杀宏病毒,不过一些“时髦”的免费杀软却已经把它从病毒库中删除了。所以如果杀毒软件能用的话,就开着监控,特别是监控邮件,大多是从邮件传来的。这个宏病毒专杀工具也能开监控。
    如果不喜欢的话,只有最简单但也是最笨的方法,在C:\Documents and Settings\Administrator\Application Data\Microsoft\Excel\XLSTART下建立一个k4.xls文件夹来免疫
    随心 于 2012-9-27 10:19:11 回复
    那病毒很猖狂。能杀不能防。
    我在C:\Documents and Settings\Administrator\Application Data\Microsoft\Excel\XLSTART下建立一个k4.xls文件夹,也马上给病毒删掉了。。。。
    主要中毒的机子太多了。。很烦。。
  • 2012-9-4 13:43:05  [引用]

发表评论(无须注册,所有评论在审核通过后显示):

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  • 微信订阅号
    微信订阅

最新发表

最新评论及回复

本站出现的所有广告均不代表本人及本站观点立场 | 关于我 | 网站地图 | 联系邮箱 | 返回顶部
Copyright 2008-2020 www.stormcn.cn. All Rights Reserved. Powered By Z-Blog.

闽公网安备 35010202000133号