Msg : Prev 3444 / 4681 Next
From: Reminder
1998-01-19 02:00:58

To  : All

Subj:

Пpо симбиоз. part 2


Привет All! 

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

Максимально интегрировав вирус с 
заражаемой программой мы добьемся 
того, что вирус будет неизлечим. 

ЕЩЕ ОДИH СПОСОБ ВHЕДРЕHИЯ ВИРУСОВ. 


Обычно .COM вирусы внедряются 

1) либо целиком в начало, 
2) главное тело пишут в конец, и в начале переход на себя. 
3) главное тело пишут в середину, и в начале переход на себя. 


В любом из этих способов вирус меняет первые байты файла. Это легко 
отслеживается всякими там ревизорами. 
К тому же полуфакам очень просто проследить по цепочке к главному 
телу вируса, будет он полиморфный или нет - это уже не важно, все 
дело во времени. 

Подумалось, а что, если интегрировать вирус с самой заражаемой прогой ? 
Вот это было бы здорово, полечить прогу было бы весьма и весьма трудно. 

Почти в каждой .COM программе имеются такие инструкции: 

1) 

mov ax,[что то] 
int 21h 
код команд - B8,??,??,CD,21 

2) 

или что-то вроде 

mov ah,[что то] 
int 21h 
код команд - B4,??,CD,21 



Если таких команд нет - то попробуйте изменить регистр например на BX,CX - 
BH,CH,.... - что придумаете. 

Если нет 21 прерывания - измените на другое, достаточно поменять 21 на это. 



ЗАЧЕМ ЭТО HАДО ? 


А вот зачем - ищем в заражаемой проге эти инструкции и 
меняем их на CALL [начало вируса], оставшиеся лишние байты забиваем 
чем нибудь из RND и все. 

Тело самого вируса пишется в конец файла, или в область повторяющихся 
байт, если есть. В теле вируса мы исполняемся, восстанавливаем 
оригинальные байты и отдаем им управление. 

Главная фича в том, что мы не храним у себя в теле адрес подмененных 
байт, мы его получаем после команды CALL [на вирус] делая просто 
POP [регистр] - в регистре минус количество занимаемых байт (4,5) 
мы получаем адрес команд. 

Естественно внедряться надо не в первую такую цепочку команд, а по 
RND. Естественно для большего эффекта надо писать полиморфный 
расшифровщик для вируса. При таком раскладе нас конечно поймать можно, 
но весьма и весьма (я надеюсь на это ) сложно. 


p.S. Для .EXE надо делать FAR CALL. (5 байт) (не забудьте и про релокейшены ) 



(c) Reminder [DVC] 

=== Cut === 


С бестовыми регардами , Kostya Volkov aka Reminder // [WW] [DVC] 

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