Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   обсуждение: защита флэш (http://www.flasher.ru/forum/showthread.php?t=65580)

Bright 14.06.2005 08:13

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

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

Bright 14.06.2005 08:15

Теперь от слов перейдем к делу. Первая тема первого обсуждения:
"Защита ваших flash'ek"
Несколько тезисов по этой теме:
1. Запрет кеширования.
2. Защита от сохранения. Возможно ли?
3. Защита от копирования на другие сайты. (по _url?)
4. Как защитить от выдирания графики, звуков, скрипта дебаггерами?

Вот что думаю я, по этому поводу:
Для начала посмотрим: кому надо присваивать чужое?
1. вашим конкурентам (в случае с графикой с сайта, менюшками, скриптами из игр)
2. но в большинстве случаев - обыкновенным пользователям, которые имеют привычку тащить к себе на комп 80% из того, что им попадается на глаза.

Рассмотрим сначала защиту от обычных пользователей. Для этого достаточно применить методы 1 и 2. Юзеров, как правило интересует игра/мультик, а не его скрипт и тд.
Допустим, половина пользователей - коллекционеры и любители флэшек (таким был я в свое время вполне удачно вытаскал из Сети примерно 500 игр ) => у них, возможно, есть софт для сохранения флэшей на комп. Многие софтины берут уже закачанные флэшки из кэша (Find Flash). Запрет кеширования - и половина "коллекционеров" обламывается ) Другие проги - это плагины к браузеру, как только они замечают флэшку, сразу выдают меню с предложениями сохранить (Flash Catcher) Но сохраняют они только то что видят!
Если флэшка на странице будет пустой, только с проверкой по урл и лоад моваем... Так:

adress = _url
if(adress != "http://www.mysite.ru/flash.swf"){
text = "Воровать нехорошо.";
//а если добавить "ваш ip записан и отправлен в отдел по защите авторских //прав ФСБ" Ну да ладно, это я замечтался...
}
else{
loadMovie("igra.swf", 0)
}

В общем, прога сохранит пустую флэшку со скриптом, которая, в придачу, будет пугать пользователя отделом по защите авторских прав :)
Убираем, еще 40-45% коллекционеров... Остаются несколько самых упорных и настойчивых, которые вскроют пустую флэху посмотрят скрипт. А скрипт явственно указывает что игра-то лежит не на http://www.mysite.ru/flash.swf, а http://www.mysite.ru/igra.swf. Эти самые упорные забьют последнюю ссылку в браузер и получат-таки флэшку. Но, чтоб до такого дойти, юзеру надо знать чуточку флэш или хотя бы html. Конечно, никто не мешает записать скрипт позапутанее, и в самой igra.swf сделать еще одну проверку на url...
Но если уж флэшка окажется на компе юзера, там он её будет мучить контрол-ентерами или флэшплеерами с перемоткой. В общем, обойдет кадры с ограничением. Это всё печально и говорит о том что стопроцентной защиты нет. Но зато из охотников за флэшками до вашего творения доберутся уже 5-10% а не все 100% И то самых упорных и образованных...

Мысль 1: А если сделать пустую флэшку с урл-проверкой (flash.swf) (см. выше), в нее грузится igra.swf, в которой тоже проверка но уже на то, что она должна быть загружена в flash.swf ! Получается так юзер сохраняет - flash.swf, который для него бесполезен. Даже если он узнает адрес igra.swf и загрузит его в браузере, игра не заработает, потому что не загружена внутрь flash.swf, который загрузит игру только при правильном урле. Замкнутый круг. 100% защита. разве нет? (это пока только теория, на практике еще не опробовал.)

Мысль 2: Вы можете опровергнуть предыдущую мысль, сказав что контрол-ентер и флэшплееры с прокруткой никто не отменял и пользователь просто прокрутит флэшку с кадра с надписью "Защищено. И работать я на твоем компе не буду" на кадр с welcome-scrinom и кнопочкой старт Да? А может контрол-ентер и полоса прокрутки управлять муви-клипами? То-то же! Зачем нам переход на кадр "Защита", пусть лучше поверх всего вылезает большой наглый мувик с той же надписью. Ведь можно сделать, что сколько кадры не крути, мувик не исчезнет, а так и останется закрывать собой весь экран. Так же рекомендую, если вы делаете игру-бродилку, где несколько разных зон, пусть все зоны, враги и прочее будут в одном мувике. Да, будет немного сложнее делать игру, но зато никто не сможет пролистать зоны Foward'om и Back'om, а будет честно проходить всю игру. (теория - только первая часть, вторую, насчет зон, я как-то давно делал - всё так как написано.)

Если скрестить Мысль 1 и Мысль 2 получается такое: пусть даже некоторые настырные личности доберутся, до спрятанной флэшки и сохранят её на комп... Фиг они её потом запустят! Только online и только с вашего сайта!

