Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Вопрос по Flash


Рекомендуемые сообщения

1. Как можно защитить флеш-ролик от скачивания(или через файл/сохранить как... ;или вообще от любого (телепорт например) - что было-бы отлично). Только ее защитить, отдельно. Страничку (содержимое) можно скачивать, а флешку нет-если так можно.

2. И как защитить всю страничку от скачивания( что, собственно, и включает флешку, картинки и т.п. ).

Помогите кто, если не трудно и если кто знает!

Заранее благодарен.

Ссылка на комментарий
Поделиться на другие сайты

_Sash@: Интересно, а как их тогда просматривать, если их скачать нельзя будет? Возможность скачивания браузером должна быть, как минимум. А все остальное (менеджеры закачек и пр.) можно отсечь по User-agent. Правда, все такие программы умеют маскироваться под популярные браузеры, так что - не судьба.

МА топик уходит в "Веб-строительство"
Ссылка на комментарий
Поделиться на другие сайты

Flash можно защитит если пользуеш stream, т.е. у тебя .swf которий визуализируеть .swf или .flv в реального времени :) но так у тебя тоже нет гарантия, что ее не запишут, просто будет на много труднее

Насчет страничку - нельзя... но можеш сделать код нечитимий ;-)

Ссылка на комментарий
Поделиться на другие сайты

Защитить флешку полносьтю от скачиваний нельзя к сожалению.

Но секреты конечно есть.

-Пиши в программе, в защите от импорта код в перемешку с

кирилицей

-Вставляй в кадры код проверки URL адреса на котором у тебя сайт

Веб дизайн,создание сайтов

Ссылка на комментарий
Поделиться на другие сайты

volgiss А не подскажешь как он пишется, я то в Action Script то и не разбираюсь, а надо теперь. Если не трудно и код не большой. Буду очень благодарен. ;)

Ссылка на комментарий
Поделиться на другие сайты

В смысле код проверки URL. Первое для меня совсем не понятно.

Я так понимаю этот код будет проверять url, и если он не совпадает - то просто ролик не будет проигрываться, а если совпадает, то будет дана команда play. И ролик поставить на пароль при открытии (что б не изменить). Я так понял? Не судите строго, если глупо написал...

А так же всем спасибо за ответы.

Ссылка на комментарий
Поделиться на другие сайты

Вот здесь почитай. Но это не даёт полной защиты, это пожалуй от того кто хочет твою флешку вставить на своём сайте http://www.zarub.org/mirrors/emanual/4897.html

Ссылка на комментарий
Поделиться на другие сайты

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

Конечно полной защиты нет.

Я слышал, есть программа, которая разбивает просто покадрово флешку, если на нее стоит пользователский пароль, потом склеил - и все, удалил код и ролик работает.

Но, я думаю не на столько мой ролик кому-то нужен будет, чтобы тратить нна него столько времени.

Еще раз спасибо.

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

<-=RamZeS=->

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

А как это, я просто не очень силен во флеше.

Ссылка на комментарий
Поделиться на другие сайты

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

я просто не очень силен во флеше

Я извиняюсь конечно, но что ты тогда защищать собрался?

Ссылка на комментарий
Поделиться на другие сайты

<-=RamZeS=-> я немного не правильно выразился.

Я извиняюсь конечно, но что ты тогда защищать собрался?

В смысле в написании кода, и разных там "фишек" не очень силен.

Я больше по части графики.

Большое спасибо.

Ссылка на комментарий
Поделиться на другие сайты

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

194788[/snapback]

Ни чё не понял из выше сказанного.

1Создать символ где? Во флеше и что, вооще смысла нет, swf в браузере показывается с помощью блокнота.

