题记:本文发表于《黑客X档案》08年第9期,这是在其中分离出一段。

转载请注明版权:http://a1pass.blog.163.com/ 作者:A1Pass

【一】:杀毒软件原理

随着黑客圈子逐渐向商业化靠拢,以及杀毒厂商间的互相竞争愈演愈烈,导致新出现的免费且好用的木马越来越少,除此之外,木马的生存期也在逐渐缩短!而另一方面,新出现的攻击手法越来越少,使得学习黑客技术的我们不得不考虑怎样摆脱或改善现有环境。

因此,免杀技术逐渐火热起来,而作为一个黑客技术初学者,掌握免杀技术更是迫在眉睫!

这篇文章就带领你由杀毒软件原理开始,逐步砸实基础,从而晋升为免杀高手,为以后的黑客生涯铺平道路。

对于免杀,也许大家或多或少都有些了解,但是大家对杀毒软件又有多少了解呢?也许正因为是你对杀毒软件了解不足,所以才造成一些看似比较奇怪的问题,例如无法精确的定位出特征码,或者每次定位的特征码都不一样等等。

如果我们对杀毒软件若能有一个大体的了解,就会使一些问题迎刃而解,从而做到更加有效率的进行免杀。

一、杀毒软件原理基础

一个杀毒软件的构造的复杂程度要远远高于木马或病毒,所以其原理也比较复杂。而且鉴于现在木马病毒越来越向系统底层发展,杀毒软件的编译技术也在不断向系统底层靠近。例如现在的“主动防御”技术,就是应用RING0层的编译技巧。

这里我简单为大家介绍一下基本构成。

一个杀毒软件一般由扫描器、病毒库与虚拟机组成,并由主程序将他们结为一体,如图1。

扫描器是杀毒软件的核心,用于发现病毒,一个杀毒软件的杀毒效果好坏就直接取决于它的扫描器编译技术与算法是否先进,而且杀毒软件不同的功能往往对应着不同的扫描器,也就是说,大多数杀毒软件都是由多个扫描器组成的。而病毒库存储的特征码形式则取决于扫描器采用哪种扫描技术。它里面存储着很多病毒所具有的独一无二的特征字符,我们称之为“特征码”。特征码总的分来只有两个,文件特征码与内存特征码。文件特征码存在于一些未执行的文件里,例如EXE文件、RMVB文件、jpg文件甚至是txt文件中都有可能存在文件特征码,也都有可能被查杀。而内存特征码仅仅存在于内存中已运行的应用程序。而虚拟机则是最近引进的概念,它可以使病毒在一个由杀毒软件构建的虚拟环境中执行,与现实的CPU、硬盘等完全隔离,从而可以更加深入的检测文件的安全性。

简单的说,杀毒软件的原理就是匹配特征码。当扫描得到一个文件时,杀毒软件会检测这个文件里是否包含病毒库里所包含的特征码,如果有,则报毒病查杀,如果没有,纵然这个文件确实是一个病毒,它也会把它当作正常文件来看待。

二、基于文件扫描的杀毒技术

基于文件的杀毒技术可以分为“第一代扫描技术”、“第二代扫描技术”与“算法扫描”这三种方法,对于免杀爱好者来说,要对每一种方法烂熟于心,才能成为高手!但做为一个初学者来说了解一下即可。这里我们就简单介绍一下其中两种种方法,详细的技术原理如果各位得这有兴趣的话可以自己研究。

1、通配符扫描技术

通配符扫描技术属于是第一代扫描技术的一个分支,对于“通配符”,可以理解为具有一定意义的符号,例如DOS命令里的*号就是任意长度的任意字符的意思,而且通配符在不同的领域也里可以代表不同的意思。

现在杀毒软件中简单的扫描器常常支持通配符,因为鉴于字符串扫描技术的执行速度与特征码长度限制等问题,使得其逐渐退出历史舞台,取而代之的是通配符扫描技术,通配符扫描技术以同样简单的原理与技术却实现了更为强大的功能。

扫描器中的通配符一般用于跳过某些字节或字节范围,以至于现在有些扫描器还支持正则表达式!

下面我们通过一个例子来讲解通配符扫描技术的原理。

例如我们的病毒库中有这样一段特征码:

0400 B801 020E 07BB ??02 %3 33C9 8BD1 419C

上面的特征码可以解释为:

1、尝试匹配04,如果找到则继续,否则跳出。

2、尝试上一匹配目标后匹配00,如果找到则继续,否则跳出。

3、尝试上一匹配目标后匹配B8,如果找到则继续,否则跳出。

4、尝试上一匹配目标后匹配01,如果找到则继续,否则跳出。

5、尝试上一匹配目标后匹配02,如果找到则继续,否则跳出。

6、尝试上一匹配目标后匹配0E,如果找到则继续,否则跳出。

7、尝试上一匹配目标后匹配07,如果找到则继续,否则跳出。

8、尝试上一匹配目标后匹配BB,如果找到则继续,否则跳出。

9、忽略此字节。

10、尝试上一匹配目标后匹配02,如果找到则继续,否则跳出。

11、在接下来的3个位置(字节)中尝试匹配33,如果找到则继续,否则跳出。

12、尝试上一匹配目标后匹配C9,如果找到则继续,否则跳出。

13、尝试上一匹配目标后匹配8B,如果找到则继续,否则跳出。

14、尝试上一匹配目标后匹配D1,如果找到则继续,否则跳出。

15、尝试上一匹配目标后匹配41,如果找到则继续,否则跳出。

16、尝试上一匹配目标后匹配9C,如果找到则继续,否则跳出。

这种扫描技术通常支持半字节匹配,这样可以更精确地匹配特征码,一些早期的加密病毒用这种方法都比较容易检测出来。

其实现在的一些特征码仍然在使用类似此种方法的特征码表达技术,因此掌握这些知识会对我们以后的免杀有所帮助,同样可以使我们在定位特征码时更加了解自己正在做什么,以及做的是否正确等等,这对于我们来说非常重要。

2、智能扫描

智能扫描属于第二代扫描技术的一个分支,这种方法是在一种病毒变异工

本文来源于:免杀辅助。转载请保留这个链接,不会对你的SEO大业产生影响。

One Response 至“”免杀基础三步走”

  1. 支持,受用,收藏

留下回复