如何编译杀毒软件
① 杀毒软件的扫描程序是怎么做出来的
一、杀毒软件原理基础
一个杀毒软件的构造的复杂程度要远远高于木马或病毒,
所以其原理也比较复杂。
而且鉴于
现在木马病毒越来越向系统底层发展,
杀毒软件的编译技术也在不断向系统底层靠近。
例如
现在的“主动防御”技术,就是应用
RING0
层的编译技巧。这里我简单为大家介绍一下基
本构成。
一个杀毒软件一般由扫描器、
病毒库与虚拟机组成,
并由主程序将他们结为一体,
如图
1
。
扫描器是杀毒软件的核心,
用于发现病毒,
一个杀毒软件的杀毒效果好坏就直接取决于它的
扫描器编译技术与算法是否先进,
而且杀毒软件不同的功能往往对应着不同的扫描器,
也就
是说,
大多数杀毒软件都是由多个扫描器组成的。
而病毒库存储的特征码形式则取决于扫描
器采用哪种扫描技术。
它里面存储着很多病毒所具有的独一无二的特征字符,
我们称之为
“特
征码”
。特征码总的分来只有两个,文件特征码与内存特征码。文件特征码存在于一些未执
行的文件里,例如
EXE
文件、
RMVB
文件、
jpg
文件甚至是
txt
文件中都有可能存在文件特
征码,
也都有可能被查杀。
而内存特征码仅仅存在于内存中已运行的应用程序。
而虚拟机则
是最近引进的概念,它可以使病毒在一个由杀毒软件构建的虚拟环境中执行,与现实的
CPU
、硬盘等完全隔离,从而可以更加深入的检测文件的安全性。
二、基于文件扫描的杀毒技术
基于文件的杀毒技术可以分为“第一代扫描技术”
、
“第二代扫描技术”与“算法扫描”这三
种方法,
对于免杀爱好者来说,
要对每一种方法烂熟于心,
才能成为高手!
但做为一个初学
者来说了解一下即可。
这里我们就简单介绍一下其中两种种方法,
详细的技术原理如果各位
得这有兴趣的话可以自己研究。
1
、通配符扫描技术
通配符扫描技术属于是第一代扫描技术的一个分支,对于“通配符”
,可以理解为具有
一定意义的符号,
例如
DOS
命令里的
*
号就是任意长度的任意字符的意思,
而且通配符在不
同的领域也里可以代表不同的意思。
现在杀毒软件中简单的扫描器常常支持通配符,
因为鉴于字符串扫描技术的执行速度与特征
码长度限制等问题,
使得其逐渐退出历史舞台,
取而代之的是通配符扫描技术,
通配符扫描
技术以同样简单的原理与技术却实现了更为强大的功能。
扫描器中的通配符一般用于跳过某些字节或字节范围,
以至于现在有些扫描器还支持正则表
达式!