;--------------------------------------------------------
; Program Name : SCANBOOT.ASM (SCAN BOOT Viruses)
; Porgram Type : ANTI VIRUS
; Penulis : Kutu Busuk
; ZeroBit Tech. Research & Development.
; Sourcer : Editor TP 5.5
; Compiler : TASM 2.0 + TLINK 2.0
; Program Code : I#05.930326.930423.07.$03
;--------------------------------------------------------
ESCAPE equ 27
JmlVir equ 15
JmlID equ 3
OneRec equ 11
Code Segment
Assume CS:Code,DS:Code
Org 100h
Begin:
Jmp Start
DUMMY db 13,'** SCANBOOT.ASM - (C)93xxxx, ZeroBit **',10,1Ah
JUNK db 13,'ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿',13,10
db '³ Ada perubahan tidak sah... ³Ü',13,10
db 'ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ',7,13,10,'$'
db ' ßßßßßßßßßßßßßßßßßßßßßßßßßßßßß',7,13,10,'$'
COPYRIGHT db 13,'** SCANBOOT R1.0 - (C)1993, ZeroBit TR&D **',10
db 13,'Masukkan disk di drive a: dan tekan tombol...$'
BATAL db 13,'Dibatalkan...' ,13,10,'$'
BACADISK db 13,'Membaca disk...' ,13,10,'$'
ERROR db 13,'Gagal akses...' ,13,10,'$'
NOVIR db 13,'Virus tak ketemu...' ,13,10,'$'
ADAVIR db 13,'Disk kena virus ' ,13,10,'$'
Ctr db 0
Drive db ?
Vir db 000, 233,172,000, 'Michael'
db 000, 235,078,144, 'DenZuko'
db 000, 235,041,144, 'Ohio '
db 103, 192,205,019, 'Hacker2'
db 043, 250,250,008, 'Hacker '
db 000, 233,013,001, 'H&Dee '
db 000, 235,064,000, 'Sapta '
db 005, 233,153,000, 'Stoned '
db 003, 051,192,142, 'Mystic2'
db 000, 233,170,000, 'VPV1 '
db 000, 235,031,144, 'Joshi '
db 043, 250,051,192, 'Robert '
db 043, 250,250,140, 'Voodoo '
db 043, 250,250,250, 'STMIK '
db 001, 233,074,001, 'Brain '
;--ofs---virus id-----name---
; 1 > panjang 1 record
; 1 2 3 4 5678901 > adalah 11 byte
Start:
mov ax,ds
mov es,ax
lea dx,COPYRIGHT ; cetak copyright
call cetak ; dan tanya drive...
xor ax,ax ; baca keyboard
int 16h
cmp al,ESCAPE ; esc ?
jne short noesc ; bukan ! lompat ke NOESC
lea dx,BATAL ; ya ! esc !
call cetak ; cetak "batal"
jmp quit ; dan keluar...
noesc:
mov ah,19h
int 21h
mov drive,al ; ambil nama drive !
lea dx,BACADISK ; cetak "baca disk"
call cetak
xor ax,ax ; reset disk drive
int 13h
mov drive,0 ; ** HANYA UNTUK TEST DRV A:. BISA DIBUANG **
mov cx,3 ; baca 3 kali jika ada error
lagi:
push cx
mov ax,0201h
mov cx,0001h
mov dl,drive
mov dh,0000h
mov bx,offset Buff ; baca boot sektor
int 13h
pop cx
jnc okay ; ada error ?
loop lagi ; ya ! baca lagi !
lea dx,ERROR ; cetak "error"
call cetak
jmp quit ; keluar
okay:
; cari virus data di Buff
mov si,offset Vir
sub si,OneRec
mov Ctr,0
virl:
inc Ctr
add si,OneRec
mov di,offset Buff
add di,[si]
inc si
mov cx,JmlID
repe cmpsb
je kena
cmp Ctr,JmlVir
je absen ; tidak sama ? tidak ada virus
jmp virl
kena:
lea dx,ADAVIR ; cetak "ada virus"
call cetak
mov dx,si ; cetak "nama virus"
inc dx
mov di,dx
add di,8
mov byte ptr [di],'$'
call cetak
jmp short quit ; keluar
absen:
lea dx,NOVIR ; cetak "takada virus"
call cetak
quit:
int 20h
cetak proc near
push ax
mov ah,9
int 21h
pop ax
ret
cetak endp
Buff db 0
Code EndS
End Begin
29 October 2008
SCANBOOT.ASM
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment