Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Защита swf файла (http://www.flasher.ru/forum/showthread.php?t=143307)

wa1 13.08.2010 00:56

Защита swf файла
 
Здравствуйте.
Как можно сделать чтобы посетители сайта не скачивали swf файл с сайта, а если уже скачали, то не смогли вызывать его функции через JavaScript?

Может прописать имя домена в сам код и скомпилировать и ролик не будет работать на других сайтах?

e_gamer 13.08.2010 00:59

Если я правильно понял мысль, то можно поставить условие, в котором смотрится - если домен не такой-то, то ничего не делать.
Наверное так.

wa1 13.08.2010 01:07

Спасибо, а вот если я не хочу или не могу перекомпилировать файл?

e_gamer 13.08.2010 01:15

А как вы хотите изменить код без перекомпиляции?

wa1 13.08.2010 01:23

Я хочу чтобы нельзя было использовать функции моего ролика на других сайтах, то есть просто чтобы мой ролик не встраивали на других сайтах, если можно без перекомпиляции.

e_gamer 13.08.2010 01:44

Ролик взаимодействует с серверной частью?

VVall 13.08.2010 02:01

При просмотре swf файла он всегда скачивается на компьютер пользователя. Без этого его просто невозможно просмотреть.

e_gamer 13.08.2010 02:07

Если приложение работает с сервером, можно поставить проверку сессии (например, ее id), передавая значение во flashVars.

Psycho Tiger 13.08.2010 02:22

wa1, тогда только вставляя опкоды хекс-редактором, или любым дизасемблером для флеша.

UPD: стойте, я что то погорячился: можно ведь зашить исходную swf`ку в новую и представить эту новую обёртку как медиатор.

zurkis 13.08.2010 02:23

можно передать на javascript значение переменной из php и потом этим javascript выводить на экран свою флэшку.

Psycho Tiger 13.08.2010 14:13

zurkis, это дело в кеше останется.
А ещё можно убрать хеадер SWF`ки и грузить это дело как байтовый массив, после дописать хеадер и отдать его в Loader =)

gloomyBrain 13.08.2010 14:34

Если swf-ка лежит на Вашем сервере - что мешает определить, кто ее запрашивает в php скрипте? И уже в зависимости от того, есть ли запрашивающий сайт в списке разрешенных - отдавать или не отдавать флешку.

Psycho Tiger 13.08.2010 14:52

Глум, тут проблема в другом: однажды увидев её на экране её можно забрать себе и разместить у себя, что по сути неприемлимо.

gloomyBrain 13.08.2010 15:12

Ну это как вариант. Точнее, как дополнение к выбранному варианту.
А вообще, если swf-ка будет работать с javaScript'ом, значит можно вызвать что-то вроде:
Цитата:

var myURL:String = ExternalInterface.call("function () {return window.location.href}")
Ну а если мы знаем наш url - можно решать вопрос о загрузке содержимого и тд

ЗЫ
Да все равно от декомпила ничто не спасет =)

Psycho Tiger 13.08.2010 15:28

Да, но у автора проблема в том, что исходников то нету =)
Поэтому и вставить этот скрипт нельзя. Только опкодами в хекс редакторе, но не думаю, что автор на это способен.

gloomyBrain 13.08.2010 15:46

Цитата:

Может прописать имя домена в сам код и скомпилировать и ролик не будет работать на других сайтах?
Цитата:

Спасибо, а вот если я не хочу или не могу перекомпилировать файл?
Что тут имел ввиду автор? =)

Цитата:

Только опкодами в хекс редактор
Ну, совсем без сложностей тут не обойтись, но можно использовать SWiX
На сколько я понимаю, эта штука может править байт-код (и отображать swf как xml-последовательность тэгов)

Psycho Tiger 13.08.2010 16:22

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

zurkis 13.08.2010 18:20

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

Hidest 14.08.2010 01:30

Смотря что за проект, может декомпилятором и не взяться нормально... Да и на воссоздание может не быть времени (сроки горят, было бы просто - можно было бы написать заново)... Хотя, я бы при наличии времени именно заново все сделал. И при условии, что проект мной писался давно, думаю, было бы гораздо лучше из-за возросшего (надеюсь :)) за это время опыта.


Часовой пояс GMT +4, время: 07:47.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.