装有DOS或Windows操作系统的计算机在启动的时候,都要自动执行AUTOEXEC.BAT文件——如果这个文件在C盘根目录底下存在的话。AUTOEXEC.BAT文件的存在是为了方便用户的使用,在开机时自动完成一些设置或加载一些驱动程序,但由于这个文件的特殊性,许多恶意程序会在这个文件中加入破坏性的指令,以达到破坏系统的目的。例如,如果 你的爱机中了“警世恒言”Word 宏病毒,那么该病毒会在AUTOEXEC.BAT文件中加入了以下指令:
@echo off deltree /y c:\
这样下次开机的时候,你的 C 盘文件就会被全部删除,而你 却傻呼呼望着硬盘闪烁的红灯,还以为正在进入系统呢。
为了系统的安全,最近对AUTOEXEC.BAT文件进行了一个 小小的“升级”,希望能于广大 CFAN 交流。
其实负责AUTOEXEC.BAT文件执行的程序是COMMAND. COM。它是系统启动最基本的三个文件之一,另外的两个是IO.SYS 和MSDOS.SYS文件。用任意一种二进制编辑工具,例如像我用 UltraEdit-32 打开COMMAND.COM 文件,点击菜单“搜寻 / 查 找”,并在“查找目标”框中输入“AUTOEXEC.BAT”,然后点击
“查找下一个”按钮,就会发现在COMMAND.COM文件中记载有“AUTOEXEC.BAT文件的信息,如图所示,它在文件的第79co(h) 字节到79cb(h)字节,占用12 个字节,把第79c0(h)字节的内容由原 来的41(h)改为42(h),你会发现后面的字符由原来的’A’变为了’B’, 这时存盘退出,在 C 盘根目录下建立名为BUTOEXEC. BAT的批处理文件,那么下一次 开机时,计算机就会执行BUTOEXEC.BAT批处理文件,而不去执行原来的AUTOEXEC. BAT 文件,就算AUTOEXEC.BAT文件里面有最恶意的代码,它再也不会有执行的机会,除非你真的很想手动点击去执行它除外,当然了你也可以改为其它的名字如 a.bat,ms.bat等,总之你不要违 背原先DOS时代文件名最长不超过8个字符的标准就行,在第79c0 (h)字节与第 79cb(h)字节之间进行修改,不同版本的操作系统,字 符串“AUTOEXEC.BAT” 在 COMMAND.COM 文件中的定位 位置不同,具体修改时还要注意。为防止意外,建议修改前给COMMAND.COM 文件做一下备份。
好了,但愿这篇文章对于大家了解操作系统也罢,提高系统安全也好,会有所帮助。