Flash от dim_ok

Форум посвящен flash творческим работам от dim_ok. На сайте представлено моё творчество и очень полезная информация для flash дизайнеров. На сайте сможете сделать заказ на flash баннер, раскрутку сайта, рекламное размещение, создание сайта.


Вы не подключены. Войдите или зарегистрируйтесь

Как защитить swf от скачивания и взлома

Предыдущая тема Следующая тема Перейти вниз  Сообщение [Страница 1 из 1]

Admin


Admin
1. Защита flash от декомпиляторов (обфускация).
Декомпиляция — процесс воссоздания исходного кода декомпилятором.
Припомощи декомпиляторов из любой незащищённой флешки можно получить полноценный fla исходник и воспользоваться её ресурсами: как графикой, так и программным кодом. Для того, чтобы сделать процесс декомпиляции невозможным, то есть максимально запутать байт-код, существую специальные программы - обфускаторы. Пожалуй, лучшая на сегодняшний день - secureSWF 3.0 от компании Kindisoft.
При помощи данного flash обфускатора вы сможете защитить свою работу от кражи, защитить свой флеш от декомпиляции и кражи исходного кода.
Прога называется SecureSWF

2. Защита flash работ от кражи.
Предположим, вы сделали баннер, небольшую игру или ещё что-то на заказ, и пришло время показать это заказчику. В наше время, мне кажется, вы будете опасаться того, что заказчик, получив работу, но не заплатив за неё, просто заберёт её себе (конечно, если это не ваш хороший знакомый, но предположим, что сотрудничаете вы удалённо).
Естественно, нужно себя как-то обезопасить. Самый простой способ - поверх всех слоёв создать ещё один с небольшой надписью в углу "не оплачено". Рассмотрим способ, при котором заказчик сможет полностью оценить баннер без этой надписи, но воровать работу не будет смысла, так как на следующий день баннер перестанет работать.
Для этого нужны базовые знания actionscript 2.0. Существует класс Date, при помощи которого мы можем узнать текущее время на машине пользователя. Сначала нужно создать обьект этого класса:
var time:Date=new Date();

Теперь мы можем получать дату таким способом:
time.getHours() - возвращает часы
time.getMinutes() - минуты
time.getSeconds() - секунды
time.getDate() - число
time.getMonth() - месяц
time.getYear() - год
То есть, вы можете сделать проверку по дате, и, если она будет больше, чем вы отвели заказчику на просмотр, с баннером будет твориться что-нибудь неладное smile
При этом важно помнить, что отсчёт ведётся е с нуля, а с единицы. То есть, январь - 0 месяц, декабрь - 11. Аналогично с числами, часами, минутами и секундами.
Допустим, сегодня 10 марта, вам нужно отправить баннер заказчику на утверждение, вы хотите, чтобы завтра баннер перестал работать. Для этого в первом кадре повесьте скрипт:
var time:Date=new Date(); // конструктор класса
if (time.getDate()>9 & time.getMonth()>3) { // проверка даты.
// Если месяц больше 3 (март, отсчёт с нуля) и число больше 10, то выполнится stop();
stop(); // и ролик остановится на первом кадре
}

То есть, в принципе заказчик может использовать баннер на своём сайте, но на завтрашний день пользователи увидят только первый кадр, который можно просто оставить пустым =)
Ещё один довольно интересный приём. Код тот же, но вместо
stop();
набираем вот что:
import TextFormat; // импорт класса
this.createTextField("pole",100,0,0,450,70);// создаём текстовое поле.
//100-глубина, 0,0-координаты по х и у, 450-ширина, 70-высота
pole.text = "не оплачено"; // то, что будет отображаться в этом текстовом поле
pole.textColor = 0xFF0000; // Задаем цвет шрифта
var format:TextFormat = new TextFormat(); // Создаем новый стиль
format.size = 60; // Задаем размер шрифта
pole.setTextFormat(format); // применяем стиль к полю

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

Посмотреть профиль http://dimok.u-gu.ru

Предыдущая тема Следующая тема Вернуться к началу  Сообщение [Страница 1 из 1]

Права доступа к этому форуму:
Вы не можете отвечать на сообщения