正在加载图片...
Vol.19 No.2 将一凡:计算机病毒的预防 ·207· 的内容保存到内存缓冲区中:当写操作时,先将寄存器CX及DX的信息与内存缓冲区的信息 进行比较,比较结果若不同,表示没有病毒,程序继续执行,若相同,则说明某程序在瞬间内对 磁盘的某一物理地址进行了先读后写操作,有可能是病毒所至;这样给出提示信息,让用户自 己判断是否有病毒,这样很容易确定是病毒,如用DIR时出现提示信息,肯定是病毒所致,但 当我们对某一文件进行加密操作时,也会出现这种提示信息,因为对某一文件进行加密时,也 就是在某一瞬间对磁盘的某些物理地址进行先读后写操作,所以是否有病毒由用户自已来判 断. 另外,有些瞬间读写型病毒不仅传染文件,而且还破坏FAT表及目录区.它在对FAT表 及目录区进行读写操作时,与DOS的动作是完全一样的,因此很雄判别它是否是病毒,一旦 病毒破坏FAT表及目录区,尽管用户的信息仍在盘中,但要想找回这些信息相当困难.虽然 这种病毒破坏性极大,但由于它破坏了FAT表或目录区,因此它也就失去了传染特性,这些 被病毒破坏了的软盘或硬盘就不能把病毒传染给其他盘片,所以没有必要预防这类病毒. 3 程序的具体实施 (1)主程序 负责保存INT21H和INT13H的中断向量,同时还保存INT2IH和INTI3H前几I0个字 节的累加和,改变INT8H的中断向量地址,将新的中断程序INT8H驻留内存. (2)新的中断INTO8H 中断INT08H是系统时钟,每秒系统调用18.2次.可以利用中断INT08H随时随地对内 存低端的中断向量表进行监测,判断是否有改变中断向量表的情况,若发现有改变的现象,就 视它为病毒,并在病毒发作之前,将病毒请出,这部分负责对内存低端的中断向量表进行扫 描,将INT21H和INT13H的中断地址及累加和与保存值进行比较,一旦发现不一致,将在屏 幕上出现·发现病毒·信息,并将正常中断向量恢复. (3)新的中断NT13H 在对磁盘进行写操作时,DOS对FAT表及日录区要进行瞬间的读写,那么在该正常软件 运行时,就有可能造成误判,因此如何判别FAT表和目录区就成为解决误判的关键,要解决 这个问题,首先要了解FAT表和目录区.目录区中每个目录占32个bit,它的第I7个bit到第 20bit一定是0,由此我们很容易就能判断目录区;硬盘FAT表中的每个FAT项占2个bit,通 常在没有碎片的情况下,后2个bt减前2个bit的值肯定是1,即使硬盘中有一些碎片,这种情 况也占有相当大的比率,由此就可以判断出FAT表. 读操作包括5步骤:①判断是否FAT表,是转⑤;②判断是否目录区,是转5:3保存CX 及DX;④保存时钟;⑤执行读操作. 写操作包括7步:①判断是否为分区表,是给出提示,用户自已决定;:2判断是否为 BOOT区,是给出提示,用户自己决定;③判断是否FAT表,是转⑦;④判断是否目录区,是转 ⑦;⑤将CX、DX的值与保存区比较,若不一致转⑦;⑤用当前时钟减去保存时钟、差值是否 在某一范围内,若是给出提示,用户自己决定;⑦写操作.欣 蒋一 凡 计算机病 毒 的 预 防 的 内容 保存 到 内存缓 冲 区 中 当写操 作 时 , 先将 寄存器 及 〕 的信息 与 内存缓 冲 区 的信息 进行 比较 , 比较 结 果 若不 同 , 表示 没 有病 毒 , 程 序 继续 执行 , 若相 同 , 则 说 明某 程 序 在 瞬 间 内对 磁盘 的某 一 物 理 地 址 进 行 了 先读 后 写操 作 , 有 可 能是 病 毒 所 至 这 样 给 出提 示 信 息 , 让 用 户 自 己 判 断是 否 有 病 毒 , 这 样 很 容 易 确定 是 病 毒 如 用 时 出现 提 示 信 息 , 肯定 是 病 毒 所致 , 但 当我 们 对某 一 文件 进 行 加 密操 作 时 , 也 会 出现 这 种提 示 信息 , 因 为 对某 一 文件 进 行加 密 时 , 也 就是 在 某 一 瞬 间 对磁 盘 的某 些 物理 地址 进 行 先读 后 写操 作 , 所 以 是 否 有 病 毒 由用 户 自己 来 判 断 另 外 , 有 些 瞬 间读 写 型 病 毒 不 仅 传染 文 件 , 而 且 还 破 坏 表 及 目录 区 它 在 对 队 表 及 目录 区进 行 读 写 操 作 时 , 与 以 的 动 作 是 完 全 一 样 的 , 因此 很 难 判 别 它 是 否 是 病 毒 一旦 病 毒 破 坏 表 及 目录 区 , 尽 管 用 户 的 信 息 仍 在 盘 中 , 但 要 想 找 回这 些 信息 相 当困 难 虽 然 这 种 病 毒 破 坏 性 极 大 , 但 由于 它 破 坏 了 表 或 目 录 区 , 因此 它 也 就 失 去 了 传 染 特 性 , 这 些 被病 毒破 坏 了 的软盘 或 硬 盘就 不 能 把病 毒 传 染 给 其他 盘 片 , 所 以 没 有必要 预 防这 类 病 毒 程序 的具体 实施 主程 序 负责保 存 和 的 中断 向量 , 同时还 保存 和 前几 个 字 节 的累加 和 , 改变 的 中断 向量 地址 , 将 新 的 中断 程 序 , 驻 留 内存 新 的 中断 中断 是 系 统 时钟 , 每秒 系 统 调 用 次 可 以 利 用 中断 随 时 随地 对内 存低端 的 中断 向量 表 进 行 监 测 , 判 断 是否 有 改变 中断 向量 表 的情 况 , 若 发现有 改 变 的现 象 , 就 视 它 为病 毒 , 并 在 病 毒 发 作 之 前 , 将 病 毒 请出 这 部 分 负 责 对 内存 低 端 的 中断 向量 表进 行 扫 描 , 将 和 的 中断地 址 及 累 加 和 与保 存值 进 行 比 较 , 一 旦 发现 不 一 致 , 将 在 屏 幕上 出现 ‘ 发现病 毒 ’ 信 息 , 并将 正 常 中断 向量恢 复 新 的 中断 在 对磁 盘进 行 写 操 作 时 , 幻 对 表 及 目录 区 要 进 行 瞬 间 的读 写 , 那 么 在 该正 常 软 件 运 行 时 , 就 有 可 能造 成 误 判 , 因此 如 何 判 别 表 和 目录 区 就 成 为解 决 误 判 的 关 键 要 解 决 这个 问题 , 首 先要 了解 队 表 和 目录 区 目录 区 中每个 目录 占 个 , 它 的 第 个 到 第 一定是 , 由此 我 们 很容 易 就 能判 断 目录 区 硬 盘 】认 表 中的每个 队 项 占 个 , 通 常在 没 有 碎 片 的情 况 下 , 后 个 减 前 个 的值 肯定 是 , 即使硬 盘 中有 一 些 碎 片 , 这 种情 况 也 占有相 当大 的 比率 , 由此 就 可 以 判 断 出 表 读操作包括 步骤 ① 判 断是 否 队 表 , 是 转 ⑤ ② 判 断是 否 目录 区 , 是 转 ③ ③ 保存 及 ④ 保存 时钟 ⑤ 执行 读 操 作 写 操 作 包 括 步 ① 判 断 是 否 为 分 区 表 , 是 给 出 提 示 , 用 户 自己 决 定 ② 判 断 是 否 为 区 , 是 给 出提 示 , 用 户 自己 决 定 ③ 判 断是 否 表 , 是 转 ⑦ ④ 判 断是 否 目录 区 , 是转 ⑦ ⑤ 将 、 的值 与保 存 区 比较 , 若不 一 致 转 ⑦ ⑥ 用 当前 时钟 减 去保 存 时钟 , 差 值 是 否 在某 一 范 围 内 , 若是 给 出提 示 , 用 户 自己 决定 ⑦ 写操作
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有