PDA

Просмотр полной версии : Как спрятать скрипт?


w7a
16.03.2004, 18:12
Подскажите есть ли более-менее надежный способ прятать скрипт ролика/игры?
1.Можно поставить защиту от импорта - но практичеки любой декомпилер (или на подобие его) спокойно смотрит.
2. Вынести скрипт в отдельный файл - но подглядев откуда догружается файл - можно его скачать.
3....?

Есть еще варианты?

TTS
16.03.2004, 19:25
Зачем прятать-то? Что там, военная тайна? Соображающему человеку ковыряться не надо - он и так поймет, как все сделано. А несоображающий и с декомпилером не разберется. Не парься.
Пока флешплеер может читать твой скрипт, он спрятан ненадежно - это тот же декомпилер.
Можно искать баги в разных декомпилерах и ориентироваться на них. Но это дело яйца в. не стоит, т.к. они постоянно обновляются.

w7a
16.03.2004, 22:17
а если ролик/ игра участвует в акции и выигравшим/угадавшим будут реальные призы от компании? Заказчик не очень обрадуется если кто поковыряет скрипты и узнает что и как пишется в базу... :(

D12
16.03.2004, 22:53
при желании можно создать абсолютно такой же ролик или игру ) навесив совсем иной скрипт, алгоритм и но результат будет такойже как в оригинале , да и сомнительно что ктото будет заниматся етим ведь практически у каждого флешера свои подходы и трюки для решения анологичной задачи , тем более если ето касается игр ( в игре главное персонажи и красивые уровни ) а варионтов скрипта по которым можно создать ету игру множество ( я правда знаю около 3 , но рещзультат будет одинаков но скрипты будут разные )))


ну а если неубедил загляни по етой ссылке там коечто на подобную тему было))))


http://zona5.al.ru/lessons/tips/protection/protection.htm

TTS
18.03.2004, 14:57
а если ролик/ игра участвует в акции и выигравшим/угадавшим будут реальные призы от компании? Заказчик не очень обрадуется если кто поковыряет скрипты и узнает что и как пишется в базу... В этом случае результат игры должен формироваться на сервере, а не передаваться на него из флеша, иначе он может быть подменен даже без ковыряния скрипта.

Aryshev Dm.
18.03.2004, 22:36
Уже много раз полнималась эта тема. И все в итоге приходят к выводу, что защитить никак нельзя.

Да и нужно ли это? Главное не хранить пароли и всякую секретную информацию во flash, а хранить все на сервере.

w7a
19.03.2004, 13:20
смысл не спрятать игру как продукт (персонажи, уровни). нет. вопрос идет именно о результатах игры/ ролика. О том что все что флеш отсылает на сервер - все можно повторить, разковыряв флеш и посмотрев как это делает скрипт. Даже если создается результат на сервере, все равно флеш что-то отсылает для его формирования. А если идет розыгрыш ценных призов? Кто подсмотрел, тот себе накрутил максимальные очки, например.

Aryshev Dm.
19.03.2004, 16:10
Поробуй реализовать простые методы шифрования (ассиметричные). Я что-то на подобии такого делал, но потом забил на это. Т.к. после вскрытия своего flash с помощью декомпиллеров понял, что вряд ли кто сможет разобраться (даже мне было сложно понять что где).

P.S. Ну если скритп совсем простой, то риск очень велик.

Anton Pcholkin
19.03.2004, 21:15
Можно попробовать реализовать игру не в виде свф-файла или прожектора, а в виде VisualC++ или VisualBasic проекта, в котором используется ActiveX флэш-плэйера.

Тогда точно никакой флэш-декомпилер это не разберёт :)

2K WebStudio
19.03.2004, 23:06
Тогда вопрос немножко отходящий от тему.
Давайте выберемся к php и соединим его с flashom.
Как мне спрятать несколько пар паролей-логинов, чтобы их мог читать !только! php, при этом мог сам же их редактировать.
Естественно, от flash отсылаются только пара значений.
Вобщем-то работа только php, я это делаю черех txt, но его с лёгкостью можно открыть из броузера, хотя совсем не просто узнать путь к txt из php..

F1

Aryshev Dm.
19.03.2004, 23:28
А в чем пролблема?

Я так понимаю. Вводим login+password и вызываем PHP скрипт из Flash. И скрипт проверяет: верная ли пара login+password.

А уж действительные значения login+password можно хранить где позволяют возможности: в самом PHP скрипте или в Базе данных. (но лучше не в txt - какой смысл грузить пароли из текстового файла, это опасно).

TTS
20.03.2004, 08:00
Оригинал написал(а) 2K WebStudio
Как мне спрятать несколько пар паролей-логинов, чтобы их мог читать !только! php, при этом мог сам же их редактировать. Для этого существуют права доступа. Ищи chmod в доке по php.

TTS
20.03.2004, 08:57
Оригинал написал(а) w7a
смысл не спрятать игру как продукт (персонажи, уровни). нет. вопрос идет именно о результатах игры/ ролика. О том что все что флеш отсылает на сервер - все можно повторить, разковыряв флеш и посмотрев как это делает скрипт. Даже если создается результат на сервере, все равно флеш что-то отсылает для его формирования. А если идет розыгрыш ценных призов? Кто подсмотрел, тот себе накрутил максимальные очки, например.
Вот придумал вариантец. Можно вести протокол. В течение игры записывать каждое действие пользователя - какую кнопку нажал и в какой момент времени (можно еще записывать значения переменных на всякий случай) и в конце игры отправлять этот протокол на сервер. Смысл в том, чтобы впоследствии можно было смоделировать конкретный процесс игры и проверить. При этом все рандомы - порядок появления противников, их действия и т.д. - выдавать только с сервера (и сохранять их там же, на сервере) - тут нужна еще идентификация, чтобы сервер помнил какому пользователю какие значения выдал. Чтобы игра сильно не тормозилась можно вначале каждого уровня выдавать несколько рандомных значений сразу на весь уровень.

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

Надеюсь, понятно выразился... Правда, для простых игр типа "зашвырни пингвина" такая штука не намного осложнит дело хакерам.

opex
20.03.2004, 16:52
я конечно не четал придедущие ответы может эт уже предлогалось попробуй скрипт инклюдить из отдельного файла помоему его потом нельзядостать ноя не уверен

Nox Noctis
20.03.2004, 17:18
при компиляции строчка с директивой #инклюд заменяется кодом, который написан в указанном файлике.

то есть весь этот код, естесственно, присутствет в свф, и его оттуда можно выдрать. (собственно при декомпиляции никаких директив #инклюд вы в коде и не увидите)

w7a
22.03.2004, 11:52
Вот придумал вариантец. Можно вести протокол. В течение игры записывать каждое действие пользователя - какую кнопку нажал и в какой момент времени...

алгоритм понятен, но для быстрых динамических игр не подойдет :(

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