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

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

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

Регистрация: Dec 2013
Адрес: Барабинск
Сообщений: 137
Отправить сообщение для ivaniyses с помощью Skype™
По умолчанию Как защитить таймер в игре от взлома Cheat Engine

Приведу пример из моей игры:
Если топлива меньше 49,то каждую минуту прибавляется +1.
Но с помощью Cheat Engine удается ускорить процесс получения топлива...
Что делать?

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

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Если игра браузерная, то можно воспользоваться каким-нибудь онлайн сервисом по выдаче времени и сверять время по нему, а не по внутреннему таймеру. Или написать свой "сервис" (делов там на одну строчку php) для выдачи времени

Старый 31.01.2014, 22:46
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 3  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Здесь только один надежный вариант - считать все это на сервере

Можно еще конечно прятать значения чисел, от прямого выдергивания из оперативки, используя какой-нибудь класс типа вот этих (от форумчанина gloomyBrain), или других, коих в инете можно найти с десяток

Но сервер - самый лучший вариант
Вложения
Тип файла: zip HiddenNumbers.zip (2.5 Кб, 88 просмотров)

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Ой, как это приятно оказывается, когда твой старинный код кто-то выкладывает =)
__________________
...вселенская грусть

Старый 31.01.2014, 23:42
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Ой, как это приятно оказывается, когда твой старинный код кто-то выкладывает =)
Это даже выше всяких похвал.

Добавлено через 1 минуту
Цитата:
Сообщение от ivaniyses Посмотреть сообщение
Приведу пример из моей игры:
Если топлива меньше 49,то каждую минуту прибавляется +1.
Но с помощью Cheat Engine удается ускорить процесс получения топлива...
Что делать?
Я твой игра топлива шатал.

Добавлено через 8 минут
Фигня все это. Даже если вы все перенесете на сервер... Там тоже должно быть полно дыр. Я говорю о серверной логике, которая пропустит один шанс из некоторого количества. Серверную логику часто пускают без тестов или тесты покрывают не все случаи.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
я его просто поиском в дропбоксе надыбал) по фразе *hidden* )
идея была интересная

Старый 31.01.2014, 23:28
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 7  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Сообщение от ivaniyses Посмотреть сообщение
Но с помощью Cheat Engine удается ускорить процесс получения топлива...
Cheat Engine ускоряет таймер, поэтому Date в помощь. Можно попробовать проверку на расхождение времени прикрутить какую-нибудь.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
dimarik, именно поэтому логика должна быть одна и та же (один исходник, компилируемый под 2 рантайма), + CQRS. Никаких проблем с читами, никаких проблем с дублированием кода.
__________________
...вселенская грусть

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

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Вообще делается обычным веб сервисом. Нафик вводить какие-то новые понятия? Всё давно изобретено.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Сообщение от Babylon Посмотреть сообщение
Вообще делается обычным веб сервисом. Нафик вводить какие-то новые понятия? Всё давно изобретено.
О да, давайте продолжим. Вы неплохо держитесь и мне нравится Ваш стиль.

Итак, web-сервис возвращает нам время. И тогда клиент говорит: "ну раз уже прошло 20 минут, начислю-ка я золота-кристаллов-энергии".
А что будет, если я, например подделаю ответ сервера (да-да, банально через прокси)? Тогда игрок начислит энергию раньше времени, ведь так? И более того, нам придется на сервере проверять:
"а почему игрок купил себе товар N?" - потому что у него было золото
"а откуда у игрока золото?" - оно начислилось в пол-второго позавчера
"а почему оно начислилось?" - потому что гладиолусы!

И вот таких причинно-следственных взаимосвязей будет тем больше, чем больше у нас данных в игре. И как только мы делаем что-то вроде (Боже упаси) фермы, то получаем огромное количество причин, по которым мы можем или не можем что-то делать (с привязкой ко времени). Проверять все на клиенте и на сервере ужасно сложно, потому что приходится писать 2 одинаковых набора команд на 2 языках (например, AS3 и Java)

Решение:
Составляем схему всех-всех данных игрока в игре (json)
Разбиваем все действия в игре на команды (функции, меняющие наши данные)
Пишем команды на кросс-компилируемом языка (например Haxe)
...
профит!

Важною деталью тут является то, что
- каждая команда отправляется на сервер с приписочкой, когда именно она была исполнена
- перед тем ка исполнить команду, сервер проверяет, что
а) команда выполнена после создания пользователя
б) команда выполнена после предыдущей команды
в) команда выполнена раньше текущего времени на сервере

Все, обмануть сервер нельзя никак. Вот такие пироги. Удачи с web-сервисами =)
__________________
...вселенская грусть

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

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

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


 


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


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