Это была защита от пользователей-коллекционеров, теперь перейдем к более страшным - любителям-хирургам и потрошителям-профессионалам. Последних сравнительно мало (я имею ввиду, людей которые могут ВОСПОЛЬЗОВАТЬСЯ полученной информацией). То есть, чтобы открыть флэшку дебаггером особого ума не надо, в крайне случае чел может выдрать из нее звуки, ну при умении - графику. А скрипт? Ну и выдерет скрипт. Но воспользоваться им сможет не каждый! Одна из заповедей программирования: Чужой код - чужие мысли. Так что сначала пусть разберутся с нашими мыслями (а мы постараемся сделать их как можно запутанее) а потом пусть пользуются нашим кодом. Если смогут!
К сожалению, единственный способ защиты кода - писать как можно запутанее и непонятнее. (да и самому не запутаться) И здесь стопроцентной защиты быть не может.

Весь текст - это моё мнение, перед ним должно стоять большое ИМХО. Если вы думаете по-другому, пожалуйста выскажите свое мнение, так как тема защиты своих творений - одна из самых сложных и одного мнения здесь быть просто не может.

Hanzo 14.06.2005 12:08

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

KidsKilla 14.06.2005 12:59

весь форум для того, чтобы "обсуждать темы" =)

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

и вообще это в раздел адванч...

Bright 16.06.2005 07:25

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

flash-master 17.06.2005 00:19

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

Bright 17.06.2005 07:37

и? все счастливы и заняты делом :)
нет я не предлагаю сделать и сломать снова сделать и снова сломать и тд...
давайте попытаемся сделать, а уж если потом кому захочется пусть пытаются сломать.
наше дело - защита!

Ostgur 17.06.2005 08:57

Понимаешь, найти украденную Flash гораздо легче, чем музон или ещё что-нить, недавно(окола 2 месяцев назад) я нашёл свою отстойный дизайн(ИМХО) с сайта http://ostgurally.nm.ru/pages/ на одном из сайтов, но этому я не удивился, но когда увидел, что они слямзили и видюху http://ostgurally.nm.ru/intro.swf (3 mb), то моей ярости не было предела, куда я только не писал и добился, чтобы их сайт закрыли!

Bright 19.06.2005 01:11

Цитата:

...и добился, чтобы их сайт закрыли!
тоже способ защиты... :p

Der Grossen 30.06.2005 14:36

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

nuran 01.07.2005 03:36

а я практикую защиту от недобросовестных заказчиков методом предоплаты

nuran 01.07.2005 03:37

если сильно боюсь - делаю защиту с помощью специальных программ или ручками (почти никогда)

Штрек 04.07.2005 02:44

Цитата:

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

fscommand("trapallkeys", true);
fscommand("showmenu", false)

Bright 04.07.2005 06:34

Цитата:

fscommand("showmenu", false)
ARFlashPlayer...
там внизу такой скроллбар.
и его эти шоуменю не касаются

Dimchansky 05.07.2005 20:01

первые строки кода в рипнутом флэше-казино 3WGRAPHICS.net:

hello = "Hello Source Viewers! ;) Code Created by 3WGRAPHICS.net";
delete hello;

Базовая комплектация казино стоимостью $59 000.

Грешен, ломал. Зато как красиво написано... ИМХО качественный, грамотно написанный объектный код сам себя защитит. 99% любителей голову сломают. И не потому, что там бяка написана, а потому, что произведение искусства обладает определенной неповторимостью. А 1% оставшихся и сами такое напишут.

Квадрат Малевича вон сколько клонировали. И что? Добился кто-либо хоть доли той известности?

А что касается защиты - хрен его знает. По-моему нельзя в принципе. Разве что полиморфное шифрование на стороне сервера по запросу active-x элемента плеера. Бред.

KidsKilla 05.07.2005 20:52

2Dimchansky
все 100! =)

Bright 07.07.2005 07:35

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

nuran 07.07.2005 10:24

когда в коде хотя бы тысяч 10 строк кода и его ещё через программы защиты прогнать, да ктож его взломает? если их целью будет получить исходник - надорвуться.

Nirth 07.07.2005 11:55

Код:

тысяч 10 строк кода
тоесть думаешь web service connector+datagrid являються отличной защитой?

nuran 07.07.2005 12:50

защитой чего? я говорю про 10000 нормального кода а не чепухи.

Nirth 07.07.2005 13:13

datagrid чепуха....ясно а я то думал ;)

tandem 23.09.2005 19:32

а ка же на счёт защитных програм наподобие всяких енкрипторов и обусфикаторов или как их там?

flashtuchka 23.09.2005 20:28

Цитата:

Сообщение от Bright
...защитить флэшку от ... потрошителя...

кгхм! я бы попросила. =)


