
C语言实现病毒源码演示.pdf
25页目 录1引言 ……………………………………………………………………………2计算机病毒简介 ………………………………………………………………3传染 C文件源码病毒及解毒程序设计实现 …………………………………3.1程序设计思路和分析 ………………………………………………………3.2程序流程图 …………………………………………………………………3.3其中用到函数和结构体的说明 ……………………………………………3.4程序清单 ……………………………………………………………………4计算机病毒的演示 …………………………………………………………4.1病毒程序 VIRUS.C演示过程 ……………………………………………4.2病毒清除程序 REVIRUS.C演示过程 ……………………………………结束语 …………………………………………………………………………致谢 …………………………………………………………………………参考文献 ……………………………………………………………………( 1)( 1)( 4)( 5)( 8)( 10)( 12)( 18)( 18)( 22)( 23)( 24)( 24)传染 C文件的源码病毒及解毒程序设计11.引 言 : 计算 机 病 毒 发 源 于 美 国 , 是 随 着 计 算 机 技 术 的 发 展 而 产 生 的 一 种 畸形怪胎 , 由 于 计 算 机 的 硬 件 和 操 作 系 统 的 不 尽 完 善 而 使 得 计 算 机 病 毒 层 出不穷,并迅速蔓延。
那么什么是计算机病毒呢?美国计算机安全专家 FredrickCohen博士对计 算 机 病 毒 给 出 一 个 早 期 的 定 义 : 计 算 机 病 毒 是 一 个 靠 修 改 其 他 程 序 ,并把 自 身 复 制 品 传 染 给 其 它 程 序 的 程 序 现 在 可 以 简 单 地 说 : 计 算 机 病毒是人 为 的 一 种 计 算 机 程 序 , 这 种 程 序 隐 藏 在 计 算 机 系 统 的 可 存 取 信 息 资源中, 利 用 计 算 机 系 统 信 息 资 源 进 行 生 存 、 繁 殖 , 影 响 和 破 坏 计 算 机 系 统的运行 计算机病毒是人为制造的具有再生机制、潜 伏机制和激发机制的软体 ,从而 决 定 了 计 算 机 病 毒 是 可 以 在 计 算 机 系 统 上 进 行 试 验 和 模 拟 的 从 防治计算 机 病 毒 的 角 度 , 静 态 观 测 和 扫 描 病 毒 程 序 只 能 在 一 定 程 度 上 反 映 计算机病毒的存在性,动 态模拟和测试可以了解和分析计算机病毒的破坏机制 ,可以对流行计算机病毒的传播及其危害提出预测和灾难评估 计算 机 病 毒 和 模 拟 实 验 , 可 以 检 验 反 病 毒 软 件 及 其 产 品 的 性 能 , 并可以掌 握 市 场 上 计 算 机 安 全 产 品 的 技 术 水 平 与 发 展 动 向 。
计 算 机 演 示 病 毒与实际 传 播 的 计 算 机 病 毒 不 同 , 计 算 机 演 示 病 毒 是 防 治 计 算 机 病 毒 的 安 全教育手段和工具,它不能产生实际性质的破坏作用并易于清除 微型 计 算 机 病 毒 与 计 算 机 网 络 、 大 型 信 息 系 统 的 计 算 机 病 毒 有 很 大的差异 , 防 治 计 算 机 病 毒 的 重 点 应 该 是 计 算 机 网 络 和 大 型 信 息 系 统 从 本质上讲,计算机病毒的模拟和实验目的是寻求有效的检测方法和对抗工具 2.计 算 机 病 毒 简 介 计算机病毒的分类:微机系统的计算机病毒按传染方式分为以下三大类:( 1)引 导型计算机病毒是指既传染磁盘主引导区,又 传染 DOS的 BOT区的计算机病毒 就一般而言, 引导型的计算机病毒出现的传染情况如下 :硬盘 BOT区引导程序; 软盘 BOT区引导程序; 硬 盘分区表 ( 主 引导 程 序 )传染 C文件的源码病毒及解毒程序设计2( 2)文 件 型 计 算 机 病 毒 一般传染磁盘上的可执行文件( COM, EX) 在用 户 调 用 染 毒 的 可 执 行 文 件 时 , 病 毒 首 先 被 运 行 , 然 后 病 毒 驻 留 内 存伺机传 染 其 他 文 件 或 直 接 传 染 其 他 文 件 。
其 特 点 是 附 着 于 正 常 程 序 文 件 ,成为程序文件的一个外壳或部件这是较为常见的传染方式 3) 混 和型计算机病毒 混和型计算机病毒是指既传染磁盘的引导 区又传染可执行文件的计算机病毒(即引导型和文件型计算机病毒) 计算机病毒的构成: 计算 机 病 毒 是 多 种 多 样 的 , 不 同 类 型 病 毒 采 用 的 机 制 和 组 成 虽 然 是千奇百 怪 的 , 但 可 以 看 出 病 毒 的 主 要 组 成 部 分 是 相 同 的 , 工 作 逻 辑 也 是 相同的 它应该由传染模块和表现及破坏模块组成, 每个模块又有两个程序段 :传染条件判断段和实施段,如下图所示计算机病毒的特点: ( 1) 刻 意编写人为破坏 计算机病毒不是偶然发生的, 而 是人为编 写的有 意 破 坏 、 严 谨 精 巧 的 程 序 段 , 它 是 严 格 组 织 的 程 序 代 码 , 与 所 在 环境相互 适 应 并 紧 密 配 合 编 写 病 毒 的 动 机 一 般 有 一 下 几 种 情 况 : 为 了 表 现自己和证明自己, 处于对上级的不满, 出 于好奇的 “ 恶作剧 ” , 为了报复, 为了纪念某一事件等。
( 2)自 我 复 制 能 力 自我 复 制 也 称 “ 再生 ” 或 “ 传染 ” 再 生 机 制是判断 是 不 是 计 算 机 病 毒 的 最 重 要 依 据 这 一 点 与 生 物 病 毒 的 特 点 也 最 为相似 在 一 定 条 件 下 , 病 毒 通 过 某 种 渠 道 从 一 个 文 件 或 一 台 计 算 机 传 染 到另外没 有 感 染 的 文 件 或 计 算 机 , 轻 则 造 成 被 感 染 的 计 算 机 数 据 被 破 坏 或 工作病毒 程序 传染 模块 表现 段 传染 条件 判断 段 传染 段表现 条件 判断 段 表现 段传染 C文件的源码病毒及解毒程序设计3失常,重则使计算机瘫痪 ( 3) 夺 取系统控制权 当计算机在正常程序控制之下运行时, 系 统 运行是 稳 定 的 在 这 台 计 算 机 上 可 以 查 看 病 毒 文 件 的 名 字 , 查 看 或 打 印 计算机病 毒 代 码 , 甚 至 复 制 病 毒 文 件 , 系 统 都 不 会 激 活 并 感 染 病 毒 病 毒 为了完成 感 染 、 破 坏 系 统 的 目 的 必 然 要 取 得 系 统 的 控 制 权 , 这 是 计 算 机 病 毒的另外一个重要特点 。
4) 隐 蔽性 不经过程序代码分析或计算机病毒代码扫描, 病 毒程 序与正 常 程 序 不 易 区 别 开 在 没 有 防 护 措 施 的 情 况 下 , 计 算 机 病 毒 程 序 取得系统 控 制 权 后 , 可 以 在 很 短 的 时 间 里 大 量 传 染 而 在 传 染 后 , 一 般 计 算机系统 仍 然 能 够 运 行 , 被 感 染 的 程 序 也 能 执 行 , 用 户 不 会 感 到 明 显 的 异 常 ,这便是计算机病毒的隐蔽性 ( 5) 潜 伏性 大部分病毒在感染系统后一般不会马上发作, 它 可长 期隐藏在系统中, 除 了传染外, 不 表现出破坏性, 这 样的状态可能保持几天 ,几个 月 甚 至 几 年 , 只 有 在 满 足 其 特 定 条 件 后 才 能 启 动 其 表 现 模 块 , 显 示发作信 息 或 进 行 系 统 破 坏 使 计 算 机 病 毒 发 作 的 触 发 条 件 主 要 有 以 下 几 种 :利用 系 统 时 钟 提 供 的 时 间 作 为 触 发 器 , 这 种 触 发 机 制 被 大 量 病 毒 使 用 ;利用病 毒 体 自 带 的 计 数 器 作 为 触 发 器 ; 利 用 计 算 机 内 执 行 的 某 些 特 定 操 作作为触发器。
计算机病毒的常见传染途径: ( 1) 通 过软盘: 通 过使用外界被感染的软盘 ,例如 ,不同渠道来的 系统盘 、 来 历 不 明 的 软 件 、 游 戏 盘 等 是 最 普 遍 的 传 染 途 径 由 于 使 用 带 有病毒的 软 盘 ,使机 器 感 染 病 毒 发 病 ,并传 染 给 未 被 感 染 的 “ 干净 ” 的 软 盘 大量 的 软 盘 交 换 ,合法 或 非 法 的 程 序 拷 贝 ,不加 控 制 地 随 便 在 机 器 上 使用各种软件造成了病毒感染、泛滥蔓延的温床 2)通 过 硬 盘 : 通 过 硬 盘 传 染 也 是 重 要 的 渠 道 ,由于 带 有 病 毒 机器移到其它地方使用、维修等 ,将干净的软盘传染并再扩散 3) 通 过网络: 这 种传染扩散极快 ,能在很短时间内传遍网络上的 机器病毒的危害:传染 C文件的源码病毒及解毒程序设计4在计 算 机 病 毒 出 现 的 初 期 , 说 到 计 算 机 病 毒 的 危 害 , 往 往 注 重 于 病毒对信 息 系 统 的 直 接 破 坏 作 用 , 比 如 格 式 化 硬 盘 、 删 除 文 件 数 据 等 , 并 以此来区 分 恶 性 病 毒 和 良 性 病 毒 。
其 实 这 些 只 是 病 毒 劣 迹 的 一 部 分 , 随 着 计算机应 用 的 发 展 , 人 们 深 刻 地 认 识 到 凡 是 病 毒 都 可 能 对 计 算 机 信 息 系 统 造成严重的破坏计算机病毒的主要危害有: ( 1) 病毒激发对计算机数据信息的直接破坏作用 部 分病毒 在激发的时候直接破坏计算机的重要信息数据,所利用的手段有格式 化磁盘、改写文件分配表和目录区、删除重要文件或者用无意义的“ 垃圾 ” 数据改写文件、破坏 CMOS设置等 2)占用磁盘空间和对信息的破坏 .寄生在磁盘上的病毒总要非法占用一部分磁盘空间,就造成磁盘空间的严重浪费 ( 3) 抢占系统资源 大多数病毒在动态下都是常驻内存的,这就必然抢占一部分系统资源 ( 4) 影 响计算机运行速度 病毒在进行传染时同样要插入非 法的额外操作,特别是传染软盘时不但计算机速度明显变慢,而且软 盘正常的读写顺序被打乱 5) 计 算机病毒给用户造成严重的心理压力 大多数用户对 病毒采取宁可信其有的态度,这对于保护计算机安全无疑是十分必要 的,然而往往要付出时间、金钱等方面的代价仅仅怀疑病毒而冒 然格式化磁盘所带来的损失更是难以弥补。
病毒的清除 :清除 病 毒 有 两种 方 法 : 人 工 处 理 和 利 用 反 病 毒 软 件 常 用 的 反 病 毒软件有: 瑞星 、 金山毒霸 和 KV3000等 软件 但它们在处理病毒时, 必 须知 道某种特别的病毒的信息,然后才能按需要对磁盘进行杀毒传统 的 计 算 机 病 毒 的 清 除 一 般 是 对 文 件 、 内 存 的 处 理 过 程 , 简单 的清除方 法 可 以 仅 仅 由 重 新 启 动 计 算 机 完 成 但是 如 果 需 要 避 免 再 次 遭 受 病毒感染,则必须进行更进一步的操作,如打补丁 3.传 染 C文 件 源 码 病 毒 及 解 毒 程 序 设 计 实 现3.1程序设计思路和分析传染 C文件的源码病毒及解毒程序设计53.1.1病毒 程 序 VIRUS.C这是一个用 C语言写的病毒程序, 当激发病毒程序时显示时间, 然 后返回病毒 程 序 VIRUS.C可将病毒传 染给 一 个 C语言程序 当被 病毒感染的程。