Причём здесь капирайт? :(

Ссылка на комментарий
Поделиться на другие сайты

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

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

Ссылка на комментарий
Поделиться на другие сайты

<-=RamZeS=->:

Ты какими-то загадками говоришь, что значит- "ломат символ"

Выходной файл всё равно будет виден в браузере, и я тебе его всё равно открою. А вот чтоб не было видно, это запрет на кэширование.

Веб дизайн,создание сайтов

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

<-=RamZeS=->:с помощью блокнота, я заберу с браузера и сохраню у себя в компе. Файл всё равно под форматом swf

Веб дизайн,создание сайтов

Ссылка на комментарий
Поделиться на другие сайты

volgiss, че за х*йню ты несешь? Я тебе говорю, что не надо ничего защищать от скачивания, пусть качают как хотят и сколько хотят. Нужен неотделимый копирайт, чтобы никакая с#ка не смогла выставить твое произведение исскуства за собственное.

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Нашел интересную статью по защите флешки. Но интересна она не только этим!

Чем? Сможете посмотреть здесь http://www.flashteacher.ru/cgi-bin/forum/topic.cgi?forum=4&topic=197.

В общем опубликую, рискуя получитьзамечание, только часть ее.

А заодно вопрос: когда флешку (с паролем на сам файл swf) разбиваеш, какой-то прогой я слышыл, в кадрах остается код?

А вот статья:

Автор - qwent

А потом, я заинтересовался проблемой безопасности своих программ на флэшке, стал искать способы

сохранить код в тайне от грязных ручёнок плагиаторов и крякеров, и в нете отыскал доку, о том как

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

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

При этом флэш-ролик сам писал этот файл и ПОМЕЩАЛ туда свои данные!!! Работает это хорошо только

в flash5, но думаю можно помудрить и переделать под более новые версии.

Мне вдруг стало интересно.

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

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

Пара слов о command.com

...

пропущено...

Представьте ситуацию: вы во Flash’e создали необычайно красивый мувик (или сверхполезную прогу) и с помощью специальной программы — например, SWF Studio — конвертировали его в скринсейвер или исполняемый файл (далее — просто «мувик»). Ваше творение поселилось на компьютерах всех ваших знакомых, и вы, опьяненные успехом, решили его продавать. А для этого мувик нужно оснастить функцией проверки и записи серийного номера, используя для этого какую-то специальную программу или сам же Flash. Первый вариант отпадает (своих глюков хватает, к тому же еще и деньги надо платить), а второй… Наверняка заинтересует.

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

Делать защиту мы будем во Flash 5, так как во Flash 4 и Flash MX это не очень-то будет работать (в четвертом совсем не будет). То есть, если из-под Flash MX опубликовать .swf-файл как Flash Player 5, то все работать будет, а вот в exe-проекторе не будет.

Записывать значение переменной в файл мы будем с помощью Flash’овой fscommand’ы exec и «интерпретатора команд Windows» command.com. Считывать будем командой loadVariables().

Итак, в первом фрейме пишем:

loadVariablesNum ("file:///C:\\Windows\\System\\srtab.txt", 0); // загружаем содержимое файла srtab.txt

loadVariablesNum ("file:///F:\\Windows\\System\\srtab.txt", 0);

loadVariables (url ,location [, variables]), где url — путь к файлу, location — путь (target) или уровень (level), в который записываются полученные значения. При использовании пути (например: "_root.serial", с кавычками) пишется путь к муви-клипу. При использовании уровня (например, 0 — без кавычек), loadVariables заменяется на loadVariablesNum), указывается глубина его размещения. Нулевой уровень идентичен пути _root

[variables] — необязательный аргумент, указывающий HTTP-метод передачи переменных — GET или POST.

\\ — escape-последовательность, во Flash’e так представляется обратный слеш \. Для хранения переменных вы можете использовать любое допустимое имя файла с любым расширением в любой папке. В нашем случае чем секретнее будет имя и путь к файлу, тем лучше. Так как мы не знаем, на каком разделе у пользователя установлена Виндовс, а %WINDIR% Flash не понимает, мы пишем несколько путей, самые вероятные — с C:\ по F:\.

Далее пишем в пятом фрейме:

if (Number(serial) == 0) {

gotoAndStop (10); // этот скрипт я объясню чуть позже

} else {

gotoAndStop (14);

}

Скрипт для 10 фрейма (он выполнится только при первом запуске мувика):

a = 1+random(9); // генерируем число от 1 до 8 и добавляем 1, чтобы число не начиналось с нуля

b = random(10);

c = random(10);

d = random(10);

e = random(10);

f = random(10);

g = random(10);

h = random(10);

j=”&” // присваиваем переменной j значение &

randomSerial = a add b add c add d add e add f add g add h add j; // складывая переменные (add), создаем восьмизначное число, оканчивающееся на &

serial = a add b add c add d add e add f add g add h; // это нам пригодится в 17 фрейме

Записать значение переменной в файл можно так:

