C语言编写的文件病毒检测程序

需积分: 9 1 下载量 123 浏览量 更新于2024-12-24 收藏 11KB TXT 举报
本文档介绍了一个名为"ANTI-VIRUS"的C语言程序,其功能是演示文件反病毒管理。该程序由Long Yun Liang编写,首次编译日期为1995年3月10日,最后一次更新在1996年11月5日,声明保留所有权利。这个工具可能用于检测和处理文本文件中的潜在病毒威胁,特别是在早期的计算机环境中,病毒防范手段相对较少。 程序使用了C语言的标准库函数,如<stdio.h>、<stdlib.h>、<dos.h>、<io.h>、<fcntl.h>、<process.h>、<errno.h>和内存管理相关的头文件。为了提高代码可读性和减少输入工作,使用了预处理器指令`#pragma pack(1)`来定义数据结构的对齐方式。 其中定义了两个枚举类型:`chioce`用于表示是或否的选择,`FileType`区分COM(磁盘操作系统)和EXE(可执行文件)类型的文件。程序还定义了几个常量,如栈大小(STACK_SIZE = 9000字节)、内存大小(MEM_SIZE = 8000字节),以及一个指向栈指针的变量`stack_ptr`。 主要的数据结构`EXE_H`用于存储EXE文件头部的一些信息,包括文件类型(type)、长度低和高字节(len_low和len_high)、重叠次数(re_num)、头部长度(head_len)、最小和最大尺寸(min_size和max_size)、初始化的栈段(init_ss)和堆栈指针(init_sp)、加法校验和(add_sum)、初始化的IP(指令指针)和CS(代码段)寄存器值,以及额外的重叠数(overlay_num)、未使用的字段(no_use)等。 从这部分代码来看,"ANTI-VIRUS"程序的设计思路可能是对EXE文件进行分析,检查是否有病毒或恶意代码的存在。它可能通过解析文件的特定标志或结构来识别可能的病毒特征,并根据这些信息采取相应的措施,比如隔离、清除或报告可疑区域。由于年代久远,这类工具在现代操作系统和安全标准下可能已经过时,但它的存在反映了早期计算机安全领域的基础实践。