---

kost@ 23.09.2005 20:41

о да-а... беру я значит код из 10.000 строк и шифрую его по максимуму. Переменные получают вид типа: "_x10 = ... "
На чтение этой самой хрени и тем более разбор того, как эта хрень действует у вас уйдет вся жизнь (я не беру в расчет тот 1% про который тут упоминали, который даже не возьмутся копаться в нем, т.к. написать аналог быстрее)!
Товарищи-капиталисты, хотите безопасности - шифруйте! Ну в сочетании с методами, описанными Брайтом у вас очень большие шансы на "девственность" разработок 80)))
А что по мне, так я за идею "Солнечного города" (или по ITшному - Open Source), блин, черт, так здорово!...

Ion 23.09.2005 20:51

Люди, посоветуйте какую-нить шифровалку, типа SWFEncrypt, только такую, чтобы 8-у понимала

PITer 24.09.2005 01:19

защита методом подгрузки, дополнение
 
из книги Шама Бхангала "FLASH. ТРЮКИ" Питер, O'reilly 2005
Чтобы затруднить взлом даже на начальном этапе, измените расширения и имена критических файлов.[...] Flash игнорирует расширения при загрузке внешних файлов[...] Если вы не стесняетесь в средствах, воспользуйтесь трюком "с темной стороны" - привратите маскируемые файлы в файлы системных типов, которые при двойном щелчке могут нарушить работу операционной системы хакера.

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

Bright 24.09.2005 15:02

Цитата:

кгхм! я бы попросила. =)
не того.
другого :)

Dimalar 19.10.2005 00:09

А можно ли защитить файлы, опубликовав их с помощью Director MX? Если да, то что это за прога такая - много пишут о громадных возможностях, и так мало востребована (в лучших московских магазинах от силы можно найти 2 книжки трёхлетней давности)?.

nuran 19.10.2005 00:21

так они и так защищены

Король 19.10.2005 00:24

дировские файлы не ломаются

Dimalar 19.10.2005 00:55

Цитата:

Сообщение от Король
дировские файлы не ломаются

Стало быть, выход очевиден - публиковать с помощью Director?
Тогда почему прога непопулярна и не обновляется в ногу с Flash?
Может много канители с её изучением?

Король 19.10.2005 01:02

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

Dimalar 19.10.2005 01:11

Ну и пусть платой за надёжность будут лишние 20% веса файла.
Или есть ещё ньюансы?

Король 19.10.2005 01:22

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

DeliMIter 19.10.2005 01:51

Цитата:

Сообщение от Король
дировские файлы не ломаются

С помощью собственно Директора можно вынуть все мемберы, кроме линго-скрипта. Т.е. флэшка, лежащая внутри Дира защищена не больше, чем голая. В то время как реально что-то писать на линго куда как сложнее, чем на AS, ресурсов шоквеёв жрёт дай боже, а плейер весит в два раза больше даже последнего флэш-плагина.

Король 19.10.2005 02:05

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

DeliMIter 19.10.2005 03:13

- писать на линго намного неудобнее и неприятнее, к тому же возможности AS намного шире (да, есть вещи, которых на AS сделать нельзя в принципе, но зато всё остальное можно сделать быстрее и проще)
- защитить и в случае Директора и в случае Флэша можно только скрипт, поэтому Дир не имеет никаких преимуществ
- зато всё остальное при работе странички с шоквейвом тормозит дай боже...

Ion 19.10.2005 22:37

В Дире ты можешь хоть Дум3 написсать, а во флеше - нет. У Линги возможности больше ASовских. Для защиты флешки можно засунуть её в Дир и экспортировать ехешник, если тебе нужно показать образец заказчику, но ты боишься, что он твою флешку стырит.

2Король

Почему Дир не ломается?!

nuran 19.10.2005 23:19

> хоть Дум3 написсать

попробуй :)

DeliMIter 19.10.2005 23:49

Цитата:

Сообщение от Ion
У Линги возможности больше ASовских.

Спорно. Поддержка плейером шоквейвовского 3Д и встроенная в язык векторная математика не являются таким уж безумным преимуществом. Да, теоретически на Дире можно написать трёхмерную игру-стрелялку. Даже прецеденты есть.

http://www.necromanthus.com/main.html > Shock Games, кто не видел.

Но попробуй, например, поработать в линго с XML-данными (кстати, юникод Дир не поддерживает из принципа "чтоб только не поддерживать юникод"). Или написать клиент многопользовательского сервера. Или какие-ньть классы с наследованием и прочими фичами. Нет, я не утверждаю, что линго этого всего не осилит. Более того, сила Директора - в экстрах, на которых можно написать всё - для оффлайна. Но. Большое такое, пахучее НО. На AS реализация перечисленного выше будет: проще, быстрее, гибче и логичнее.


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

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