- [Duke's Virus Labs #4] - [Page 20] - Утилита DAT2ASM v0.01 (c) by Duke/SMF При создании демонстрационных вирусов HLLC.TRANS.Demo, HLLC.PINC.Demo и HLLO.TPPE.Demo мне потребовалось упаковать несколько TXT-файлов так, чтобы потом быстренько извлечь их на диск. И при этом хотелось, чтобы не было зависимости вируса от наличия распаковщиков на диске. Первое, что приходит в голову, это создание SFX-архива. Но SFX имеют структуру EXE-файла (читай - лишнее место под заголовок), выводят на экран всякие сообщения, чересчур универсальны (и поэтому громоздки). Поэтому на скорую руку я слепил (другие слова здесь не подойдут :) эту утилиточку. Размер получаемого COM-файла превосходит размер DAT-файлов лишь на сотенку байт. Но нам-то нужна упаковка... Берем утилитку PKLITE (DIET или еще какую) и сжимаем COM-файл. Полученное ничуть не уступает любому другому SFX-архиву по качеству и размеру. Если надо запаковать несколько файлов (скажем, text1.dat - text9.dat) в архивчик, то создаем текстовичок pack.txt вида: text1.dat ......... text9.dat и напускаем на него утилитку : dat2asm 2 pack.txt packing.asm В итоге в файле packing.asm имеем исходник ;) будущего SFX-архива. Для одного файла data.txt все и того проще : dat2asm 1 data.txt packing.asm И все ! Телемаркет ! Если кого-то что-то не устраивиет - пишите сами ! (8-P ===== Cut here ===== program dat2asm; var txt,as:text; st:string; n,d:byte; {---------------------------} procedure About; begin writeln('DAT2ASM v0.01 (c) by Duke/SMF * DVL Utilities *'); writeln('Usage : DAT2ASM