Как стать автором
Обновить

Элементарный разбор mp3 flash player'ов

Время на прочтение 6 мин
Количество просмотров 17K

Раздел 1. Ознакомление с проблемой

Иногда возникает необходимость ознакомить человека со звуковым материалом на своей домашней странице, однако хотелось бы не оставлять такой возможности как скачивание. Некоторые люди уверенно думают, что если нет кнопки «скачать», то закачка невозможна. Это совсем не так.
Хотелось бы показать как идет элементарный разбор mp3 flash плеера...

1.1 Плееры с прямой ссылкой на *.mp3 файл/ы

Есть много разных online плееров, но все они по большей части проигрывают только одну песню и при этом содержат ссылку на нее в открытом виде.
Embedded MP3 Audio Player
Embedded MP3 Audio Player
http://www.macloo.com/examples/audio_player/

Код плеера:
<script language="JavaScript" src="http://www.fakedomain.com/myname/audio/audio-player.js">
</script>
<object type="application/x-shockwave-flash" data="http://www.fakedomain.com/myname/audio/player.swf" id="audioplayer1" height="24" width="290">
<param name="movie" value="http://www.fakedomain.com/myname/audio/player.swf">
<param name="FlashVars" value="playerID=audioplayer1&soundFile=http://www.fakedomain.com/myname/audio/music.mp3>
<param name="quality" value="high">
<param name="menu" value="false">
<param name="wmode" value="transparent">
</object>

В коде плеера довольно просто заметить ссылку на файл: www.fakedomain.com/myname/audio/music.mp3

1.2 Плееры с ссылкой на файл плэйлиста

Портал poqbum.com предоставляет возможность создавать mp3 flash player для вашего сайта через веб-интерфейс. После прохождения регистрации вам предоставляется возможность выбрать дизайн плеера, на втором шаге вы составляете трэклист, в который прописываете ссылки на .mp3 файлы и их название. В результате мы получаем код нашего плеера, который можно с легкостью вставить на свою страницу.

Сам плеер вот:
mp3player.poqbum.com
mp3player.poqbum.com

А код моего плеера выглядит так:
<embed src="http://mp3player.poqbum.com/swf/08cc0e4f7f4a6ml8h99hefbeeci71ci6/mp3play..." menu="false" quality="high" width="280" height="320" name="poqbum-dot-com" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="playlist=http%3A%2F%2Fmp3player.poqbum.com%2Fswf%2F08cc0e4f7f4a6ml8h99hefbeeci71ci6%2Fmp3player.xml" wmode="transparent"></embed>

Посмотрев в код мы не видим явных ссылок на файлы формата *.mp3, но это не значит, что нет никаких способов их выковырять.
Вперед!

Раздел 2. Вскрытие ссылок

На скорую руку нашлось 2 способа.

2.1 Способ #1

Плеер с портала mp3player.poqbum.com имеет такой вид, что изначально кажется, что узнать местонахождение исходных материалов невозможно, но это лишь для неопытных глаз.

Приглядевшись в код плеера можно заметить параметр:
flashvars="playlist=http%3A%2F%2Fmp3player.poqbum.com%2Fswf%2Fa9ba8fe06dlligy5ic84023ec4fb576f%2Fmp3player.xml"

Давайте розберемся:
flashvars — flash — это сам флэш,vars — это переменная/ые. Если в сумме, то это какая/ие-то переменная/ые flash'а, а точнее нашего плеера.
Идем дальше…

Разбираем строку:
"playlist=http%3A%2F%2Fmp3player.poqbum.com%2Fswf%2Fa9ba8fe06dlligy5ic84023ec4fb576f%2Fmp3player.xml"

playlist — список песен
http%3A%2F%2Fmp3player.poqbum.com%2Fswf%2Fa9ba8fe06dlligy5ic84023ec4fb576f%2Fmp3player.xml — вся эта штука интуитивно похожа на ссылку, только если мы вставим ее в адресную строку браузера, то он будет ругаться на нас.
Что же делать?
Глядим…
%3A — это символ ":"
%2F — это символ "/"

Заменяем и таким образом получаем ссылку нормального вида:
http://player.myspace-player.com/swf/01d6d973def57aoa78eg9flch95fmfd5/mp3player.xml

