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