计算机病毒是一种自我的一部分复制的程序,可以连接到一个应用程序或系统文件的可执行部分,在宿主程序执行的某些阶段,它所能获得的执行控制。根据病毒的机制可以分为两类:一是系统启动受感染的系统,它的引导程序(系统引导扇区,操作系统的一些模块、设备驱动等);另一个是文件类型,它感染可执行的程序文件(即应用程序的COM文件,EXE文件或文件等等)。


通过对各种病毒的分析,我们发现病毒有三个基本弱点:


(1)病毒的主机目标必须是计算机系统的可执行程序,也就是说,它们只能感染系统引导程序或应用程序。


(2)病毒感染总是以某种方式改变受感染的程序段。如果连接到现有程序,它将改变程序的开始或结束,或程序中间部分的某些部分。如果它隐藏在磁盘的某些区域,它将改变这些区域的内容。


(3)如果病毒要生存和传播,它的程序代码必须能够执行,也就是说,病毒必须在宿主程序的特殊位置找到自己或部分病毒,以便获得控制。


事实上,现有的PC病毒,宿主程序执行的第一个改变由宿主程序执行的第一条指令的目的。COM文件,病毒取代他们的第一指令(因为COM文件的入口地址是固定的CS:100h);对于EXE文件,病毒改变入口指针(文件中头);中断服务程序,它也改变了它的中断向量相似。因此,该病毒破坏被感染的程序,数据的真实性,准确地摧毁了第一个被感染的程序执行指令的真实性。因此,对指令和附近的数据第一次执行的应用程序的验证,不仅要保证准确性,而且减少检测时间。