Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.10.2005, 02:31
Exie вне форума Посмотреть профиль Отправить личное сообщение для Exie Найти все сообщения от Exie
  № 1  
Ответить с цитированием
Exie

Регистрация: Oct 2005
Сообщений: 13
Question Онлайн-игры и защита от лома

Этот вопрос имеет отношение больше к девелопингу в целом, нежели непосредственно к флэш-дизайну/программингу.

Идея такова. Делается достаточно простая азартная аркадная флэш-игра. Однопользовательская. При наборе определенного количества очков информация об этом отправляется на сервер. Азартность заключается в соревновательном принципе, учитываются рейтинги игроков и распределяются места (хотя те же принципы разработки потом могут быть применены и к любой многопользовательской игре). Требуется исключить любые возможности для мошенничества. Позже планируется победителям выдавать ценные призы, и следовательно, это вопрос не только политический, но и коммерческий.

Хотелось бы услышать предложения, КАК это можно сделать?? (Будем считать, что мы не заморачиваемся на технические аспекты, без разницы, как это будет реализовано - если это имеет значение, я намерен использовать пхп, если потребуется, то пхп-турбин).

Мы изначально исходим из того, что любой флэш-файл можно декомпилировать, и вся логика приложения (а в случае аркадной игры она находится на стороне клиента, иначе все было бы гораздо проще) доступна потенциальному злоумышленнику. Чтобы ему жизнь медом не казалась, я намереваюсь использовать экшнскрипт-кодеры ("обфускаторы"), но это ни в коем случае не стоит рассматривать как основу безопасности. Вы понимаете, к чему я клоню.. злоумышленником делается читерская swfка, которая, минуя игровой процесс, отсылает на сервер некоторое "выигранное" количество очков.

Пара общих принципов ясна. Идентефикаторы сессий, действительные лишь некоторое время - их можно вытащить, ручками или автоматизированно, декомпилируя скрипт, и потом подсунуть серверу. Генерируемые сервером .as или .swf файлы - хотелось бы потом проверить, соответствовал ли тот .as/.swf файл, который отвечал за игровой процесс тому файлу, который отсылал серверу инфу о результатах игры.. проверка контрольной суммы файла на соответствие идентификатору сессии - как это грамотно можно сделать, я еще не придумал, и пока идей никаких.

Из общих принципов пока что реализации с достойным уровнем безопасности не получается. Никаких вспомогательных материалов по данной теме я найти не смог. Трудно идти первым в таком щекотливом вопросе. Просьба помочь хорошей идеей или советом.

Старый 25.10.2005, 05:48
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 2  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
подозреваю, что ток сессии+реферрер...

Старый 25.10.2005, 07:31
nuran вне форума Посмотреть профиль Отправить личное сообщение для nuran Найти все сообщения от nuran
  № 3  
Ответить с цитированием
nuran

Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
реферрер подделать можно проще простого
__________________
flash/flex/unity

Старый 25.10.2005, 12:41
Ion вне форума Посмотреть профиль Найти все сообщения от Ion
  № 4  
Ответить с цитированием
Ion
Banned
[5 01.09.2006]

Регистрация: Jun 2005
Сообщений: 1,805
2nuran

Научи, а?

2Exie

Насчет обусфикаторов - да, после них в AS ты уже не отконвертишь, но можно увидеть p-code (низкоуровневые команды, исполняемые плеером), я в последнее время обдумываю идею того, что если написать p-code - кодер и изучить p-codе, то это откроет новый уровень возможностей писанины/декомпиляции, т.к. ты будешь кодить/декомпилить на уровень ниже всяких защит. Пока я подобной инфы не встречал (хотя Декомпилер показывает p-code). Есть также вариант усложнить взломщику жизнь: сделать шифрованную флешку-контейнер, которая будет грузить (опять же, шифрованную) флешку-клиент. Также, хорошим вариантом является импорт готовой флешки в Shockwave, к нему я декомпилеров не встречал, однако, если ты выберешь этот путь, то ты должен понимать, что только у 50% юзверей есть Shockwave - плеер. Итог: зачем мне холодильник, если я не курю

Старый 25.10.2005, 15:03
Exie вне форума Посмотреть профиль Отправить личное сообщение для Exie Найти все сообщения от Exie
  № 5  
Ответить с цитированием
Exie

Регистрация: Oct 2005
Сообщений: 13
2Ion:
В направлении п-кода я еще не ковырял. Похоже, придется. Спасибо.

Самый ламерский способ (да, я им регулярно пользуюсь %)) - прописать в Регет поле реферер и затребовать урл с необходимым гет- или пост-запросом %)) Для Файрфокса есть приличный плугин по управлению деятельностью браузера.

Старый 25.10.2005, 15:08
Exie вне форума Посмотреть профиль Отправить личное сообщение для Exie Найти все сообщения от Exie
  № 6  
Ответить с цитированием
Exie

Регистрация: Oct 2005
Сообщений: 13
Кстати, по поводу директора я тоже подумывал, но надеялся, что дело не зайдет так далеко. Разберусь в перспективе поподробней.
..да, то что надо. Вариант не из приятных (в лучшем случае половина юзеров согласится загрузить шоквейв-плугин, если его еще нет), но с технической точки зрения то, что надо. Посмотрел, шоквейв до сих пор никто не научился декомпилить. Еще нужно добавить мудреный алгоритм шифрования важных игровых переменных, которые хранятся в памяти.


Последний раз редактировалось Exie; 25.10.2005 в 17:08.
Старый 25.10.2005, 18:12
kvv вне форума Посмотреть профиль Отправить личное сообщение для kvv Найти все сообщения от kvv
  № 7  
Ответить с цитированием
kvv

Регистрация: Oct 2005
Сообщений: 57
Да, реферер подделать очень легко - например, можно просто самому написать скрипт, который через сокет соединяется с сервером и отправляет ему нужный реферер.

А 100% защиты быть не может! Ведь теоретически можно узнать, как работает любая флешка(автор топика это упоминал), значит, можно модифицировать ее алгоритм под свои нужды.

Старый 25.10.2005, 21:27
Ion вне форума Посмотреть профиль Найти все сообщения от Ion
  № 8  
Ответить с цитированием
Ion
Banned
[5 01.09.2006]

Регистрация: Jun 2005
Сообщений: 1,805
Согласен, даже самую лютую, старфоровскую защиту от дизасма можно выломать, что уж говорить про Флеш. А насчет шифрования переменных памяти - х3, я думал всегда, что смотреть память флеша и понимать, что там хранится довольно тяжело. Насчет Дира: если половина согласится качать плеер, то это не так плохо: у 50-и% есть, ещё 25% скачают, итого 75%

Старый 25.10.2005, 22:45
kvv вне форума Посмотреть профиль Отправить личное сообщение для kvv Найти все сообщения от kvv
  № 9  
Ответить с цитированием
kvv

Регистрация: Oct 2005
Сообщений: 57
А вообще следует смотреть, стоит ли игра свеч? В большинстве случаев можно обойтись и не слишком сложной защитой, чтобы любой, вооружившись декомпилером, не мог сломать ее. Если для кого-то затраты, потраченные на взлом, будут казаться меньше возможных результатов, то он все-равно тебя сломает%)

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

Старый 25.10.2005, 23:02
Ion вне форума Посмотреть профиль Найти все сообщения от Ion
  № 10  
Ответить с цитированием
Ion
Banned
[5 01.09.2006]

Регистрация: Jun 2005
Сообщений: 1,805
Ну и в чем заключается такая защита?

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:47.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.