回 帖 发 新 帖 刷新版面

主题:VIKING病毒专杀

最近VIKING病毒老是来惹我,可恶的是用的杀毒软件根本无法检测出病毒,无奈下自己动手写了个威金专杀,可以分析病毒大小,可以单杀某个EXE文件,等等,病毒信息会自动保存,我想应该可以对付威金病毒的任意变种了。
http://upload.programfan.com/upfile/200704110851197.rar

回复列表 (共37个回复)

沙发

不错,不过能不能公布一下源码让我们学习一下?

板凳

VIKING病毒查杀关键是病毒的大小和怎么判断是感染病毒的文件

解决方法:

1、分析程序文件的图标,一般感染的EXE文件是没有图标的,所以利用API函数ExtractIcon就可以判断该程序文件是否感染了;
2、病毒大小: 通过循环逐步增加字节同时判断是否有图标,如果有就说明是病毒大小了代码如下
 For Vid = CLng(Text4) To CLng(Text5)   '病毒大小估计范围
          Open Text3 For Binary As #1
               lenth = LOF(1) - Vid
               ReDim s(lenth) As Byte
               Get #1, Vid + 1, s()
          Close #1
          Name Text3 As Text3 & ".old"    '保留原文件
          Open Text3 For Binary As #1
               Put #1, , s()              '重建新文件
          Close #1
       Label2.Caption = "已分析:" & Vid & "/" & Text5
       DoEvents
       If StopAnalyze = False Then Exit For   '判断是否终止分析
       '检查文件是否回到正常
          If JudgeIsIcon(Text3) Then   ' 判断新建的文件是否有图标
             List2.AddItem Vid
             Label2.Caption = "分析完成!病毒大小为" & Vid & "字节。"
             Exit For
          Else
             Kill Text3               '没有就删除新建的文件
             Name Text3 & ".old" As Text3    '恢复原文件
          End If
      Next                     '继续分析

3 楼

希望大家互相学习

4 楼

通过判断图标的方法我觉得不怎么好吧!!!很多文件以前被修复了但是图标也是存在问题,这样不就又被你认为是VIKING了么?

我觉得最好的方法是判断每个EXE文件的计算机实际大小,因为被感染了的文件计算机实际大小都是一样的。这可能就是VIKING最大的特点了(要想杀威金病毒的任意变种,这个是最好的方法了)

不知道大家了不了解计算机实际大小!以前我问了很多次都没人知道这个是什么意思!
我相信伞哥应该会知道EXE文件的计算机实际大小是什么意思吧?

如果您知道如何获得EXE文件的计算机实际大小的话请给份代码我哟  呵呵  太贪心了

5 楼

首先感谢楼上的关注本题, 需要说明的是我的判断图标的方式不是象你那样认为的判断。因为VIKING病毒感染的EXE程序,其实是病毒头+原程序,所以感染的EXE文件比原来的大,但问题是如何判断EXE文件是被感染了呢?这是个关键。原先我也考虑的是判断大小,但问题是我们怎么知道该程序的大小变化了呢,包括有些可能是自己版本升级增加的字节,所以我最终放弃了这种想法。采用图标分析方法其实2楼的代码已经很能说明问题,正因为感染文件=病毒头+原程序,而只要脱掉病毒头,原程序的图标就恢复正常,这样我就首先让程序做分析,即从头不断的减少字节并同时判断是否有图标个数出现,如果有就说明病毒头大小已经被找到,接下来只要减掉这个大小的字节就是正常的EXE文件了。同时这个病毒头大小就可以保留在我的病毒信息里。通过分析后我的程序就能够将这种病毒查杀,处理方式:先将这个头切掉并判断处理后的文件是否有图标,有的话就说明是感染文件,没有的话恢复其原样。这样就不会出现杀错的现象。
    而且我也自己仿造病毒感染的方式,感染一些EXE程序文件,还让其出现不同的新变种,然后用我的专杀来分析,都能一一干掉,所以请放心。

还有就是loveyouvb说的“计算机实际大小”,我不是很清楚是什么,但从我中的两次VIKING病毒的病毒头分析是大小不一的,这也就是瑞星等杀毒或专杀软件只能杀某一变种的原因,而对于新变种又要重新制作专杀了,而我的软件是可以分析这些感染文件并能获取病毒头大小,有了这个病毒头大小的话,接下来的查杀就方便了(VIKING的变种我想应该就是病毒头大小的变化)。

最后:大家如果有感染这种病毒的话,可以将感染文件发我。

6 楼

我晕哟,你怎么不早点出来这个软件

我1个月前才重装系统,就是被Viking害的。

高人,佩服

7 楼

天,高人,偶什么时候才能修炼到这种程度?

8 楼

厉害,我以前也被VIKING骚扰过,就自己编了一个简单的程序,检测指定名称的进程并结束,锁定指定路径……可设计不出还原EXE的程序啊。
但是我中过一种,感染的EXE有图标就是颜色不对,用江民专杀可以恢复,不知这样的EXE本软件可不可以恢复?

9 楼

回8楼的应该可以的,只要它是病毒头+原EXE程序文件就一定可以找到病毒头大小的,你可以发个感染文件给我,我试试看。
其实原理说出来后我想这里肯定有很多人就会做了的,我只是先想到而已,并不是高人,不懂的还很多呢。

10 楼

既然想不到伞哥会为我打了这么多字  嘻嘻
我有点理解你的从头不断的减少字节的方法,但是我想告诉你一件事,很多文件是有资源文件的,如果EXE文件里的资源文件也有图标的话,那您这个程序该如何判断?  呵呵  这个您应该没想过吧!

我知道每个变种的头大小都是不同的,但是同一个变种的头是相同这个是不能否认的吧?因为VIKING感染并不是感染一部分文件,而是感染全部EXE。但是他有一个缺点就是头大小都是一样大(不同变种除外)。这就可以从硬盘的各个地方取出几个文件,如果文件的头都是一样大,那就很有可能是中了该病毒。还有个问题好象他的图标也和原先文件的图标不同了,应该是提取图标失真了吧。以前我一个朋友中过,图标都是失真的,我随便写了个专杀给他全都能杀掉,代码超级简单。因为他哪个变种实在是太烂吧。不知道伞哥您中的这个变种图标效果是怎样的呢?能否给我发个样本看看 我的邮箱loveyouvb@163.com

我来回复

您尚未登录,请登录后再回复。点此登录或注册