Итак, вы долго-долго мучились, не спали ночами, забывали о еде, провели за компьютером не один месяц, и, наконец, сваяли ваш шедевр. Думали, что вы такой один уникальный, только вы смогли догадаться, как сделать такой потрясающий эффект. Вы выкладываете это в Интернет, чтобы все тоже поняли какой вы гениальный, но через пару дней такой же эффект появляется у доброго десятка сайтов. Мыслите одинаково? Скорее нет. Просто у вас украли вашу работу. Как же её защитить?
Вот несколько способов:
1. Первый, самый лёгкий и самый надёжный – никому не показывать своё творение, нигде не размещать, на компьютер поставить 30-буквенный пароль и забыть его.
2. Так как первый способ явно не подходит большинству создателей Flash-роликов, то переходим к следующему способу защиты. Существует огромное количество программ, которые позволяют из swf-файла получить код ActionScript, графические и звуковые файлы. Поэтому основная задача – не допустить, чтобы ваш ролик можно было скачать. Как же это сделать?
Это делается с помощью ролика контейнера. Предположим, вы сделали свой Flash-сайт и решили его защитить с помощью этого способа. Тогда вам нужно разделить его на несколько частей (например, шапка, меню, основная часть, баннер). Каждая часть - это отдельный swf-файл. Теперь создайте новый пустой swf-файл, в который с помощью loadMovie подгружаете все части. Для того, чтобы запутать человека, который будет взламывать ваш ролик, можно создать несколько контейнеров. И каждый грузить в последующий. Так же можно подгружать множество пустых файлов. Обратите внимание на пути к файлам. Они должны быть относительными, а не абсолютными. То есть вместо стандартного http://somedomen.com/mysite.swf, нужно просто использовать mysite.swf – всё это ещё сильнее запутает взломщика.
3. Однако у предыдущего способа есть один существенный недостаток: терпеливый взломщик всё равно, в конце концов, найдёт ваш основной ролик, который взломает, и обнаружит то, над чем вы так долго трудились. Поэтому нужно что-то запутать в самом коде, чтобы тот, кто будет взламывать ваш ролик, ничего не понял. В принципе, это несложно, если ваш код насчитывает больше 1000 строк. Дело в том, что комментарии не компилируются, следовательно, код, который получит взломщик, взломав ваш ролик, будет немного отличаться от исходного. На этом можно и сыграть, правда, придётся немного потрудится, но это того стоит. Вы сделали ваш эффект, он работает, и можно его уже публиковать в сети, то есть он полностью готов. Создайте резервную копию. Теперь создайте новый слой, назовите его comments, создайте новый кадр и в нём перечислите все ваш переменные и названия мувиклипов, не забудьте всё это включить в комментарии, с помощью /* и */
Например,
/*
vars:
mc_speed
mc_property
mc_power
movieclips:
mc
ball
table
buttons:
mc_btn
ball_btn
table_btn
*/
Теперь, рядом с каждой переменной напишите свои названия (произвольные), которые должны начинаться обязательно с буквы (иначе не будет работать).
Вот, что может получиться:
/*
vars:
mc_speed=gf1562451324dddds
mc_property= gf15frgyh4ddigf
mc_power=rsrsfdgakk5115
movieclips:
mc=eeevtn518c
ball=uuyt85884
table=wlklka001
buttons:
mc_btn=ffvd000000001
ball_btn=ygshgf8465
table_btn=wwdsa7aa7
*/
Как видите, переменные и названия мувиклипов и кнопок теперь очень сложно узнать, а если у вас этих переменных больше 100 штук и они раскиданы по разным мувиклипам? Ни один взломщик не разберётся. Главное теперь правильно поменять ваши «нормальные» имена, на эти «необычные». После того, как заменили, проверьте, если всё работает, то ваш код теперь будет очень сложно настроить под себя (практически невозможно). Теперь слой с комментариями можно удалить, но лучше этого не делать (вдруг вам самим нужно будет что-то изменить в ролике).
4. Предыдущий способ только усложняет программный код, но что мешает взломщику перекопировать ваш код и жить спокойно, не особенно разбираясь в нём? Есть несколько хитростей, которые могут поставить его в тупик.
а) Выберите мувиклип, в котором у вас больше всего объектов, и создайте прозрачный квадрат с размерами 1х1. Квадрат преобразуйте в мувиклип. Теперь на самом мувиклипе расположите следующий код:
onClipEvent(enterFrame){
if(_root._url!="http://dd.com/"){//введите свой адрес, где будет лежать ролик
_root.black.gotoAndStop(2);//всякие гадости, которые ожидают вломщика, если он украл ваш ролик
}
}
Этот код проверяет, на каком домене находится ваш ролик. Этот скрипт удобно использовать, если вы не хотите, чтобы ваши работы размещали на других сайтах. Если же их всё-таки разместили на другом домене, тогда условие if(_root._url!="http://dd.com/"){} будет верным, и можно например, обнулить все переменные, тогда вообще ничего работать не будет.
б) С помощью FlashVars загружать с html-страницы переменные, без которых не будет работать ролик. После выполнения пункта 3 данной статьи, взломщику будет очень непросто обнаружить условие с этой переменной.
5. Если всего этого вам кажется мало, и коммерческая стоимость вашего эффекта настолько велика, что хотелось бы риск взлома снизить до нуля, то можно воспользоваться специализированными программами. Например, SWFKit, правда тогда придётся создать exe-файл, поэтому этот способ не самый лучший. Но есть ещё множество программ, которые позволяют зашифровать ваш ActionScript, но дешифраторы знают об этой технологии, поэтому с лёгкостью расшифровывают ваш код.
Здесь были описаны лишь некоторые способы защиты, но не все. Полностью защитить ролик нельзя, но если вы примените все 4 вышеописанных способа (первый не в счёт), то на 98 процентов убережёте себя от взлома. Главный принцип защиты от взлома: пытайтесь запутать человека, который будет взламывать ваш ролик. Чем сложнее взломать ваш ролик, тем больше вероятность того, что взломщик бросит ваш ролик и пойдёт искать другой.