Visual Basic - мастерская разработчика
Библиотеки

DirectX

Обзоры
DirectDraw
Direct3D
DirectX Audio
DirectPlay
DirectInput
Fido Topics
SourceCode
Tools&Libs

OpenGL

Статьи и учебники
Fido Topics
SourceCode
Tools&Libs

Архив по Glide

Движки

Обзоры
Учебники
SourceCode
Downloads

Создание игр

Ваши игры

Обзорные статьи
Учебники
Fido Topics
SourceCode
Download

Stuff

Программер-Чат

Псевдо-FTP
Disclaimer
Оффтопик

 

Борьба с cheaters

Fido Themes (ru.game.design)

От: Alex Pastuhov <Alex.Pastuhov@p45.f38.n469.z2.fidonet.org>
Тема: борьба с cheaters
Дата: 4 марта 2001 г. 14:33

Привет, Sergey!

11 May 89 04:26.Sergey Zabaryansky написал All:


SZ> Hаша команда столкнулась с проблемой читерства. Проблема в том,
SZ> что некоторые игроки умудряются обнаружить ячейки, в которых
SZ> находится количество оружия и жизни. У этих переменных адреса
SZ> не статические (объекты выделяются по new). Как можно защитится
SZ> от изменения памяти извне?

полноценной защиты нет и никогда не будет,я думаю.Hо можно иметь две ячейки,в одной из которых жизнь считается нормально,а в другой - декрементом от 255.А потом их соответсвующим образом сравнивать.Программы типа гэйм визарда мало приспособлены для _одновременного_ поиска подобных ячеек.


От: Pavel Kuprianov <Pavel.Kuprianov@p4.f2096.n5020.z2.fidonet.org>
Тема: борьба с cheaters
Дата: 5 марта 2001 г. 21:44

Welcome to Hell o Sergey! Эта сущность приветствует тебя.

04 Мар 01 10:55, Сущность именуемая Sergey Zabaryansky писала сущности All:
SZ> Hаша команда столкнулась с проблемой читерства. Проблема в том,
SZ> что некоторые игроки умудряются обнаружить ячейки, в которых
SZ> находится количество оружия и жизни. У этих переменных адреса

Это делается с помощью специальных программ типа GameWizard32. Они сканируют память на значение в определенный момент времени какой-либо хар-ки, скажем, жизни, а потом при изменении этой характеристики сканируются уже совпавшие куски памяти, и так далее.

SZ> не статические (объекты выделяются по new). Как можно защитится
SZ> от изменения памяти извне?

Как вариант, хранить в переменной, например значение жизни +1. Читер будет искать, скажем 3 жизни, и обломается. Hо лично я не понимаю, зачем вам это нужно? Hу читеры, ну и что? В чем проблема? Практически любую игру ломают и читят. Имхо если человек взялся за читерство, он либо читер по жизни, либо игра ему уже надоела, но проходить честно в обоих случаях он не будет. Либо, бывает, что конкретно застрял, и единственный способ - читеринг. Умные разработчики игр наоборот делают специальные читерные коды, чтобы никто в их коде лишний раз не копался.

See you Sergey, sooner or later


От: Sergey Andrianov <Sergey.Andrianov@p40.f13.n5017.z2.fidonet.org>
Тема: борьба с cheaters
Дата: 4 марта 2001 г. 19:56

Здравствyй, yважаемый Sergey!

Hедавно, Вcк Маp 04 2001 в 10:55, некто Sergey Zabaryansky
писал All по поводy борьба с cheaters :

SZ> Hаша команда столкнулась с проблемой читерства. Проблема в том,
SZ> что некоторые игроки умудряются обнаружить ячейки, в которых
SZ> находится количество оружия и жизни. У этих переменных адреса
SZ> на статические (объекты выделяются по new). Как можно защитится
SZ> от изменения памяти извне?

Можно придумать тысячи способов.
1. Писать числа в дополнительном коде или еще с каким преобразование, чтобы их трудно было найти по величине.
2. Дублировать числа в различных местах.
3. Использовать для данных контрольный код, который вычислять (и проверять) каждый раз при запросе или изменении параметра (у вас, надеюсь, используется инкапсуляция?).
4. То же, но проверка раз за игровой цикл.
5. Время от времени динамически перемещать ячейки в памяти (соответственно, меняя указатели на них).
6. Шифровать данные.
7. То же самое, только время от времени (скажем, раз за игровой цикл или раз за 100 игровых циклов) менять шифр.
8. Хранить критические параметры не в одной ячейке, а в нескольких (но не дублировать одно и то же число, а чтобы парамер вычислялся как функция, например, сумма значений в нескольких ячейках.
...
А вообще, зачем все это? Хорошо известно, что на каждую хитрую #;%: найдется ;%: с резьбой. Если кто-то хочет испортить себе удовольствие от игры, то зачем ему в этом мешать?

Hе прощаюсь
Sergey


От: Шарлай Виктор <korvin@kbbelon.nsk.su>
Тема: Re: борьба с cheaters
Дата: 7 марта 2001 г. 6:51


Sergey Zabaryansky <sergey@nephilims.com> сообщил в новостях следующее:AAGjZtsOg6d@zssoft.carrier.kiev.ua...

> Dear ALL!
> Наша команда столкнулась с проблемой читерства. Проблема в том,
> что некоторые игроки умудряются обнаружить ячейки, в которых
> находится количество оружия и жизни. У этих переменных адреса
> на статические (объекты выделяются по new). Как можно защитится
> от изменения памяти извне?

Сергей, ИМХО, действительно лучшим выходом в данном случае- навешивание ярких ярлыков (например) на читеров, или пометка в таблице результатов или еще что-нибудь подобное.

Korvin@kbbelon.nsk.su

Posted: 07.03.2k1
Author: FidoNet
<www.fido7.ru>

 

 

 


Проект
Создание Народного Учебника по OpenGL

Участвовать!
Поиск
Найдите статью или файл:


Рассылка
Новости сайта
La Vision в вашем почтовом ящике








Программирование на С++ Delphi и Паскаль
Центр демо-искусства в России