在生物界中,各类生物在遗传变异和自然选择的作用下,进化出各种不同的形态结构来实现相关功能,以更好地适应不断变化的外部自然环境。从进化论的视角来看,功能决定其形态结构,生物体具备的功能会影响并最终决定其相应的形态结构。这一自然客观规律同样适用于计算机病毒。
计算机病毒作为一种特殊的计算机程序,除具有常规程序的相关功能外,还须具备病毒引导、传染、触发和表现等相关功能。计算机病毒的这些功能决定了计算机病毒的逻辑结构。一般而言,计算机病毒的逻辑结构应具有病毒引导模块、病毒传染模块、病毒触发模块和病毒表现模块(见图1-9)。
图1-9 计算机病毒的逻辑结构
(1)病毒引导模块。用于将计算机病毒程序从外部存储介质加载并驻留于内存,并使后续的病毒传染模块、病毒触发模块或病毒表现模块处于激活状态。
(2)病毒传染模块。用于在目标系统进行磁盘读写或网络连接时,判断该目标对象是否符合感染条件,如符合条件则将病毒程序传染给对方并伺机破坏。
(3)病毒触发模块。用于判断计算机病毒所设定的逻辑条件是否满足,如满足则启动病毒表现模块,进行相关的破坏或表现操作。
(4)病毒表现模块。该模块是计算机病毒在触发条件满足后所执行的一系列表现或具有破坏作用的操作,以显示其存在并达到相关攻击目的。
计算机病毒逻辑流程的类C语言描述如下:
计算机病毒逻辑流程N-S图如图1-10所示。
图1-10 计算机病毒逻辑流程N-S图