- [Duke's Virus Labs #3] - [Page 19] - Журнал D V L # 3 представляет: Duke's Pascal Virus Generator v0.10 (c) by Duke/SMF DPVG - это конструктор, позволяющий создавать исходные тексты нерезидентных Overwriting & Worm вирусов на языке Pascal. Является усовершенствованной и существенно дополненной версией конструктора DPOG (см. DVL #2) Комплект поставки конструктора DPVG : ------------------------------------- * DPVG.EXE - исполнимый файл программы * DPVG.CFG - пример конфигурационного файла * DPVG.TXT - описание работы с конструктором * SAMPLE?.PAS - исходник вируса HLLO.DPVG.Demo / HLLW.DPVG.Demo, написанного на DPVG * SAMPLE?.CFG - конфигурационный файл для вируса HLLO.DPVG.Demo / / HLLW.DPVG.Demo * SAMPLE?.EXE - готовый вирус HLLO.DPVG.Demo / HLLW.DPVG.Demo Возможности конструктора: ------------------------- - создание HLLO-вирусов поражающих COM, EXE, COM & EXE файлы или HLLW-вирусов, поражающих ARJ, LZH, RAR и ZIP архивы - различные варианты процедур заражения - поражение вирусами за один запуск выбранного количества файлов - возможность проверки и не заражения файла COMMAND.COM для HLLO-вирусов - возможность подключения собственных спецэффектов - возможность обработки вирусами атрибута Read-Only - возможность вывода вирусами текстовых сообщений - возможность оптимизации размера вируса Создание вируса: ---------------- Для того, чтобы создать с помощью DPVG работоспособный HLLO/HLLW-вирус, необходимо выполнить следующие действия: 1) заполнить конфигурационный файл DPVG.CFG (с правилами его заполнения и назначением пунктов вы можете ознакомиться ниже). Предположим, что текст вируса будет записываться в файл VIRUS.PAS. 2) запустить конструктор с параметром: DPVG.EXE DPVG.CFG 3) откомпилировать полученный PAS-файл с помощью компилятора Turbo Pascal (tpc.exe) или Borland Pascal (bpc.exe): TPC.EXE VIRUS.PAS или BPC.EXE VIRUS.PAS 4) если вы указали в конфигурационном файле опцию H=N, то необходимо: a) посмотреть размер полученного файла VIRUS.EXE и вписать ее в файл VIRUS.PAS в строку "VirusSize=", вместо стоящего там числа 3500; b) снова откомпилировать файл VIRUS.PAS (как это делалось в пункте 3) После этого 100% работающий вирус готов! Правила заполнения конфигурационного файла ------------------------------------------ Генератор DPVG v0.10 не имеет диалоговой оболочки и "общение" с пользователем проходит через конфигурационный файл. Строки конфигурационного файла, начинающиеся с символа ";", генератором игнорируются. Секция общих данных (заполняется всегда!) : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * 0 * Обозначает тип создаваемого вируса. Возможные варианты: 0=O - HLLO (overwriting virus) 0=W - HLLW (archive worm) * A * Это строковая величина, содержащая имя вируса (например, A=DemoVirus). * B * Это строковая величина, содержащая имя автора вируса (например, B=Duke/SMF). * C * Имя файла, в который будет записываться исходный текст вируса на паскале (например, C=virus.pas). * D * Числовая величина, обозначающая число файлов, поражаемых за один запуск. Если необходимо поразить все файлы текущего каталога, то необходимо поставить D=0 * E * Этот переключатель отвечает за атрибуты поражаемых файлов. Возможны следующие варианты: E=Y - поражать файлы с атрибутом Read-Only (т.е. поражаются файлы c атрибутами $21) E=N - не поражать Read-Only файлы (т.е. поражаются файлы с атрибутами $20) * F * Переключатель способа заражения файлов, допускающий дла варианта: F=Y - использовать COMMAND.COM для заражения файлов. При этом размер созданного вируса получается более большим. F=N - не использовать COMMAND.COM, а использовать собственные процедуры для заражения файлов. При этом размер созданного вируса будет поменьше. * G * При завершении работы вируса выводить на экран указанные в этом параметре текстовые строки. Количество строк "G=" не должно превышать 25 . Чтобы никаких сообщений не выводилось, необходимо оставить строку "G=" без значения. * H * Подключение файла со спецэффектами. К вирусу могут подключаться только процедуры, оформленные в виде: procedure имя_процедуры;{без параметров} begin {тело процедуры} end; Если для работы процедуры требуются другие модули, помимо dos.tpu, то их надо подключить в файле с процедурой. Формат записи: H=имя_файла#имя_процедуры Если оставить строку "H=" без значения, то ничего не подключается. * I * Переключатель, отвечающий за оптимизацию кода вируса и допускающий два варианта: I=Y - в исходный текст вируса добавляется строка, уменьшающая размер откомпилированного вируса I=N - оптимизация по размеру файла не производится * P * Поиск и заражение файлов в каталогах переменной PATH. Возможны варианты : P=Y - поражать по PATH P=N - не поражать по PATH Эта секция заполняется при создании HLLO-вирусов : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * J * Тип файлов, которые будут поражаться вирусом. Возможные варианты: J=C - поражение *.com файлов J=E - поражение *.exe файлов J=B - поражение *.com и *.exe файлов * K * Метка (идентификатор) зараженности файла. Должна состоять из двух символов (например, K=M$). * L * Переключатель отвечающий за проверку файлов перед заражением. Учитывается генератором только в том случае, когда J=C или J=B . Возможны два варианта: L=Y - проверять имена найденных файлов и не заражать COMMAND.COM (иначе при заражении COMMAND.COM вирусом перестанет загружаться машина) L=N - поражать все подряд файлы без проверки Эта секция заполняется при создании HLLW-вирусов : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * M * Тип поражаемых архивов. Возможные варианты: M=A - ARJ M=L - LZH M=R - RAR M=Z - ZIP В одной строчке можно указать несколько букв, например M=ArLz * N * Под каким именем записывать червя в архив. Если оставить строчку пустой, то червь будет записываться со случайным именем и расширением COM или EXE * O * Размер дописываемого в конец червя мусора. При этом длина будет изменяться от размера червя до размер+указанное значение. Если O=0 , то мусор не дописывается. Об использовании DPVG --------------------- Автор конструктора DPVG оставляет за пользователями право модифицировать по своему усмотрению содержимое сгенерированных конструктором вирусов, оставляя при этом в исходном тексте вируса строку "Generator:='[DPVG v0.10]';".