- [Duke's Virus Labs #7] - [Page 42] - Duke's Simple Virus Cloner Tool v1.1 (c) by Duke/SMF Этой статье можно дать и другое имя : "Как сделать недетектируемым вирус, созданный PS-MPC, IVP, BW, G2 или чем/кем другим". Пособие для lamerz only :) Вирмейкеров, знающих язык assembler, просьба не читать - вредно для вашего психического здоровья. Ибо все нижеприведенное нормальным назвать никак нельзя... Казалось бы - нет ничего проще, чем создать собственный вирус. Берешь конструктор, раз, два - и готово ! Но количество желающих оказалось слишком велико, а различались такие вирусы, как правило, только текстовыми строками. Поэтому аверы решили детектировать сконструированные вирусы как ????-based, где ???? это собственно имя конструктора. (Это с ASM-вирусами. На Pascal'е все гораздо милее, поэтому мой конструктор DPVG ждет всех желающих им воспользоваться ;)) Когда я только начинал свой вирмейкерский путь, меня тоже сильно заботила проблема детектирования сконструированных виров. Но, поковырявшись в них слегка, мне удавалось так переворошить им потроха, что они переставали детектироваться. Но те времена для меня далеко позади... Вообще мне интересен вопрос клонирования вирусов, ведь клон - это двойник, и от клонирования до морфизма по сути один шаг (морфизм - это автоматическое создание вирусом своих клонов). Короче говоря, я решил упростить жизнь начинающим вирмейкерам и написал DSVCT. Эта тулза - своего рода генератор вирусов (а точнее - клонов одного и того же вируса). Если вирус детектируется, то вам достаточно его отклонировать и он будет (как максимум) лишь подозреваться. После этого advanced users aka lamerz могут считать его своим личным, вешать свой копирайт и ходить с гордым видом (to all other: а вам такое поведение крайне не рекомендуется !!!). Рассмотрим два простых способа клонирования вирусов : 1. Перекомпиляция разными ассемблерами с разными параметрами. Если вирус имеет размер более 500 байт, это может дать ощутимую разницу. Можно использовать ассемблирование TASM /M TASM MASM и линковку TLINK /T . Есть еще WASM - он дает более простой код, но чувствителен ко всяким навороченным командам 386-586 (еще более чевствителен A86). 2. Разбавление текста вируса "мусором", т.е. командами, не меняющими смысла программы и не влияющими на работоспособность. Этим занимается DSVCT. А вот и выдержка из моей "документации" : ===== Cut here ===== Duke's Simple Virus Cloner Tool (в дальнейшем DSVCT) является утилитой для простого клонирования вирусов, написанных на языке assembler. Для чего это нужно ? Для пополнения коллекции, для уничтожения сигнатуры в уже детектирующихся вирусах, для создания оригинальных (недетектирующихся) вирусов с помощью конструкторов PS-MPC, G2, BW, IVP и так далее. Использовать DSVCT очень просто : нужно подготовить ранее созданный (возможно не вами ;) ASM-файл и запустить программу с параметрами : DSVCT.EXE old.asm clone.asm где old.asm - уже имеющийся файл, clone.asm - создаваемый клон. Полученный клон нужно компилировать ием же ассемблером (TASM, MASM, WSM, A86), что и исходный файл. Как подготовить исходник для клонирования ? Для этого нужно всего лишь исключить из рассмотрения некоторые строки - нужно поставить в их начале (самым первым символом) символ '*'. Необходимо исключать строки : - антитрассировочные приемы; - строки из начала файла, если они симулируют пораженный файл или метку пораженности, например : JMP START START: или DB 'AB' - директивы компилятору. Возможно исходники получатся менее симпатичными ;) , но зато вполне пригодными для компиляции. Клонирование с помощью DSVCT ведет к увеличению размера вируса, но уничтожает сигнатуру вируса. Работает только для DOS-вирусов, так что про WindowsXX вам придется забыть. Не рекомендуется клонирование BOOT и BAT вирусов, т.к. ни к чему хорошему это не приведет. Поскольку используется генератор случайных чисел, то неоднократное применение DSVCT к одному и тому же исходнику будет давать различные клоны ! Нельзя применять DSVCT к уже отклонированному файлу, поскольку это приведет к нарушению логики работы создаваемого вируса. Возможные неприятности : могут перестать работать команды ближнего перехода (из-за вклинившихся кусков мусорного кода). В этом случае нужно удалить часть изменений, внесенных DSVCT в файл (их легко отличить - текст начинается со второго символа строки). Данная версия является тестовой. Все комментарии шлите на smf2000@mail.ru ===== Cut here =====