![]() |
Защита флэш.
Делаю флэш без предоплаты, насколько эффективно пустить сверху строку с текстом?
Или это ничего не защитит и её всё равно можно будет убрать? |
Ничего не защитит - любую флешку можно декомпилировать и изучить ее исходники. Надейтесь на честность заказчика.
|
Если заказчик полный профан во флеше и вам нужно оберечь себя от обмана от этого заказчика, то можно сделать так, чтобы код работал, например, только до определенной даты
то есть если он вас обманет и убежит с флешкой, то через некоторое время она перестанет работать |
Пользуюсь SWF Maestro. Указываете файл запуска проекта и дополнительные файлы(если используете). Компилируется один exe'шник. Не знаю насколько защитит от мастеров, но стандартные программы для декомпиляции ругаются что этот файл не прожектор.
|
Через [Embed] можно вполне себе нормально защитить от декомпиляции, на сегодняшний день ни один из декомпиляторов не сможет просмотреть ни скрипты ни ресурсы(картинки, клипы, музыку и т.д). Вообщем "самый дешевый способ".
А уже саму изначальную флешку можно защитить предварительно любым известным способом - привязка к домену, ограничение по времени, вывод окна с копирайтами, ограничение функциональности и т.д. и т.п. |
Пардон, как это не может? Нормально все смотрится даже при включении флешки через [embed] или я вас не понял.
|
Вложений: 1
Наверное не поняли ;)
Или что-то делаете не так... Я имею ввиду компилируете свое приложение, потом swf который получаете нужно "заембедить" в отдельном классе и скомпилировать этот класс. Дополнительно можно базовый swf взять как ByteArray и зашифровать. А при "ембединге", вернее перед добавлением в дисплей лист расшифровать. Попробуйте просмотреть ресурсы этой флешки. |
2 декомпилятора обломали зубы. Можно взять на вооружение). Спасибо.
|
Это на раз-два ломается.
|
На раз-два это единицы, а рядовому флешеру это на раз-два-...надцать... "да ну его нафик, лучше свое напишу" :)
Тем более процесс можно еще усложнить шифрованием, тогда точно мало кому будет интересно. |
Действительно вскрылась, а я когда читал, обрадовался, надеялся что есть хоть какой нить способ. Жаль.
|
еще можно быдлокодить и писать вообще нечитабельный код
тогда чувакам расхочется разбираться, что вы там накалякали |
Цитата:
В данном случае тогда уж лучше поступить стандартно - обфусцировать код. |
декомпилить вашу флэшку будет стоить в разы дороже, чем написать новую, такую-же.
а если уж очень страшно - запишите видео и покажите заказчику его, а не флэшку |
он видео декомпильнет ^^ гг
|
Цитата:
|
вот такие вопросы поднимаются часто, что ж вы такое пишете, что так боитесь того, что вас декомпилируют?
|
Цитата:
И тогда, пока народ будет колупаться в обфусцированном/запутанном коде (прежде, чем наштамповать кучу клонов) -- можно будет на основе старого движка (подправив пару элементов и улучшив графику) выпустить продолжение, а, если повезет - выдать на гора трилогию. |
Если игра будет представлять собой новый и интересный жанр - клонов наплодят без декомпиляции. Просто держа в голове идею.
|
Новый и интересный жанр - это вообще очень маловероятно. И даже если так, зачем кому-то понадобится колупаться в вашем коде? Главное - идея, которая в любом случае не патентуется и не защищается, а код легко пишется свой. И он имеет множество преимуществ, таких как 100% легальность, отсутствие чужих скрытых ошибок и т.п.
Вообще я пока не сталкивался с небольшими игровыми проектами (мобильники, Flash, казуальные на PC и т.п.), где код был-бы наиболее трудоёмкой частью, или хотя-бы сравнимой с остальными составляющими. Это в больших играх он может быть сравним по трудозатратам, но всё равно не самая большая часть. Люди боятся декомпиляции не из-за клонов, а из-за штук типа взаимодействия с сервером (типа отправки лучших результатов) или привязки к домену (куча сайтов с чужим контентом и своей рекламой). |
Цитата:
Задача лишь - выйграть время, на большее расчитывать не приходится :) Цитата:
Цитата:
|
думал о такой схеме:
1. контейнер внутри имеет ключ 2. генерируется и кодируется запрос на основании неких ID-данных (если надо) и/или некоего случайного числа (хоть миллисекунды) 3. выдается результат (swf, jpg, прочее), который генерится динамически (тупо транслируется из какого-то недоступного или путаного места в поток) Запасти ссылку через какой-то файрбаг и ему подобные и воспользоваться ею для скачки "мимо кассы" не получится — ссылка одноразовая (ведется временный лог в пределах сессии, повтор ссылки возвращает икс). Разрыть контейнер в поиске ключа — это да... это да... но... можно же этот ключ регулярно менять и компилить новый контейнер. Насколько регулярно - ну это уже от параноика-девелопера зависит ) Ну это так. Были размышления на предмет антитыринга картинок - вот и транслирую... может есть варианты поинтересней - вопрос еще актуален, можно и обсудить ) |
По моему бессмысленно так сложно делать, вариант с ембедом вполне ниче так, причем если заембедить в haxe, да во второй кадр haxe, и еще битых байтов в ебедную флешку понасовывать, то сломать просто не то, что-бы нереально, а как-то даже в лом. Так сделал с гоночкой, пробовал ее известными декомпилерами, такими как триликс (это недоразумение, а не прога) и сотник, оба чето убивают сами себя во время декомпиляции.
|
Спорить не стану... ведь я эту мысль обдумывал все же для подгрузки изображений, аудио- и видео-контента. В этом случае подобные сложности оправданы. Просто сама схема универсальна и применима к swf файлу.
|
Цитата:
|
ну к примеру берешь и добавляешь 10 байт с рандомным значением каждые 3 байта
а при подгрузке во флешку вытаскиваешь, создаешь новый байт эрей без битых байтов и загружаешь их в лоадер. и вуаля, флешка та рабочая)) |
Цитата:
|
Alex Lexcuk, первый вариант понял - спасибо!
Почему-то такая банальная вещь (что декомпилятор код не выполняет, а восстанавливает его из swf файла) - в голову не пришла )))) А второй вариант можно подробнее? Цитата:
ramshteks, Цитата:
|
Теория:
1) Байткод swf формата должен начинаться с буковок SWF (3 байта) 2) В байткоде флешки должен содержаться её размер (в определенном тэге) 3) Размер, указанный в тэге включает буковки SWF Практика: Обрезаем первые 3 байта Следствие: 1) Больше мы не swf. т.к. начинаемся не с того тэга 2) Указанный размер swf не соответствует действительности |
gloomyBrain, круто! Благодарствую :drinks:
|
Проблема всех вышеперечисленных методов (кроме предложенного Alex Lexcuk) в том, что код дешифрации все равно хранится не в защищаемой флешке, и как следствие доступен. Если уж и защищать как то по мудренее ембеда, то делать это так, чтоб свалить декомпилятор.
Да и декомпилируют в большинстве те (хотя бывают и исключения), кому влом или вещества серого не хватает писАть свое. И могу предположить, когда увидят в декомпиляторе не то что ожидают, дальше просто рыть не станут. |
По поводу метода AlexLexcuk -
Цитата:
А если менять только то, что можно - вряд ли сильно спрячутся ресурсы По этому, все же, проще и элегантнее просто разрезать на N частей и юзеру (через https и только по секрету) передавать их последовательность. Более того, сохранить эти ByteArra'и в виде файлов с расширением *.quesswho =) |
Цитата:
|
2 Felicast
http://ru.wikipedia.org/wiki/Байткод - То есть не с вот этим? |
Цитата:
|
Сорри, согласен, имелась ввиду структура swf формата
|
а можно например чтобы флэш ролик только на одном url работал, а на другом нет?
|
Можно =)
|
| Часовой пояс GMT +4, время: 00:30. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.