Более того, можно изменять их параметры, такие как громкость и частота.Введение Все мы когда-либо юзали кряки/кейгены. Что говорить о российском юзвере, если даже хлопцы из Мелкософта были пойманы за этим же занятием (я вам этого не говорил :)). К сожалению, для обычного пользователя, купившего пиратский диск, кейген – это всего лишь средство отучить нужную программу не просить у бедного студента денег. Но, тем не менее, гораздо приятнее воспользоваться «лекарством» в «оболочке» - с хорошей графикой и фоновой музыкой. Это даже юзверь оценит, а возможно даже и коллекционировать станет :). Особенно, если «лекарство» с музыкальным оформлением. Сегодня я хочу поговорить с вами на тему “как наполнить наш релиз музыкой”. Изложение сие оформлено в виде ЧАВО, где один вопрос перетекает в другой. В первую очередь статья адресована начинающим крякерам, и поэтому я постараюсь предельно подробно обо всем рассказать. Приступим. Что такое трекерная музыка и почему это все так мало весит? Скачивая очередной кейген, мы как-то мало задумываемся, о том, что весит он, к примеру,50 кб, А в нем и графика есть, и музыка играет. А ведь даже весьма компактный формат MP3 занимает примерно 1минута = 1 Мб. Такв чем же секрет?Секрета никакого, конечно нет. Дело в том, что в крякерских релизах используется трекерная музыка (некоторые извращенцы суют туда мидюки, но этот способ неудобен тем, что на разных звуковых картах композа будет звучать по-разному). Я удивился, когда выяснил, что почти все ее слышали, но мало кто знает что это такое. Свое название, «трекерная», эта музыка получила от названия программ, в которых она создается - трекеров (от слова track -дорожка). Трекер - это аналог многодорожечного магнитофона, только кассеты он использует"виртуальные", создавая их образ в файле. Кроме того, аналоги всех основных функций трекера тоже можно найти в магнитофоне. При записи с микрофона вы получаете на ленте определенную последовательность сигналов в виде участков различной намагниченности. Точно так же и в трекере - для каждой колонки записывается последовательность команд. Интерпретирующая программа -проигрыватель, словно магнитная головка в магнитофоне, переводит эти команды в звуковые импульсы определенной частоты и громкости.Как любое музыкальное произведение, записанное на кассету, состоит из фрагментов звучания различных инструментов, так и в трекере с помощью команд на каждой из дорожек вы воспроизводите сэмплы, которые были специально подобраны для соответствующей музыкальной композиции. Более того, можно изменять их параметры, такие как громкость и частота. В трекерах предусмотрены специальные функции для изменения свойств групп сэмплов (или инструментов – об этих двух терминах мы поговорим ниже), а в вашем магнитофоне за это отвечают ручки эквалайзера, регуляторы баланса и громкости.В музыкальном модуле может быть максимально задействовано до 64каналов-дорожек (все зависит от трекерного формата). Звуковые сигналы из всех каналов в итоге сводятся в один стереоканал (два моно), хотя это требует определенных аппаратных ресурсов. В трекере вы сами выбираете стереоканал для каждой дорожки.Своему развитию и распространению эти программы во многом обязаны сформировавшейся в 90-х годах специфичной среде (компьютерный underground), в которой работали и общались между собой через сети и BBS хакеры, кодеры и компьютерные музыканты. А первые такие музыкальные редакторы появились на знаменитом компьютере Amiga, который в свое время обеспечивал действительно уникальные возможности и являл собой, наверное, одну из самых ранних мультимедийных систем. Люди хотели творить, и, с помощью встроенного синтезатора Amiga, способного воспроизводить оцифрованные сэмплы через четыре аудиоканала, они научились создавать оригинальные музыкальные произведения, сохраняемые в формате MOD. Это увлечение сыграло роль объединяющего фактора и привело к образованию многочисленных музыкальных групп и кодерских коллективов, которые разрабатывали все более хитроумные музыкальные редакторы, демки и просто MOD-файлы (музыкальные модули). Более подробно о «дописишной» истории трекерной музыки можно почитать в статье в "Хакере" - «Amiga и Commodore» (номер#014). В последствии появилось много аналогичных редакторов для PC, были усовершенствованы форматы представления звука (STM, ULT и т.п.) и средства его обработки. Родоначальником этой группы музыкальных редакторов на PC считается программа PC Scream Tracker Перечислим особенности этих редакторов - Их нельзя назвать секвенсорами, т.к. большинство из них не можетработать с интерфейсом MIDI (хотя современные трекеры уже могут управляться с MIDI-клавиатуры и работать стехнологиями VST и DirectX) и, cледовательно,управлять внешними устройствами тоже не в состоянии.
- Каждый из этих редакторов, обладает и по сей день своим уникальныминтерфейсом, работающим, как правило, в текстовом режиме. Отсутствует нотный интерпретатор (нотатор). Между прочим, для любителей Fruity Loops, могу сообщить, что возможно в следующих версиях появится возможность редактировать паттерн в трекерном текстовом виде (я даже видел скриншот :)).
- Композиции (их принято называть “chiptunes” или “чипы”) хранятся в специфическом формате, который содержит помимо записи последовательности«нот» и все инструменты с сэмплами. Важно чувствовать различие понятий инструмент и сэмпл. Инструмент может оперировать несколькими сэмплами.Инструменты содержат такую информацию, как, например настройки сэмплера при воспроизведении сэмпла (параметры огибающих громкости и положения на стереобазе) или размещение сэмплов (т.н. sample map).В каждой зоне заданной пользователем может звучать определенный сэмпл. В предельном случае для каждой ноты можетбыть назначен свой сэмпл. Сэмплы включают в себя оцифрованный звук икое-какие дополнительные параметры, например, начало и конец петли (loop). Я думаю на вопрос, почему chiptunes весят так мало, я почти ответил. Действительно, т.к. последовательность нот как набор команд для сэмплера занимает ничтожно мало места, а сэмплы можно использовать 8-битные, длиной в сотню байт, вполне реально сделать модуль размером с десяток килобайт (мой демонстрационный модуль для библиотеки uFMOD весит 900 байт)! Но в данный момент мы не собираемся делать трекерную музыку (интересующихся отсылаю в журнал "Хакер" к статьям «Треком по черепу» (номер #014), «Симфония Soundblaster’а» (номер #074)), у нас задача более важная – понять, как ее можно впихнуть в наш кряк/кейген? Для этого нам как минимум нужен хотя бы один модуль.
Где взять модуль? Я бы конечно посоветовал скорешиться с каким-нибудь трекерщиком. Но как ни странно, они на дороге не валяются (если только они не бухие :)). Да и далеки современные трекерщики от крякинга (но не все! :)). Я в данном случае скорее исключение, чем правило – одна из причин, почему я пишу музыку для кряков/кейгенов/кряктулз в том, что я был крякером ДО того как стал трекерщиком. Если все-таки трекерщик никак не находится, придется воспользоваться готовыми решениями. Итак, займемся поиском модуля для нашего кейгенчика. Существует множество архивов трекерной музыки, вот список проверенных мной ссылок: - ftp://ftp.modland.com/- огромный архив трекерной музыки. Отсутствует возможность поиска, но контентнастолько структуризирован, что все и так понятно.
- http://www.chiptune.com/ - очень хороший сайт трекерщика rez’a. Большой архив и чиповыйпоисковик Chiple.
- http://www.modarchive.com> - один из лучших (и старейших) в своем роде.
Первый и третий линк - очень добросовестные ребята, они самостоятельно собрали почти всё собрание моих сочинений, которые когда либо уходили за пределы моего винта :)
Советую также пройтись по этим ссылкам: - http://www.dc5.org/demodu>late
- http://www.zophar.net/ind>ex.phtml
- http://www.worldofspectru>m.orgprojectay/
- http://exotica.fix.no/tun>esunexotica/
- http://homepage1.nifty.co>mrophon
Но что вы там будете искать? Форматов превеликое множество, какие из них можно использовать? Какой трекерный формат допустим в релизах? Ответ однозначен – любой. На то он и модуль, что бы подключаться, когда потребуется! Другое дело, насколько вы подкованы в кодинге – ведь потребуется разобраться в формате модуля, а потом писать код, который будет проигрывать модули, и все в этом духе… Но оно вам надо? Сейчас разберемсси. На данный момент существуют 4 самых популярных формата: - MOD – (Mod Tracker) значительно устаревший формат - 8 битные сэмплы, 4 канала,отсутствие инструментов (там имеются только сэмплы), малое число эффектов делают произведение отблеском прошлого века. Но и в этом формате существует огромное количество достойных модулей!
- S3M – (Scream Tracker III)улучшение первого отличается от оного только снятием ограничения на 4 канала ибольшим числом эффектов.
- IT – (ImpulseTracker) осуществляет прямой контроль над 64 каналами. Очень серьезный формат.Новых версий трекера не предвидится, говорят, из-за спама, посланного Пульсу (автору программы – Jeffrey Lim aka Pulse) пьяными хакерами за то, что он оценил свой дискрайтер в $30 :).
- XM - (Fast Tracker II) долгое время считался самым дружелюбным, в плане интерфейса трекером, в нем впервые были введены инструменты. Опыт показывает, что в крякерских релизах в основном юзается ХМ. И это неспроста! Одна из причин – наличие библиотек, которые работают именно с этим форматом. Подключение таких библиотек избавляет от необходимости написания кода для воспроизведения модуля, достаточно воспользоваться простыми командами. Если у Вас есть модуль в другом формате, ее можно конвертировать в XM с помощью редактора трекерной музыки, например ModPlug Tracker (взять можно тут – http://websound.ru/softwa>reeditors/mpt.zip), для чего следует просто открыть файл и сохранить его с расширением .xm. О том, как воспользоваться этими библиотеками я расскажу ниже.
Как добавить трекерный модуль в релиз? Перед тем как сесть писать эту статью, я провел блиц-опрос среди своих знакомых. К сожалению (или к счастью?) у меня мало контактов с лицами, которые не имеют отношения к компьютерам :). Но результаты получились весьма разные. Я не буду указывать авторов этих мнений, но многие – очень известны в крякерской среде. Вопрос звучал так: «Скажи честно - нужна музыка в кряках/кейгенах?». Мнения были таковы: - В кряках нет.. а в кейгенах да..
- Конечно, нужна. Особенно в кейгенах радует музыка!
- Честно, пофиг
- Мне вообще нравится, когда релиз хорошо и гармонично оформлен.
- Музыка в релизах сценовых крэкеров – имхо практически обязательный компонент
- Многим юзерам лишь бы кряк работал, а на оформление плевать... Для этого и нужны «яркие» кряки, чтобы заинтересовать потенциального будущего крэкера
- Конечно, нет :)! Иногда у неё высокий уровень громкости, что раздражает :).
- Да, в каждой крякерской тиме должен быть трекерщик, но не каждая команда может себе это позволить.
- Да. Это ведь не только красиво и классно, но это ещё показывает то что на сцене не только подонки, но и таланты :)
Я здесь привел не все ответы, но большинство моих знакомых все-таки «за» (меня, видать, обижать не захотели :)), чуть меньше заявили, что им безразлично, и только один высказался против, мотивируя это тем, что часть кодеров, пишущих кряки/кейгены и прочие демки с чипдисками , впихивают в них код, заставляющий микшер звуковой карты устанавливать уровень громкости на максимум. Мде. А ведь, и правда! В лучшем случае штаны отстирывать придется, в худшем случае – можно юзверя и до инфаркта довести! Я тут недавно делалтрекерную версию песни «Вставай страна огромная» по просьбе Бишепа (см. кряк для Total Commander 6.52 от TSRh), так я думаю, если такая песенка грянет со всей дури на колоночках ватт эдак в 50, то на одного пользователя нелегального софта сразу станет меньше :). Но не будем о грустном – у нас на это просто нет времени!Как я уже говорил – достаточно к нашему релизу приладить библиотеку,как сразу будет нам щастье :)! Но сначала определимся, начем вы кодите? Да простит меня Lash, но писать кейгены на VB, поменьшей мере… э… странно! (Хотя uFMOD позволяет вшивать себя в ВБ-шную прогу). Остается 3 популярных варианта: MASM32, C++ и Delphi. Есть еще и горячо любимый мной FASM... Существуют три очень известные библиотеки FMOD, BASS и MIDAS. Это очень серьезные разработки, но в нашем случае они не очень подходят, так как размер ЕХЕ получается достаточно большим, либо библиотеки таскать за собой придется :( (я не говорю про МИДАС, но все же он тоже достаточно громоздкий, но им тоже пользуются, например, EPSiLON). Оптимальным вариантом является MiniFMOD (http://www.fmod.org/) или uFMOD by Quantum & Asterix (http://ufmod.sf.net). uFMOD -альтернатива MiniFMOD, которую авторы написали на базе исходников MiniFMOD'а. uFMOD, в отличие от MiniFMOD, не использует CRT (только kernel и winmm). Авторы посчитали целесообразным сменить название библиотеки, т.к. изменениям подверглись даже прототипы некоторых функций и их возможные коды ошибок, из-за чего не может быть официальной совместимости ни с FMOD, ни с MiniFMOD. Авторы библиотеки приложили к ней большой архив примеров на разных языках программирования, так что я думаю понять как ее подключить сложностей не будет А нет ли способа проще? Остается упомянуть самый простой способ создания озвученного патча (именно патча, т.к. для создания кейгена все-таки надо уметь кодить :)). Существуют различные патчмейкеры, которые способны к сотворению кряка на основе сравнения оригинального и битхакнутого файлов. Некоторые из них способны встраивать в кряк трекерный модуль, а внешний вид диалога брать из создаваемого вами файла ресурсов. Я могу вам посоветовать diablo2oo2’s Universal Patcher (http://www.diablo2oo2.cjb>.net), в том числе из-за того,что к созданию одной из версий приложил руку ваш покорный слуга :). Заключение Ну вот, наверное, и все :). Что делать дальше с вашим релизом – решайте сами! А мне остается попрощаться и поблагодарить своего друга и `коллегу` BioCyborG’a за его эксперименты с библиотеками на Delphi и за помощь в подготовке этой статьи. Также хочусказать спасибо ребятам из команды tPORt за ценные советы по асму.
|