Переходим по ней и видим код файла mp3player.xml:
<player showDisplay="yes" showPlaylist="yes" autoStart="no">
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_nazakate.mp3" title="fedya - Na zakate"/>
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_romantika.mp3" title="fedya - Romantic"/>
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_list.mp3" title="fedya - List (feat. Liya)"/>
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_nebo.mp3" title="fedya - Nebo (feat. Liya)"/>
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_lubovzla.mp3" title="fedya - Lubov zla"/>
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_gorodmoi.mp3" title="fedya - Gorod moy (feat. Lex_P)"/>
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_letniyvecher_skit.mp3" title="fedya - Letniy vecher (skit)"/>
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_letniyvecher.mp3" title="fedya - Letniy vecher (feat. Liya)"/>
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_misleypojar.mp3" title="fedya - Misley pojar (feat. Vova LC)"/>
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_nebopoteryalokraski.mp3" title="fedya - Nebo poteryalo kraski"/>
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_neznakomke.mp3" title="fedya - Prekrasnoy neznakomke"/>
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_romantika2.mp3" title="fedya - Gde ti, Romantika?"/>
<song path="http://www.lavrinovich.org.ua/ra/fedya_-_namagaemos.mp3" title="fedya - Namagaemos (ua ver)"/>
<song path="http://mp3player.poqbum.com/poqbum.mp3" title="Player Generated By: POQbum.com"/>
</player>

В нем то уж и наблюдаются все ссылки и названия.
Тяните, люди дорогие, не стесняйтесь.

2.2 Способ #2

Заходим на страницу с плеером. Кликаем по плееру, чтобы началось воспроизведение.
image

После прогрузки первой звуковой дорожки сведения о ней попадают в кэш. На примере браузера Opera можно просмотреть кэш у увидеть запись об источнике.
image
Вот и все…

Раздел 3. Развеивание мифа о безопасности Uppod

Услышал о таком чуде как Uppod и вот такие возможности плеера меня заинтересовали:
Основные возможности:
* поддержка плейлистов различных конфигураций;
* возможность скрывать прямые ссылки на файлы с помощью кодирования;
* мультиязычный интерфейс;
* возможность выбирать состав панели управления
* (более 20 кнопок и индикаторов можно установить в любой последовательности);
* пользовательские подсказки…

После прохождения регистрации и несложных процедур можем получить заветный код своего плеера:
uppod

Мой выглядит так:
<object id="audioplayer324" type="application/x-shockwave-flash" data="/flashmp3player/pl/uppod.swf" width="300" height="90">
<param name="allowScriptAccess" value="always" />
<param name="wmode" value="transparent" />
<param name="movie" value="/flashmp3player/pl/uppod.swf" />
<param name="flashvars" value="uid=audioplayer324&st=41AEEAG89Gv5W7xOoBiuYn6dQyIFW5XHms5fp2UhTKd0JAswtTYsNXQW5r4&pl=82AEEAGh89v5c1JaoiuYn6ZdQIFWscYsMX6sNQXHm5XHm5fp2UhTzd0JAswtYsNXQW5r5&m=audio" />
</object>

После того как я окинул его своим взглядом, мне показалось все культурным и на совесть сделанным, но скептик внутри меня решил проверить.
Создал файл index.html, как и полагается уместив все необходимое внутрь:
<html>
<head>
<title>pl</title>
</head>
<body>
<object id="audioplayer324" type="application/x-shockwave-flash" data="/flashmp3player/pl/uppod.swf" width="300" height="90">
<param name="allowScriptAccess" value="always" />
<param name="wmode" value="transparent" />
<param name="movie" value="/flashmp3player/pl/uppod.swf" />
<param name="flashvars" value="uid=audioplayer324&st=41AEEAG89Gv5W7xOoBiuYn6dQyIFW5XHms5fp2UhTKd0JAswtTYsNXQW5r4&pl=82AEEAGh89v5c1JaoiuYn6ZdQIFWscYsMX6sNQXHm5XHm5fp2UhTzd0JAswtYsNXQW5r5&m=audio" />
</object>
</html>

Залил его на хостинг, там он попросил в указанные ранее каталоги поместить файл стиля и плэйлист.
Сделал как просили. Получилося следующий плеер
Ну, что же? Раз уж в коде, как я убедился, ничего внятного не видно, то проверим кэш!
Установил чистую Opera 11.10. Зашел к своему плееру.
my player

И проверил кэш:
opera:cache
И то, что я увидел, крайне меня разочаровало. Ссылки то попрятали, но лазейки как ни как есть, а от того безопасность не стала выше.

Выводы:

Мы посмотрели защиту mp3 flash player'ов, точнее ее отсутствие.
Для уверенного скрытия файлов плеер должен быть написан специально под ваши требования, а именно: файлы должны быть зашифрованы и находится в базе данных, к которой плеер по ключу может подключиться, а затем расшифровывая на лету воспроизводить.
Все представленные веб-сервисы для легкого создания mp3 flash player'ов вскрываются.
Будьте бдительны и не будьте наивны.
Если, кто-то найдет что-нибудь интересное по данной теме, то буду рад взглянуть.
Примечание:
В топике рассмотрены найденные на скорую руку самые типичные варианты. Их масса, но все они уж очень похожи.

Благодарности:

  • Композитору Погорелову Алексею Викторовичу
  • Бабич Богдану Александровичу
Теги:
Хабы:
-9
Комментарии 40
Комментарии Комментарии 40

Публикации

Истории

Работа

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн