![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2005
Сообщений: 13
|
Этот вопрос имеет отношение больше к девелопингу в целом, нежели непосредственно к флэш-дизайну/программингу.
Идея такова. Делается достаточно простая азартная аркадная флэш-игра. Однопользовательская. При наборе определенного количества очков информация об этом отправляется на сервер. Азартность заключается в соревновательном принципе, учитываются рейтинги игроков и распределяются места (хотя те же принципы разработки потом могут быть применены и к любой многопользовательской игре). Требуется исключить любые возможности для мошенничества. Позже планируется победителям выдавать ценные призы, и следовательно, это вопрос не только политический, но и коммерческий. Хотелось бы услышать предложения, КАК это можно сделать?? (Будем считать, что мы не заморачиваемся на технические аспекты, без разницы, как это будет реализовано - если это имеет значение, я намерен использовать пхп, если потребуется, то пхп-турбин). Мы изначально исходим из того, что любой флэш-файл можно декомпилировать, и вся логика приложения (а в случае аркадной игры она находится на стороне клиента, иначе все было бы гораздо проще) доступна потенциальному злоумышленнику. Чтобы ему жизнь медом не казалась, я намереваюсь использовать экшнскрипт-кодеры ("обфускаторы"), но это ни в коем случае не стоит рассматривать как основу безопасности. Вы понимаете, к чему я клоню.. злоумышленником делается читерская swfка, которая, минуя игровой процесс, отсылает на сервер некоторое "выигранное" количество очков. Пара общих принципов ясна. Идентефикаторы сессий, действительные лишь некоторое время - их можно вытащить, ручками или автоматизированно, декомпилируя скрипт, и потом подсунуть серверу. Генерируемые сервером .as или .swf файлы - хотелось бы потом проверить, соответствовал ли тот .as/.swf файл, который отвечал за игровой процесс тому файлу, который отсылал серверу инфу о результатах игры.. проверка контрольной суммы файла на соответствие идентификатору сессии - как это грамотно можно сделать, я еще не придумал, и пока идей никаких. Из общих принципов пока что реализации с достойным уровнем безопасности не получается. Никаких вспомогательных материалов по данной теме я найти не смог. Трудно идти первым в таком щекотливом вопросе. Просьба помочь хорошей идеей или советом. |
|
|||||
|
.grin! wuz here
|
подозреваю, что ток сессии+реферрер...
|
|
|||||
|
Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
|
реферрер подделать можно проще простого
__________________
flash/flex/unity |
|
|||||
|
Banned
[5 01.09.2006]
Регистрация: Jun 2005
Сообщений: 1,805
|
2nuran
Научи, а? 2Exie Насчет обусфикаторов - да, после них в AS ты уже не отконвертишь, но можно увидеть p-code (низкоуровневые команды, исполняемые плеером), я в последнее время обдумываю идею того, что если написать p-code - кодер и изучить p-codе, то это откроет новый уровень возможностей писанины/декомпиляции, т.к. ты будешь кодить/декомпилить на уровень ниже всяких защит. Пока я подобной инфы не встречал (хотя Декомпилер показывает p-code). Есть также вариант усложнить взломщику жизнь: сделать шифрованную флешку-контейнер, которая будет грузить (опять же, шифрованную) флешку-клиент. Также, хорошим вариантом является импорт готовой флешки в Shockwave, к нему я декомпилеров не встречал, однако, если ты выберешь этот путь, то ты должен понимать, что только у 50% юзверей есть Shockwave - плеер. Итог: зачем мне холодильник, если я не курю ![]() |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 13
|
2Ion:
В направлении п-кода я еще не ковырял. Похоже, придется. Спасибо. Самый ламерский способ (да, я им регулярно пользуюсь %)) - прописать в Регет поле реферер и затребовать урл с необходимым гет- или пост-запросом %)) Для Файрфокса есть приличный плугин по управлению деятельностью браузера. |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 13
|
Кстати, по поводу директора я тоже подумывал, но надеялся, что дело не зайдет так далеко. Разберусь в перспективе поподробней.
..да, то что надо. Вариант не из приятных (в лучшем случае половина юзеров согласится загрузить шоквейв-плугин, если его еще нет), но с технической точки зрения то, что надо. Посмотрел, шоквейв до сих пор никто не научился декомпилить. Еще нужно добавить мудреный алгоритм шифрования важных игровых переменных, которые хранятся в памяти. Последний раз редактировалось Exie; 25.10.2005 в 17:08. |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 57
|
Да, реферер подделать очень легко - например, можно просто самому написать скрипт, который через сокет соединяется с сервером и отправляет ему нужный реферер.
А 100% защиты быть не может! Ведь теоретически можно узнать, как работает любая флешка(автор топика это упоминал), значит, можно модифицировать ее алгоритм под свои нужды. |
|
|||||
|
Banned
[5 01.09.2006]
Регистрация: Jun 2005
Сообщений: 1,805
|
Согласен, даже самую лютую, старфоровскую защиту от дизасма можно выломать, что уж говорить про Флеш. А насчет шифрования переменных памяти - х3, я думал всегда, что смотреть память флеша и понимать, что там хранится довольно тяжело. Насчет Дира: если половина согласится качать плеер, то это не так плохо: у 50-и% есть, ещё 25% скачают, итого 75%
|
|
|||||
|
Регистрация: Oct 2005
Сообщений: 57
|
А вообще следует смотреть, стоит ли игра свеч? В большинстве случаев можно обойтись и не слишком сложной защитой, чтобы любой, вооружившись декомпилером, не мог сломать ее. Если для кого-то затраты, потраченные на взлом, будут казаться меньше возможных результатов, то он все-равно тебя сломает%)
Интересным вариантом является написание алгоритма типа md5 или sha1 - сервер посылает юзеру строку при каждом обмене инфой, клиент должен возвратить зашифрованную этим алгоритмом строку вместе с данными. |
|
|||||
|
Banned
[5 01.09.2006]
Регистрация: Jun 2005
Сообщений: 1,805
|
Ну и в чем заключается такая защита?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 20:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|