- [Duke's Virus Labs #8] - [Page 28] - Журнал D V L # 8 представляет: Duke's Pascal Overwriting Generator v0.02 (c) by Duke/SMF DPOG - это конструктор, позволяющий создавать исходные тексты нерезидентных Overwriting вирусов на языке Pascal. Комплект поставки конструктора DPOG : ------------------------------------- * DPOG.EXE - исполнимый файл программы * DPOG.CFG - пример конфигурационного файла * DPOG.TXT - описание конструктора * SAMPLE.ZIP - пример созданного вируса * MAKEDPOG.EXE - создает 80 демонстрационных DPOG вирусов Возможности конструктора: ------------------------- - создание вирусов поражающих COM, EXE, COM & EXE файлы - различные варианты процедуры заражения - поражение вирусами за один запуск выбранного количества файлов - возможность проверки и не заражения файла COMMAND.COM - возможность подключения собственных спецэффектов - возможность обработки вирусами атрибута Read-Only - возможность вывода вирусами текстовых сообщений - возможность оптимизации размера вируса History & what's new -------------------- v0.01 - Nov'98 v0.02 - Jul'99 Написана после того, как AVP и DrWeb стали детектировать HLLO.DPOG-based вирусы. Уничтожены сигнатуры для детектирования. Упрощен алгоритм работы. Исправлены несущественные баги. Создание вируса: ---------------- Для того, чтобы создать с помощью DPOG работоспособный HLLO-вирус, необходимо выполнить следующие действия: 1) заполнить конфигурационный файл (с правилами его заполнения и назначением пунктов вы можете ознакомиться ниже). Предположим, что текст вируса будет записываться в файл VIRUS.PAS. 2) запустить конструктор с параметром: DPOG.EXE DPOG.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=", вместо стоящего там числа 4000; b) снова откомпилировать файл VIRUS.PAS (как это делалось в пункте 3) После этого 100% работающий вирус готов! Правила заполнения конфигурационного файла ------------------------------------------ Генератор DPOG v0.02 не имеет диалоговой оболочки и "общение" с пользователем проходит через конфигурационный файл. Строки конфигурационного файла, начинающиеся с символа ";", генератором игнорируются. * A * Это строковая величина, содержащая имя вируса (например, A=DemoVirus). * B * Это строковая величина, содержащая имя автора вируса (например, B=Duke/SMF). * C * Имя файла, в который будет записываться исходный текст вируса на паскале (например, C=virus.pas). * D * Тип файлов, которые будут поражаться вирусом. Возможные варианты: D=C - поражение *.com файлов D=E - поражение *.exe файлов D=B - поражение *.com и *.exe файлов * E * Числовая величина, обозначающая число файлов, поражаемых за один запуск. Если необходимо поразить все файлы текущего каталога, то необходимо поставить E=0 * G * Этот переключатель отвечает за атрибуты поражаемых файлов. Возможны следующие варианты: G=Y - поражать файлы с атрибутом Read-Only (т.е. поражаются файлы c атрибутами $21) G=N - не поражать Read-Only файлы (т.е. поражаются файлы с атрибутами $20) * H * Переключатель способа заражения файлов, допускающий дла варианта: H=Y - использовать COMMAND.COM для заражения файлов. При этом размер созданного вируса получается более большим. H=N - не использовать COMMAND.COM, а использовать собственные процедуры для заражения файлов. При этом размер созданного вируса будет поменьше. * I * Переключатель отвечающий за проверку файлов перед заражением. Учитывается генератором только в том случае, когда D=C или D=B . Возможны два варианта: I=Y - проверять имена найденных файлов и не заражать COMMAND.COM (иначе при заражении COMMAND.COM вирусом перестанет загружаться машина) I=N - поражать все подряд файлы без проверки * J * При завершении работы вируса выводить на экран указанные в этом параметре текстовые строки. Количество строк "J=" не должно превышать 25 . Чтобы никаких сообщений не выводилось, необходимо оставить строку "J=" без значения. * K * Подключение файла со спецэффектами. К вирусу могут подключаться только процедуры, оформленные в виде: procedure имя_процедуры;{без параметров} begin {тело процедуры} end; Если для работы процедуры требуются другие модули, помимо dos.tpu, то их надо подключить в процедуре. Формат записи: K=имя_файла#имя_процедуры Если оставить строку "K=" без значения, то ничего не подключается. * L * Переключатель, отвечающий за оптимизацию кода вируса и допускающий два варианта: L=Y - в исходный текст вируса добавляется строка, уменьшающая размер откомпилированного вируса L=N - оптимизация по размеру файла не производится Об использовании DPOG --------------------- Автор конструктора DPOG оставляет за пользователями право модифицировать по своему усмотрению содержимое сгенерированных конструктором вирусов, оставляя при этом в исходном тексте вируса строку "Generator:='[DPOG v0.02]';".