警惕“火炬”病毒 张建勇 1993-03-26 火炬病毒的发作条件是:硬盘感染时要在主引导记录偏移1BBH处保留被感染时间的BCD码月份。 如果在非硬盘感染的月份中用带病毒的软盘引导系统(如硬盘是3月份被感染,在4月份用带有“火炬”病毒的软盘起动),那么,就会在屏幕上显示几束火炬的图案,同时,破坏性地覆盖硬盘主引导区,其直接后果是硬盘不能引导,软盘引导后也不能进入硬盘,也就是说造成表面上的硬盘所有数据丢失。 为了消除此种病毒,使其不给用户造成重大损失,笔者在此介绍这种病毒的发现和用DEBUG的消除方法。 一、发现火炬病毒 1、进入DEBUG。 2、调出可能有病毒的引导块。 (1)、查找硬盘中的火炬病毒,执行以下一段指令 A100MOV AX,201 MOV BX,200 MOV CX,1 MOV DX,80 INT 13 INT 3 G;执行指令 (2)、如果是查A驱中的软盘,执行命令 L CS:200 001 (3)、如果是查B驱中的软盘,执行命令 -L CS:200 1 0 1 3、反汇编。 U 200 JMP 298 … … U 298 CLD XOR AX , AX MOV SS , AX MOV SP , 7C00 PUSH AX … … POP DS … … 如果反汇编200H和298H处有以上指令,则说明你的机器已被“火炬”病毒感染。 二、消除火炬病毒 1、消除软盘中的火炬病毒。火炬病毒感染软盘时,把原BOOT区放在1面19H道1扇区中,因此,消除方法是: (1)、消A驱中的火炬病毒,在DEBUG下执行: -A100 MOV AX,201 MOV BX,200 MOV CX,1901 MOV DX,0100 INT 13 INT 3 -RIP :100 -G -W200 001 (2)、消B驱中的火炬病毒。 将第4句 “MOV DX, 0100”改为“MOV DX,0101”。 2、消除硬盘中的火炬病毒。 (1)、有原硬盘引导记录备份的,恢复原主引导记录备份。在此也提醒读者注意:希望用户在没有引导型病毒感染以前,做好硬盘主引导记录、DOS引导区的备份工作。 (2)、没有原引导记录备份的,可从其它机器硬盘上获得主引导记录,方法是:在其它未感染的硬盘上执行: -A100 MOV AX, 201 MOV BX, 200 MOV CX, 1 MOV DX, 80 INT 13 INT 3 _RIP :100 _G; 执行,读出主引导记录取名为BOOT,保存到软盘中。 -N BOOT -RCX :200 -RBX :0 -W 200 到被“火炬”病毒感染的机器上执行上面这段DEBUG的获主引导记录的程序后,再执行命令: -N BOOT -L 400 M 4005 BD 200; 复制正常主引导记录再执行指令 -A100 MOV AX,301 MOV BX,200 MOV CX,1 MOV DX,80 INT 13 INT 3 RIP :100 即可。 用这种方法很麻烦,又有一定的机器和人为条件的限制,所以不是好的、安全的方法,笔者开发有一个消除此病毒的程序,读者如需要,可与笔者联系。