![]() |
|
||||||||||
|
|||||
|
listener
|
Оффтопом:
Когда-то давно, лет этак 300 назад, автор какого-то публичного произведения, например, научной статьи, оставлял в ее тексте этакую неприметную строчку или несколько, нисколько не влияющих на смысл текста, но опираясь на которую, можно было по известному только автору ключу доказать, что автор текста именно он и изобличить таким образом плагиатора и доказать первенство.. Ну, или что-то в этом духе. Насколько я помню, к такому способу защиты прибегали известные ученые, Ньютон, например.. Не припомню только, как этот способ назывался... анаграмма, вроде. Принтскрин, как бы никто не отменял еще..да. |
|
|||||
|
Регистрация: Mar 2002
Сообщений: 47
|
Оффтоп:
printscreen не поможет тупо стырить базу в 10.000 изображений со сложным узором и прозрачностью png. Тут еще понадобится большая работа дизайнера, который стоит денег. |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Изобретение велосипеда, нет?
Все поставщики коммерческих изображений используют водяные знаки при выкладке в открытый доступ. Для последующего использования эти изображения уже непригодны. По трудозатратам - в тыщу раз проще найти аналогичное изображение в открытом доступе, нежели стирать водяные знаки вот с этого конкретного изображения. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Это мог бы быть элементарно повторяющийся рисунок, скажем логотип, или надпись "воровать нехорошо!". На изображении, которое нужно защитить - этот рисунок наносится как уменьшение значения альфа-канала. Т.е. в местах, где наносим водяной логотип - альфа у пикселей уменьшается, скажем, в два раза. Клиентский флэш знает шаблон, который привязан например к top-left. И, загрузив это изображение, восстанавливает альфу всех этих пикселей. Значения цвета при этом не изменялись, и мы получим исходное изображение, а враг скачает с сервера - порченое.
__________________
Reality.getBounds(this); |
|
|||||
|
а как будут восстанавливаться бывшие прозрачные пикселы для пнг?
для джипега - просто копируем альфаканал в 100% и вот у нас исходное изображение. или я не понял задумки? )
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Почему, задумку поняли. Если бы у исходных ПНГ не варьировалась прозрачность, все было бы так просто, даже шаблона бы не потребовалось - просто поднять альфу всех пикселов до 100%. Но автор упомянул, что изображения уже с прозрачностью, и это сильно осложняет дело - если уменьшать альфу в два раза, мы потеряем половину диапазона при восстановлении (все нечетные значения приведутся к четным - это же не float). И это не тру, так что не, не пойдет.
Другой вариант - воспользоваться открытостью формата, как предлагал GAIKER. Можно добавить 8-битную карту прозрачностей отдельным chunk'ом. Если уж на то пошло, "портить" картинку можно просто "лишая" ее альфа-канала, если он жизненно важен для использования изображения - просто записывать его в кастомный chunk и в клиенте оттуда копировать BitmapData::copyChannel. А скачанный с сервера файл будет просто непрозрачным на каком-нибудь резвом (красном?)) фоне. Только в принципе "починить" такое изображение не очень сложно, если понять, что с ним сделали. Вот хранение в пингах хэшей, или ключей - с этим можно поиграться.
__________________
Reality.getBounds(this); |
|
|||||
|
listener
|
Цитата:
Ясен перец, не кнопку тыкать же.. Если речь идет о промышленных масштабах, кражу, по принтскрину и дальнейшую обработку, либо еще как-то, тоже можно сделать промышленно, что тут такого? Тем более, если очень хочется и оно того стоит. Для мелкого воришки и кнопки хватит. Цитата:
Выложить десяток-другой картинок в хорошем качестве, чтобы уровень показать. Остальные - по эксклюзивному доступу, или обычные превьюшки низкого качества. Чего огород городить, тем более с флешем? Непонятно. Последний раз редактировалось alexcon314; 04.03.2011 в 08:41. |
|
|||||
|
strange mood
|
Для промышленных масштабов можно и по-умному
![]() 1. Берем целевую флэшку, снимаем обфускацию, декомпилируем 2. Ищем код, который грузит список картинок и сами картинки, а так же расшифровывает их 3. Клепаем свою флэшку 4a. Наша флэшка вгружает целевую и получает у нее ссылки на нужные объекты 4b. Наша флэшка вгружает целевую и использует ее классы для создания нужных объектов 5. Наша флэшка получает картинки по одной, и через локальный сокет отдает их проге, которая скидывает их на винт. Если целевая флэшка сопротивляется подгрузке, то ее можно разобрать по байтам и пропатчить инструкцию перехода в защитном коде.
__________________
тонкий тролль, осеянный благодатью |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|