[CRACKING] [MISC.] [DOWNLOADS] [LINKS] [CONTACTS]

Взлом и защита программного обеспечения

 

Музыка в кряках [Delphi&KOL]. Часть вторая.

   В одной из предыдущих статей я уже рассказывал о том, как играть трекерную музыку в программах на Delphi (в том числе и с заменой стандартной VCL на  KOL). Для воспроизведения треков мы использовали библиотеку MiniFMOD. 

   Сейчас мы рассмотрим способ проигрывания модулей средствами языка Pascal. Для этого будем использовать движок TMiniMOD от BeRo (http://www.bero.0ok.de). Нам не потребуются никакие внешние библиотеки! Этим способом можно играть музыкальные модули (файлы .mod) как с диска, так и из  самого исполнимого файла без промежуточного сохранения на диск! В последнем случае мы получим исполнимый файл примерно на 10 КБ меньше, по сравнению со случаем использования библиотеки MiniFMOD. Все необходимые для эксперимента файлы можно скачать с моего сайта: www.biocyborg.narod.ru/rev/MiniMOD.zip.

   Итак, в архиве MiniMOD.zip мы найдем следующие файлы:
- minimod.pas - сам движок,
- mod2pas.exe - небольшая программка для преобразования трекерного модуля .mod в программный код на паскале,
- скомпилированные примеры, их исходники,
- track.mod - трекерный модуль для экспериментов.

   А теперь посмотрим, как можно использовать все это хозяйство в наших целях ;). Так как воспроизведение .mod файлов с диска хорошо проиллюстрировано в одном из демонстрационных примеров (MinIModApp.dpr), я опишу процесс запихивания музыки в исполнимый файл и воспроизведения ее оттуда:

1. Берем какой-нибудь трекерный модуль (.mod), переименовываем его в  track.mod и помещаем  в один каталог с программой mod2pas.exe.
2. Запускаем программу mod2pas.exe, после чего в этом же каталоге появится файл trackfile.pas (его размер будет раз в 5 больше файла .mod).
3. Создаем новый проект в Delphi (здесь не важно, используете ли вы VCL или KOL - принципиальных отличий не будет).
4. В uses добавляем MiniMod, trackfile (файлы MiniMod.pas и trackfile.pas должны находиться в каталоге проекта).
5. При старте нашей программы должен выполняться такой код: 

procedure TForm1.KOLForm1FormCreate(Sender: PObj);
var
   MiniMODClass:TMiniMOD;
begin
   MiniMODClass:=TMiniMOD.Create(44100,TRUE,TRUE);
   MiniMODClass.Load(@TrackData,TrackSize);
   MiniMODClass.Play;
end;

   Как видите, все очень просто! Конечно, качество звука немного ухудшается, но это заметно не на всех модулях и только в том случае, если вы знаете, как должна звучать мелодия в оригинале.

   Я написал небольшой пример с использованием библиотеки KOL. Размер исполнимого файла получился 24 кБ (сжат FSG 2.0) - отличный результат для программ на Delphi (музыкальный файл в несжатом виде весил 20 кБ). Исходники примера можно скачать здесь: www.biocyborg.narod.ru/rev/dm2.zip 

P.S. Не забывайте, что с  помощью MiniMod можно проигрывать еще и .wow - файлы. Если у вас музыка в другом формате, её можно конвертировать в .mod  с помощью трекерного редактора  MODPLUG TRACKER v1.16. О том, как оптимизировать размер трекерного модуля можно прочитать на сайте SofT MANiAC'a.

Greetings&Credits: Benjamin Rosseaux, SofT MANiAC [tPORt] and all tPORt members, AlexZ/CRC 

© BioCyborG, 2005

 © BioCyborG
www.biocyborg.narod.ru

Hosted by uCoz