Можно ли защитить SWF-файлы? - PullRequest
8 голосов
/ 24 июня 2009

Если мы создаем онлайн SWF-приложение, есть ли способ защитить его, чтобы кто-то другой не загрузил его и не разместил на своем сайте? Например, Webkinz сделан с Flash, но никто не использует его на своих серверах, когда вся игра разблокирована. Что делает Webkinz, что мы можем сделать?

Спасибо!

Ответы [ 6 ]

6 голосов
/ 24 июня 2009

1 - обфускация вашего ActionScript с помощью расширенного обфускатора, такого как secureSWF .

2 - Домен блокирует ваши SWF-файлы.

3- Создайте загрузчик-заглушку, переименуйте исходные SWF-файлы и измените их расширение, затем загрузите исходные SWF-файлы с помощью загрузчика-заглушки.

4- Обязательно предотвращайте горячие ссылки. (это будет зависеть от вашего веб-сервера)

5- Зашифруйте чувствительные строки в вашем ActionScript; либо вручную в своем коде, либо вы также можете использовать для этого secureSWF.

4 голосов
/ 24 июня 2009

Имейте в виду, что все ответы здесь являются вариациями способов сделать более трудным или раздражающим повторное размещение вашей флеш-памяти. Невозможно помешать кому-либо сделать это, если только ваша способность запутывать свою защиту не превосходит способность злоумышленника де-запутать его.

Что касается того, что я бы сделал, я бы посыпал свой код такими битами:

// in a display object
if ( loaderInfo.url != "http://example.com/my/real/content.swf" ) {
    // blow up
}

Это должно остановить любого, у кого нет доступа к декомпилятору. Если этого недостаточно, единственный ответ - инвестировать в обфускатор, потому что ничто из того, что вы делаете, не будет иметь никакого значения, если ваш код не будет запутан.

1 голос
/ 22 ноября 2010

Поверьте, PHP не защитит ваш SWF. Я работаю над SWF Security много лет, я могу обойти любой защищенный или так называемый зашифрованный SWF.

Там нет 100% безопасности SWF, но если вы хотите знать, как сделать его максимально безопасным, я могу помочь. Вы можете связаться со мной по swfprotection на gmail.com

Помните, PHP не может защитить SWF.

1 голос
/ 15 сентября 2010

Мы тщательно протестировали все имеющиеся на рынке SWF-инструменты, и ни один, кроме secureswf, не справился с этой задачей. Тем не менее, это не без проблем, где мой SWF-файл считается поврежденным после применения многих настроек комбинации. Разочарованный, я решил использовать лучшую идею с PHP, которая похожа на работу «Copy Protected Audio CD».

Демонстрация, показывающая, как можно использовать PHP для защиты вашего SWF. http://wildfiremedia.com.sg/demo.php

1 голос
/ 24 июня 2009

Вы можете затруднить кражу ваших SWF-файлов, если вы делаете так, как это делает Webkinz, поскольку у них есть один основной фильм, встроенный в страницу (чтобы пользователь знал URL этого фильма). Все последующие фильмы загружаются в этот оригинальный фильм программно. Конечно, кто-то с флеш-декомпилятором мог бы декомпилировать ваш фильм и увидеть пути, но с другой стороны, вы могли бы даже попытаться скрыть названия этих MovieClips.

0 голосов
/ 24 июня 2009

Это в основном зависит от программного обеспечения вашего веб-сервера. Если PHP, вы можете использовать readfile (). Смотрите пример здесь . Сохраните сам файл .swf над webroot, затем используйте некоторую аутентификацию перед вызовом readfile. В этой настройке вы должны вызывать php-файл с помощью вызова readfile () вместо .swf.

Так что это может выглядеть очень упрощенно примерно так: fakeswf.php:

if (authenticate()) {
    header("Content-Type: application/flash");
    readfile("../realswf.swf");
    }
else {
    header("Content-Type: text/html");
    echo "Nothing to see here.";
    }

index.html:

<a href="fakeswf.php">Click here to play my game</a>

Что касается браузера (если вы правильно установили заголовки в соответствии с примером), fakeswf.php - это файл .swf.

ВАЖНОЕ ПРИМЕЧАНИЕ. На самом деле я не искал подходящий тип содержимого для файла .swf. Обязательно посмотрите его и измените соответствующим образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...