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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Jun 2011
Сообщений: 127
Question Защита очков в игре от накрутки (асинхронность флеш)

Задача защитить очки от накрути в онлайн игре. Чтобы игрок не мог посмотреть переменные в памяти и подменить их.
Использовал MochiDigits для шифровки, но некоторые одаренные персоны все равно умудряются делать накрутку. Понимаю, что можно взломать флеш и подделать cookie и подписи запросов, но это все-таки посложнее.
Хочу использовать такой алгоритм защиты. Значение набранных очков хранятся одновременно в 2-х переменных, которые постоянно сверяются с частотой смены кадров флешки.
Есть функция Аf выполняющая сверку - запускается по событию Event.ENTER_FRAME (если вдруг переменные не равны, то игрок получит бан), и есть другая функция Bf которая обновляет сразу 2 переменные при переходе на следующий уровень.
Все это реализовано в одном классе. Вопросы к профессионалам.
1) Насколько уязвим такой алгоритм?
2) Возможна ли ситуация когда функции Аf и Bf запустятся одновременно и одна из них успеет обновить одну переменную, но не обновит вторую и при сверке в другой игрок получит бан? Я слышал про асинхронность флеш, но толком не знаю что это такое.

Старый 10.12.2011, 09:16
kackbip вне форума Посмотреть профиль Отправить личное сообщение для kackbip Найти все сообщения от kackbip
  № 2  
Ответить с цитированием
kackbip
 
Аватар для kackbip

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Нет, 2 метода одновременно во флэше выполняться не могут. Второй не запустится пока первый не отработает.

Старый 10.12.2011, 09:51
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 3  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Есть еще класс MemoryCrypto от electrotank
По использованию похожа на хэш мэп, вот тут можно глянуть пример. Но полностью защитить вряд ли удастся. Если находятся те, кто и так накручивает очки, значит и сверку переменных обойдут

Старый 10.12.2011, 09:53
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 4  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Не очень понимаю проблему. Действия игрока отсылаются на сервак, там идут проверки, выполняются алгоритмы, считаются очки и все это приходит клиенту. Клиент показывает очки игроку.

Клиент не должен говорить серваку "я набрал 100500 очков, кинь в БД".
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

Регистрация: Mar 2007
Сообщений: 545
Цитата:
Сообщение от GBee Посмотреть сообщение
Не очень понимаю проблему. Действия игрока отсылаются на сервак, там идут проверки, выполняются алгоритмы, считаются очки и все это приходит клиенту. Клиент показывает очки игроку.

Клиент не должен говорить серваку "я набрал 100500 очков, кинь в БД".
Это все понятно, но вот представим тетрис - все действия отсылаем на сервер, эмулируем и сохраняем (сравниваем)? Как-то не очень рационально.

Старый 10.12.2011, 18:14
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 6  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
По завершению игры отсылаем кол-во уничтоженных линий, а сервер возвращает\записывает в базу суммарное кол-во очков, после чего обновляем очки игрока(+ например, таблицу рекордов и т.д.), примерно так.
__________________
местонахождение

Старый 10.12.2011, 18:33
smithy вне форума Посмотреть профиль Отправить личное сообщение для smithy Найти все сообщения от smithy
  № 7  
Ответить с цитированием
smithy

Регистрация: Oct 2011
Адрес: Питер
Сообщений: 58
Вот неплохая превосходная защита от artmoney (то есть от накрутки очков во флешке).
Но никакая защита не помешает читеру подделать запрос по окончании игры.

Единственная защита, которая 100% не позволит накрутить очки - это сокетный сервак, который контролирует каждое действие игры.


Последний раз редактировалось smithy; 10.12.2011 в 18:43.
Старый 10.12.2011, 19:41
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 8  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Цитата:
Единственная защита, которая 100% не позволит накрутить очки - это сокетный сервак, который контролирует каждое действие игры.
это далеко не так.
__________________
местонахождение

Старый 11.12.2011, 06:17
Newred вне форума Посмотреть профиль Отправить личное сообщение для Newred Посетить домашнюю страницу Newred Найти все сообщения от Newred
  № 9  
Ответить с цитированием
Newred
 
Аватар для Newred

Регистрация: May 2010
Адрес: Киев, Украина
Сообщений: 140
Записей в блоге: 2
Цитата:
Значение набранных очков хранятся одновременно в 2-х переменных
Вы мыслите в правильном направлении...

Старый 11.12.2011, 10:01
kackbip вне форума Посмотреть профиль Отправить личное сообщение для kackbip Найти все сообщения от kackbip
  № 10  
Ответить с цитированием
kackbip
 
Аватар для kackbip

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Цитата:
Вы мыслите в правильном направлении...
Наоборот... это полнейший бесполезняк. Если читер одну переменную подменит то и другую тоже подменит.

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

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

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


 


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


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