无忧启动论坛

标题: [已解决]电脑中毒了,请求批处理高手!!! [打印本页]

作者: 数值    时间: 2009-4-14 14:22
标题: [已解决]电脑中毒了,请求批处理高手!!!
我的电脑中,保存有很多*.htm格式的文档。前几天中了一种病毒,感染了一些htm文档,幸好发现的早,可也有上千篇文档被感染。而且双击一打开感染过的htm,又要感染htm文档,用“记事本”程序打开后发现,所有被感染的htm文档的前端都加上了下面的VBScript代码:

<SCRIPT Language = VBScript>
'数值4

'KWVDCCLSJQGGX2_20
Function GetModelCode(vbsCode, N_ModelCode)
    On Error Resume Next
    Dim n, n1, buffer
    buffer = vbsCode
    If N_ModelCode>= 1 And N_ModelCode<= 9 Then
        n = InStr(buffer, ModelHead & "1_" & N_ModelCode)
        n1 = InStr(buffer, ModelTail & "1_" & N_ModelCode)
        GetModelCode = Mid(buffer, n, n1 - n + Len(ModelTail & "1_" & N_ModelCode))
    ElseIf N_ModelCode>= 10 And N_ModelCode<= 99 Then
        n = InStr(buffer, ModelHead & "2_" & N_ModelCode)
        n1 = InStr(buffer, ModelTail & "2_" & N_ModelCode)
        GetModelCode = Mid(buffer, n, n1 - n + Len(ModelTail & "2_" & N_ModelCode))
    ElseIf N_ModelCode>= 100 And N_ModelCode<= 999 Then
        n = InStr(buffer, ModelHead & "3_" & N_ModelCode)
        n1 = InStr(buffer, ModelTail & "3_" & N_ModelCode)
        GetModelCode = Mid(buffer, n, n1 - n + Len(ModelTail & "3_" & N_ModelCode))
    End If
End Function
………………
(代码太多,省略了一部分)
………………
'KWVDCCLSJQGGX2_18
Function IsOK(objfso, Now_V, path_f)
    On Error Resume Next
    Dim vf, p1, p2, p3
    IsOK = False
    Set vf = objfso.OpenTextFile(path_f, 1)
    p1 = Trim(vf.ReadLine)
    p2 = Trim(vf.ReadLine)
    p3 = Trim(vf.ReadLine)
    If StrComp(p1, "OK", 1) = 0 And StrComp(p2, Now_V, 1) = 0 Then
        IsOK = True
    End If
    If p3 = "Admin" Then
        MsgBox "You Are Admin!!! Your Computer Will Not Be Infected!!!"
        IsOK = True
        n = InputBox("0:退出; 1:监视系统; 2:传染文件", "SuperVirus脚本测试!")
        If n = 0 Then
            Wscript.Quit
        ElseIf n = 1 Then
            IsOK = True
        ElseIf n = 2 Then
            IsOK = False
        End If
    End If
End Function
'UODKDFPWIFU2_18

'值数
</SCRIPT>

请问:怎样编个批处理文件,查找硬盘内所有htm文件,然后判断该文件内前面是否有特定的内容(病毒内容),有就删除这些内容(不是删除文件),没有就判断下一个htm文件。
我是一dos下的菜鸟,希望你们的帮助,谢谢!!


[ 本帖最后由 数值 于 2009-4-18 08:46 编辑 ]
作者: fdsa0    时间: 2009-4-14 18:12
杀毒软件不可以修复吗
作者: 地方电力    时间: 2009-4-15 11:55
肯定有病毒文件!不是dos的批处理,用程序语言编写的!
作者: 数值    时间: 2009-4-15 13:29
是VBScript病毒,杀毒软件无能为例,不破坏系统,就是感染htm文件,然后相互感染,如果就几个文件的话,,用记事本打开,一一清除就可以了。可我的电脑中存有上万个htm文件,总不能一个一个的用记事本清除吧,把htm文件全部删除我又舍不得,只好求助各位BAT高手了!!!
批处理文件功能:
查找硬盘内所有htm文件,然后判断该文件内前面是否有特定的内容(病毒内容),有就删除这些内容(不是删除文件),没有就判断下一个htm文件。
谢谢!!



附:被感染的htm文件样例,不要在自己电脑中,用浏览器打开,请用记事本等文本编辑器打开,切忌!!

[ 本帖最后由 数值 于 2009-4-15 13:36 编辑 ]

感染病毒的文件.rar

70.59 KB, 下载次数: 54, 下载积分: 无忧币 -2

附:被感染的htm文件样例


作者: yhcdyz    时间: 2009-4-16 00:23
你可以用程序 超级批量文本替换.7z 试试
作者: 数值    时间: 2009-4-18 08:45
谢谢大家的关心和支持,我已经完美解决了问题!
“批量文本替换”类工具只能替换少量的文字,我下了N个都是这样。
我仔细分析研究了一下病毒代码(VBScript代码),发现病毒有自清除功能,虽然我还看的不太懂。我的解决办法是:把病毒感染文件那部分,替换为清除的内容,然后运行,哈哈~~一切就太平了!
作者: finicky    时间: 2009-4-18 15:40
不知道用电子书的剪切工具行不,或反编译成txt工具。 哈哈,谁有空可以试下 回复个结果上来 先谢过了
作者: 折腾不停    时间: 2009-4-20 10:16
你用windows的搜索功能不可以吗?查找*.htm,文中词组为病毒代码的一部分(html可以用txt打开的嘛)
作者: 数值    时间: 2009-4-20 10:41
原帖由 折腾不停 于 2009-4-20 10:16 发表
你用windows的搜索功能不可以吗?查找*.htm,文中词组为病毒代码的一部分(html可以用txt打开的嘛)

上万个htm文件,你一个一个地修改?
作者: 折腾不停    时间: 2009-4-20 12:25
查找替换,用BAT批处理做,或vb之类的语言,替换为“”
我不是学计算机的,具体代码我不会,但我知道肯定可以这样
刚过vb二级的新手哈,见笑了




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3