18 November 2014

如何删除toDOLE宏病毒

作者:tigerzyj2008

toDOLE , excel , 宏病毒


引言

toDOLE在电脑中“栖息”了有一段时间了,今天偶然用到excel,它又跳了出来,真是是可忍,孰不可忍。立马寻了个方子将其拿下。

方子甚好,寥寥数语,尽述其关窍。遂转全文于此,并增补图片,以备不时之需。

手动删除toDOLE步骤

1) 如果感染该病毒,打开任意EXCEL文件,将会同时启动一个叫做K4的excel文件 2) 按ALT+F11打开VBA工程窗口 找到TODOLE模块并删除,

删除toDOLE-step1

图1 打开VBA编辑器

删除toDOLE-step2

图2 删除ToDOLE模块

点击上面的EXCEL对象里的thisworkbook,会看到右边窗口有一段代码,全部删掉

删除toDOLE-step3

图3 删除thisworkbook中的代码

3) 此时不要关闭和打开其它excel文件,在C盘或你的系统安装盘下找如下路径:C:\Documents and Settings\Administrator\Application Data\Microsoft\Excel\XLSTART。在这里可以看到有一个K4文件,删除它(或者是WIN7系统的换成C:\Users\登录名\AppData\Roaming\Microsoft\Excel\XLSTART)

删除toDOLE-step4

图4 删除K4.xls

4) 在excel任意工作薄右键点查看代码,粘入下面的代码并执行

    Sub ShowAllMySheets()
        MsgBox "使当前工作簿中的所有工作表都显示(即将隐藏的工作表也显示)"
        Dim ws As Worksheet
        For Each ws In Sheets
            ws.Visible = True
        Next ws
    End Sub

    Sub excel自定义名称显示和隐藏()
        On Error GoTo ERR1
        Dim nm As Name 
        Dim bVisible As Boolean
        With ThisWorkbook
            If .Names.Count > 0 Then
                bVisible = True
            For Each nm In .Names
                nm.Visible = bVisible
            Next nm
            If bVisible Then
                MsgBox ("所有名称可见!")
            Else
                MsgBox ("所有名称隐藏!")
            End If
            Else
                MsgBox ("本工作簿没有定义名称!")
            End If
        End With
        Exit Sub
    ERR1:
        MsgBox (Err.Description)
    End Sub

删除toDOLE-step5

图5 在sheet1中添加代码

5) 成功后可以看到多出一个工作薄Macro,删掉它

删除toDOLE-step6

图6 删除被隐藏的Macro表

6) 切换到公式里查看名称管理器,删除所用不明定义

删除toDOLE-step7

图7 打开名称管理器

删除toDOLE-step8

图8 删除不明定义

7) 至此,病毒去除完成