fscommand ("exec", "command.com\t/c\techo\t&variable=1&>>c:\\file.txt";

fscommand("exec", "путь_к_файлу" запускает внешнюю программу, в примере это command.com, с параметром /с, который значит, что после выполнения команд окно command.com закроется.

\t — escape-последовательность — знак табуляции, в данном случае используется вместо пробелов.

echo — вывод сообщений на экран или в файл (если файла не существует, он автоматически создается). Для справки запустите command.com (Пуск > Выполнить > command.com), введите echo/?, или command.com/? и нажмите Enter.

variable=1>>c:\\file.txt — запись строки &variable=1& в файл c:\\file.txt. >> означает перезапись содержимого файла — чтобы дописать строку в конец файла, используется >.

Заключать переменную и ее значение между двумя & необходимо, чтобы Flash при считывании с файла проигнорировал все знаки, стоящие за ними.

Как видите, все довольно просто. Но только не у нас :-). Нам ведь надо записать в файл значение переменной randomSerial, а не просто строку, поэтому будем мудрить (дописываем в 10 фрейме):

begin = "command.com\t/c\techo\t&serial="; // записываем первый «кусок», до значения randomSerial

end = ">%WINDIR%\\System\\srtab.txt"; // второй «кусок», «после»

all = begin + randomSerial + end; // складываем первый и второй «куски», и между ними записываем значение randomSerial

fscommand ("exec", all); // записываем в файл

gotoAndStop (17);

Так как в этот раз мы складывали строки, то можно использовать +, вместо add.

Теперь разберем скрипт 5 фрейма.

Number (expression); — функция, конвертирующая аргумент expression в число и возвращающая значение:

1) если expression — число, то его значение;

2) если Boolean, то 1, при expression = true; и 0 при false;

3) если строка, то пытается анализировать expression как десятичное число;

4) если не определено, то 0.

Так как Flash при чтении переменных из файла считает их строками, для того чтобы мы могли работать с ними как с числовыми значениями мы используем Number().

При первом запуске нашей программы переменной serial еще не существует (мы ее инициализируем и запишем только в 10 фрейме), поэтому Flash считает, что она равна нулю, и условие перехода в 10 фрейм выполнится только при первом запуске.

В 17 фрейме давайте создадим два поля: одно — Dynamic (вверху по центру), а второе — Input, пониже. В полях Variable напишите соответственно randomSerialPole и inputSerialPole. А в Frame Actions укажите randomSerialPole=serial;.

Теперь в верхнем поле будет отображаться значение переменной serial, взятое из 10 фрейма при первом запуске, или же из файла — при последующих запусках.

Далее создайте кнопку возле поля Input и напишите для нее следующий скрипт:

on (release) {

if (inputSerialPole == Math.floor(randomSerialPole / 2)) {

fscommand ("exec", "command.com\t/c\techo\t&check=1&>>%WINDIR%\\System\\srtab.txt"; // дописываем в конец файла строку &check=1&

gotoAndStop (18);

} else {

demo._visible = true

gotoAndStop (18);

}

}

Например, сгенерированный номер — 87654321. Поделив его на два, получаем 43827160.5. Для того чтобы получить целое число, используется метод Math.floor(число), который возвращает самое близкое целое число, меньшее или равное. В нашем случае это 43827160.

Деление на два взято для примера — чем сложнее будет формула, тем лучше.

Теперь в 14 фрейме напишите:

if (Number(check) == 1) {

gotoAndStop (18);

} else {

gotoAndStop (17);

}

При каждом запуске мувика будет проверяться значение переменной check (оно записывается в файл в 17 фрейме), и если оно равно единице, то регистрация будет пропускаться.

Создайте еще один слой, и в 14 фрейм этого слоя поместите муви-клип (в поле Name, закладка Instance, напишите demo), в котором находится, например надпись «Пожалуйста, зарегистрируйтесь».

Скрипт для муви-клипа:

onClipEvent (load) {

_visible = false;

}

Этот клип будет виден только в том случае, если в 17 фрейме будет введен неправильный серийный номер.

Вот и все. Теперь все слои со всеми фреймами вашего мувика засуньте в один муви-клип и поместите его в 18 фрейм этого мувика.

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

Стоить заметить, что рассмотренный в статье способ обладает не самым удобным вариантом проверки и записи номера — просто так легче объяснить принцип его работы. Лучше содержимое 1, 5, 10 и 17 фреймов переместить в отдельный мувик (естественно, немного изменив скрипт), а в мувик с вашим проектом поместить содержимое 1 и 14 фреймов, изменив 14 фрейм так, чтобы при неравенстве единицы мувиклип demo был виден. И вместе с главным мувиком поставляйте еще и этот «регистрационный модуль».

Экспериментируйте и создавайте! Запись/считывание в файл можно использовать во многих направлениях — это и игры, и программы, и Flash-сайты.…В Flash’e еще много кажущихся скрытыми возможностей, главное — их раскрыть и использовать на полную мощь.

Ссылка на комментарий
Поделиться на другие сайты

volgiss, шас из крыма вернусь, нарисую специально для тебя флешку, попробуешь вскроешь =))

Ссылка на комментарий
Поделиться на другие сайты

volgiss: просто надо сделать так чтобы во время редактирования копирайт был над фоном, и можно было его редактировать

а в конечном файле копирайт обьединяется с фоном, и все тут :)

больше его никак оттуда, только перерисовывать :)

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...