文件型病毒与引导区型病毒工作的方式是完全不同的, 在各种PC机病毒中, 文件型病毒占的数目最大,传播得广,采用的技巧 也多。文件型病毒是对源文件进行修改,使其成为新的文件。文件型病毒分两类:一种是将病毒加在COM前部,一种是加在文件尾部。
文件型病毒传染的对象主要是.COM和.EXE文件。
文件型病毒原理
要了解文件型病毒的原理,首先要了解文件的结构.COM 文件比较简单, 病毒要感染COM文件有两种方法,一种是将病毒加在COM前部,一种是加在
文件尾部,见下图:
AB
-------- ---------------
|-病毒 | |JMP XXXX:XXXX| (原文件的前3字节被修改)
-------- ---------------
|原文件| ├原程序┤
----------------------
├病毒┤
--------------
EXE 文件比较复杂,每个EXE文件都有一个文件头,结构如下:
EXE文件头信息
-----------------------------------
├ 偏移量 ┤意义┤
├00h-01h ┤MZ‘EXE文件标记┤
├2h-03h┤文件长度除512的余数┤
├04h-05h ┤...............商┤
├06h-07h ┤重定位项的个数┤
├08h-09h ┤文件头除16的商┤
├0ah-0bh ┤程序运行所需最小段 数 ┤
├0ch-0dh ┤..............大..... ┤
├oeh-0fh ┤堆栈段的段值 (SS)┤
├10h-11h ┤........sp┤
├12h-13h ┤文件校验和┤
├14h-15h ┤IP┤
├16h-17h ┤CS┤
├18h-19h ┤............┤
├1ah-1bh ┤............┤
├1ch┤............┤
-----------------------------------
当DOS加载EXE文件时,根据文件头信息,调入一定长度的文件,设置SS,SP 从CS:IP 开始执行.病毒一般将自己加在文件的末端,并修改CS,IP的值指向病毒起始地址,并修改文件长度信息和SS,SP。