第152章 子母病毒
  萧云飞和凯伦同时从计算机面前站了起来,凯伦看着萧云飞笑了笑,根据萧云飞刚才编写病毒的表现,凯伦觉得,这个人绝非等闲之辈。
  萧云飞笑了笑:“凯伦,现在我们就交换彼此的病毒程序,谁能够率先成功地消灭对方的病毒,谁就胜出……”
  凯伦点了点头:“好!”
  两个人彼此交换了计算机,萧云飞在电脑前坐了下来,进入到虚拟系统中,他将凯伦的病毒程序拖曳到虚拟系统的桌面上,然后开始了他的分析病毒之旅。
  对于大多数病毒而言,杀毒的思路其实很简单,具体步骤大致分为“三步走”,终止病毒的进程,删除自启动项目,删除病毒文件。当然,对设置了文件关联的病毒而言还要修改注册表,恢复被关联的文件。
  虽然说很多语言都可以编写杀毒程序,但是现如今大多数的杀毒软件还是采用的是c、c++和汇编语言编写而成,如果不用设计杀毒软件的图形界面,针对病毒的特性编写一款专杀程序,其实并不是很困难。
  当然,编写专杀程序的时候你需要了解病毒的工作原理,比如病毒是如何隐藏、保护自己,如何加入自启动项,如何修改注册表信息等等,清楚了病毒的工作原理后,你才能根据其特性根据思路编写具有针对性的专杀程序。
  所以,编写病毒专杀程序,你得首先对病毒程序进行深入的分析。
  凯伦的病毒程序并未加密,通过反汇编,萧云飞很容易就得到了这个病毒的源代码。萧云飞笑了笑,这个凯伦对他的病毒就这么有自信?他竟然完全不用加密算法?
  经过分析,萧云飞对凯伦的病毒好像有一种似曾相识的感觉。
  嵌入性病毒?萧云飞的脑海中突然闪过一个念头,对,这个病毒和自己以前遇到的那个超级病毒竟然十分相似!
  通过测试,这个病毒的主要作用在于感染系统内所有的可执行文件,一旦运行了该病毒程序,仅仅三十秒,它就会感染系统内全部可执行的exe文件。
  这个病毒的源码有一段修改可执行程序的代码,这段代码的目的在于篡改程序的指针序列,可执行的程序有一段指针序列,通过指针序列可以决定一个可执行程序的执行结果,这个病毒修改程序的指针指向,将可执行程序中包含的指针全部指向该病毒。
  也就是说,任何可执行程序一旦运行,那么它首先执行的就是这个病毒程序,通过篡改程序指针序列,该病毒插入到原程序成为合法程序的一部分。
  萧云飞摇头笑了笑,虽然这个病毒也很厉害,但是它与萧云飞之前遇到的那个超级病毒相比却要逊色许多。
  虽然这个病毒也采用了多态性技术,但是它的多态性却相对单一了很多。多态性的目的在于赋予一个病毒多种形态,比如病毒以哪一种形式隐匿在系统文件中,它有点相当于变色龙的皮肤。
  萧云飞翘起嘴巴笑了笑,对付病毒的多态性,他早已经深有体会,针对病毒的多态性要编写相应的狙杀代码,他应该算得上轻车熟路。
  萧云飞以前为了应对那个超级病毒而编写的程序代码还存储在自己的ftp空间,所以他用不着自己去费力编写代码,所以,他连上了网络。
  *****************************************
  凯伦面对萧云飞的病毒程序却犯难了,萧云飞病毒的作用很简单,它就是为了感染系统所有的word文档和后缀名为jpg的图片。
  但是在分析病毒的第一步,凯伦却彻底傻眼了,因为他不能对病毒程序就行反汇编,不管用什么方法和什么反汇编的软件,反汇编出来的结果都是乱码!
  要对程序进行加密其实不难,通过使用各种函数和命令就可以对程序进行加密,比如在程序代码中插入用户名判断代码或者序列号判断代码即可对程序的使用者进行限制,只有在输入了正确的用户名和序列号方能继续使用程序。
  程序的算法虽然可以做得到牢不可破,但是编写者却没有办法防止爆破,一个程序的使用总是要读取一些信息的,譬如用户名,序列号,注册码之类,如果破解者找到函数入口爆破掉就解决了。
  也就是说,大多数的程序的加密是针对某一个程序模块进行的加密,通过脱壳、跟踪、分析,你也可以得到程序解密的方法。
  尽管现在也有很多办法可以提高程序破解的难度,但是这也仅仅只是提高难度而已,对于真正的高手,要想破解程序其实并不困难。
  要破解一个程序,那么你首先得分析程序的源代码,但是,萧云飞的病毒通过反汇编后竟然全部是乱码。
  要知道对一个asp文件加密很容易,但是要对一段病毒加密就并非我们想象中的那么简单了。
  如果连病毒的源码也看不到,就算你知道了病毒在系统中会产生哪些配置文件,会修改哪些系统文件,你也不能有效地将病毒清除。
  谁知道病毒接下来会如何进行变异呢?
  凯伦看着计算机屏幕上的病毒程序,不由得有些懊恼的扯了扯自己的头发,怎么办?自己总不可能无所作为吧?
  凯伦摇了摇头,既然不能解读病毒的源码,那么就只能根据自己的经验编写相应的杀毒程序了。
  这种感染word文档和图片的病毒在网络上早已经泛滥成灾了,它们主要通过移动存储器进行传播,这种病毒包含了多个批处理程序和dll文件,这些程序相互关联,要杀掉这样的病毒就必须要将这些关联的程序全部删除。
  其实网络上流行的这种病毒是比较决绝的,到目前为止,被这种病毒感染word文档和图片后缀名全部变成exe,它其实是一个压缩文件,用winrar软件解压被感染的word文档后你可以得到三个文件,一个是dll文件,一个是批处理文件,另一个则是原始的word文档。
  其实还有一个非常有趣的现象就是这个dll文件其实也是一个压缩文件,它里面包含的东西就丰富多了,据说这个dll文件其中包含的一个批处理可以消灭该种病毒。
  (ps:我并不觉得这个批处理程序可以杀掉这个病毒,有兴趣的朋友可以研究研究,“宅男”病毒)
  对于这些流行的病毒,凯伦自然了解得很透彻,很快的,他从网络上找到了针对该种病毒进行查杀的程序源码,然后他将这段程序代码复制了下来。
  凯伦知道,萧云飞既然敢叫嚣着要踢馆,想必他自然不可能编写出一款如此大众的病毒程序,所以,凯伦对这段复制下来的程序代码进行了修改,加入了他对这种病毒发生可变异性的地方做了细化和深入。
  凯伦觉得自己很迷茫,这就像闭着眼睛和别人比武一样,你只能盲目的去攻击对方,但是你去连对手的所在位置也不知道!
  很快的,杀毒程序编写完成,凯伦抱着一丝希望执行了程序。
  专杀程序对病毒程序进行特定扫描,不一会儿,专杀程序发出“叮”的一声响,凯伦的心一下子提到了嗓子眼。
  专杀程序弹出一个对话框:发现病毒,是否处理?
  竟然发现了病毒?!凯伦不敢相信地揉了揉自己的眼睛,怎么可能如此简单?!
  看了一眼正对着电脑屏幕聚精会神修改程序代码的萧云飞,凯伦始终觉得这样的结果实在太反常了,然而凯伦现在却无路可退了,到了这个地步,他还有什么办法可想?
  凯伦将鼠标移动到“是”这个选项,带着一丝强烈的不安点击执行。
  专杀程序刚刚一处理完这个病毒竟然突然没有了动作,片刻间,无数同一类型的病毒在虚拟系统中全面爆发,系统内几乎所有的文件全部被这些病毒感染!
  凯伦惨叫一声,瞪着眼睛不可思议的望着萧云飞:“子母病毒?!”
  听到凯伦的问话,萧云飞抬起头笑了笑:“没错,正是子母病毒……”
  萧云飞编写的这个病毒虽然和网络上流行的“宅男”病毒很类似,它们的作用几乎如出一辙,但是这仅仅是萧云飞的迷惑手段而已。
  当时萧云飞编写这个病毒的时候其实仅仅是想将它编写得比“宅男”病毒更加霸道一点,但是他想到凯伦对病毒的研究肯定也很精通,所以在最后利用“混沌算法”加密病毒程序的时候,他调用了一个子母病毒。
  即这个病毒本身作为母体,萧云飞用批处理编写的指向程序和dll文件可以衍生出具有无数相同作用的子病毒,一旦病毒母体被杀死,衍生出来的子病毒便会全面爆发!
  “混沌加密”可以禁止任何人对病毒进行反汇编,也就是说,如果别人没有掌握这种加密方法,他就不能窥探程序源码,不能解读病毒源码,那么他就无法了解这个病毒真正的本质。
  “混沌加密”相当于给病毒披上了一层外衣,一旦从内部捅破了这件外衣,那么包裹在外衣里面的无数子病毒就会汹涌而出。
  子母病毒其实并不特别,但是萧云飞的这个子母病毒却拥有一个非常变态的功能,那就是它可以穿透虚拟系统渗透到主机系统!
  萧云飞一开始的目的不但要感染虚拟系统的文件,他还要让病毒感染主机系统内所有的文件!
  退一万步来讲,如果凯伦找到了消灭病毒的办法,面对成千上万个被病毒感染的文件,全部清除病毒也得花费好长的时间。
  这是一种非常阴险的做法!(未完待续,如欲知后事如何,请登陆www.18wenku.com,章节更多,支持作者,支持正版阅读!)