在启动过程中,大多数PC的BIOS 都要确定软驱中是否有软盘以及计算机是否可以从这个软盘中配置引导。如果BIOS在驱动器中找到软盘,它就认定用户想要从这个盘引导。在它定位磁盘后,BIOS就会把软引导记录装入计算机内存,并执行自举例程。 在染毒的软盘中,BIOS装入引导记录是经过病毒感染的自举例程,而不是正常的自举例程。在引导期间,BIOS把对计算机的控制完全给予病毒程序而不是正常的自举程序。当控制传给病毒之后,它就会得到对计算机上所有资源独有的访问权;如果在软盘上有操作系统的话,就不会被装入,也不会防止病毒的行为。大多数软引导记录病毒在引导过程中要把自己作为内存驻留程序装入,通过这种方式,病毒就可以在计算机操作期间监视所有磁盘请求,并且任意感染其他软盘。 所有PC都包含一块保留的内存区域,称为BIOS数据区域(BDA)。 在控制传送给自举例程之前,BIOS引导程序会使有关配置的信息和计算机的初始状态更新BDA。DOS 依赖于存储在BDA内存中的信息正确地使用计算机的内存和外设。几乎所有的软引导记录病毒都利用DOS对BDA的依赖性,更新它的内容以把自己安装到内存中。对于引导记录病毒,DOS中最重要的域是“Total Memory in kilobytes”域,它指定操作系统可以使用多少常规内存,通常是640KB。
使用这个域确定有多少内存可以安全地分配给自己和DOS 应用程序。 软引导记录病毒通过减少这个域中的数值为它自己在内存中的例程和数据保留空间。例如,病毒要为它自己保留2KB内存,就把这个数字减少到638。 当DOS装入时,就会发现只有638KB可供使用,并且不会读取、修改或更新最后几KB内存。然后病毒就可以使用这块内存,而不用担心被破坏。在病毒通过更新BDA为它自己保留了内存之后,它把自己移到新保存的内存中,并且试图挂到直接磁盘系统服务中。计算机的ROM-BIOS中包含磁盘服务例程,DOS通过调用这些例程从软盘或硬盘读取数据。DOS对这些服务的依赖为病毒的激活和感染其他磁盘提供了简单、方便的方法。当操作需要请求一个服务时,它就会在中断向量表INT中查找服务提供者的地址,然后确定把它的请求发送到哪里。病毒通知操作系统它现在是ROM BIOS磁盘服务提供者的代理。所有向计算机磁盘读写请求都发送给病毒,而不是原来的ROM BIOS 磁盘服务。以后当操作系统发出一项系统服务请求时,先查找INT,接下来病毒检查请求,如果是它所需要的,就感染被访问的软盘。 当病毒完成破坏之后,再把请求重定向给原来的ROM BIOS服务,以完成正确的服务。
当病毒更新INT并把自己作为磁盘服务提供者之后,大多数软引导记录病毒要确定计算机上是否带有硬盘,如果带有硬盘,病毒就会试图感染硬盘的主引导记录或活动分区引导记录。这样,当计算机下次通过硬盘重新启动时,病毒就可以把自己安装到内存中并感染其他软盘。软引导记录病毒要完成其工作,就必须从软盘上得到原来的软引导记录,并且启动原来的引导过程,好像没有病毒一样。这非常重要,因为如果软引导记录病毒把自己安装到内存中,感染了硬盘,并且导致软盘启动失败,它很快就会被发现并清除。 大多数软引导记录病毒一有机会就要感染磁盘。如果一块感染的软盘在驱动器A:中,病毒的第一个机会是在系统软盘引导期间,几乎所有的软引导记录病毒都要感染硬盘的主引导记录或活动分区引导记录。如果病毒不驻留内存,仅访问一块被感染的磁盘是不会引起广泛感染的,除非用被感染的软盘引导。如果病毒不能执行,它就不会感染硬盘或安装自己作为驻留的服务提供者。如果计算机已经被感染而且病毒已经作为驻留的服务提供者安装,在病毒驻留时访问的软盘可能会被传染。只有当请求磁盘服务时才感染新的软盘,这样做对病毒是有利的。最重要的是如果请求使用软盘,可能驱动器已经就有一个软盘,不会因为无原因的访问软驱动作而暴露病毒的可疑操作。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27948-10.html
物价高是因为中国国内税率过高跟央行印钞量过大的结果
但即便不是无害通过也不会不予警告就直接开火或者撞击