Warcraft 2 Жил, Живёт и будет жить!
об игре warcraft 2 Архив файлов Список ссылок Посетить Форум Почитать статейки F.A.Q. история warcraft 2 карты warcraft 2 турниры warcraft 2
Скачать игру бесплатно
скачать warcraft 2
WarCraft 2 COMBAT
(Warcraft II BNE 2.02+)
Актуальная версия: 4.6
(февраль 2020)
Совместимо с Windows XP/Vista/7/8/10

Боевой релиз, ~40 Мб
для игры по сети:
Английская версия
Русская версия

Полная версия, ~450 Мб
с музыкой и видео:
Полная английская версия
Полная русская версия
перевод от war2.ru на базе перевода от СПК

Другие версии и файлы
доступные для скачивания



Как подключиться и
играть в Warcraft 2 онлайн


Мы в социальных сетях:
Warcraft 2 вконтакте
Warcraft 2 в facebook

Для голосового общения:
Наша группа в Discord

Логин
Ник

Пароль


Потеряли пароль?

Нет своего аккаунта?
Зарегистрируйтесь!

Кто на сайте
 47: Гости
 0: Пользователи
 4094: Пользователи с регистрацией

Вы гость здесь.
+ регистрация

Последний посетитель:
Oragorn: 2 Дней 1 ч. 28 м. назад
Smergik: 12 Дней 17 ч. 54 м. назад
sfinx: 23 Дней 6 ч. 21 м. назад
arkanis: 51 Дней 19 ч. 38 м. назад
Starwalker: 56 Дней 16 ч. 50 м. назад
tolsty: 57 Дней 22 ч. 57 м. назад
Dark_Master: 80 Дней 2 ч. 16 м. назад
KagaN: 87 Дней 4 ч. 21 м. назад
AgainstTheGrain: 97 Дней 8 ч. 2 м. назад
Радибор: 108 Дней 18 ч. 42 м. назад
Bru-PA: 139 Дней 18 ч. 30 м. назад
Dartstrong: 188 Дней 41 м. назад
SoloLev: 204 Дней 23 ч. 21 м. назад
Darth_Eternal: 320 Дней 22 ч. 11 м. назад
COCKA: 326 Дней 1 ч. 9 м. назад

Поиск

/  Список форумов
   /  Флейм
/  Идеальная защита от мапхака, если б я писал варкрафт
Распечатать топик 
Идеальная защита от мапхака, если б я писал варкрафт

il Идеальная защита от мапхака, если б я писал варкрафт

Добрый Админ


Регистрация: 10.5.06
Сообщений: 2470
Откуда:


Выложу сюда свои мысли по тому, как бы я защищал игру наподобие варкрафта от мапхака, если бы я был ее разработчиком:
Не секрет, что владелец компьютера может залезть в память любого процесса на своем компьютере и подсмотреть любые данные. В том числе, данные обо всем, что "знает" его компьютер о других игроках.

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

Как это сделать:
1. Gолучается, самый простой вариант защиты от мапхака - толстый клиент.
Когда все игровые процессы выполняются на сервере, а на клиентах только картинка рисуется.
2. А самый правильный вариант если самим делать игру - получается с сервером-посредником:
каждый клиент передает данные о том что он делает не другим клиентам, а серверу. А сервер уже выдает клиентам только те данные о других клиентах, которые они в данный могут видеть. Фактически как вариант 1, только тонкий клиент.

А если делать обмен данными с защитой от мапхака без посредников то схема придумалась, но получается большой объем данных: Но теоретическое решение существует.
Упрощенная задача к которой сводится наша:
допустим, у нас игровое поле размером N клеток, мы хотим узнать у противника, что находится на k-й клетке. Т.е. мы ее разведываем. Надо чтобы противник:
1. не узнал что мы разведываем именно k-ю клетку. Иначе понятно что мы именно там находимся,
2. хотя бы в конце игры он узнал что k-ю клетку мы разведывали по праву. Т.е. что мы действительно там были или что-то туда кастанули, а не обманули его, чтобы он нам нам показал ту клетку, которую мы просмотреть не могли.
Мысль такая:
- генерируем пары ключей - N пар, по одной паре на каждую из клеток поля.
- По массиву закрытых ключей строим хеш и отправляем его противнику. В конце игры мы отправим ему этот массив закрытых ключей чтобы он с помощью этого хеша проверил что мы не жульничали а именно эти ключи использовали.
- чтобы узнать содержимое k-й клетки, отправляем ему открытый ключ для k-й клетки, но для какой именно клетки не говорим. Он этим ключом шифрует все N клеток и весь массив отправляет нам. Мы можем расшифровать только содержимое k-й клетки, поскольку наш закрытый ключ подходит только к ней. Остальные данные для нас - мусор.

Таким образом противнику приходится вместо одной клетки передавать нам все. В конце игры мы передадим противнику массив закрытых ключей, он проверит их по хешу, убедится что они подлинные и потом убедится что этот открытый ключ подходил действительно только к k-й клетке. Таким образом, имеем гарантию что все честно.

Другой вариант: мы хотим узнать содержимое не одной, а сразу многих клеток:
Мы можем отправить сразу массив длины N открытых ключей от тех клеток которые узнать надо и мусор от тех клеток которые узнавать не надо. Массив в том же порядке, как и расположены клетки. Противник шифрует каждым ключом свою клетку и отправляет нам. Те к которым у нас есть ключи - мы расшифровываем, остальные игнорируем как мусор.
Таким образом, за 1 шаг имеем передачу N значений в одну сторону и N в другую.
В конце игры отдаем противнику изначальные закрытые ключи чтобы он убедился что мы узнали у него именно те клетки которые действительно имели право узнать.
Как-то примерно так.

Конечно, этот вариант гораздо хуже и затратнее по трафику, чем способ используемый в вар2: там передаются только изменения. Т.е, фактически, только действия игроков в данный момент.
В моем же алгоритме приходится передавать просто огромный объем данных: например для карты 256x256 приходится передавать 65536 зашифрованных пакетов, и это - на каждом цикле синхронизации! Не говоря уж про то, что для этого приходится производить 65536 операций шифрования. И как это оптимизировать. я не знаю.
Но теоретически, такой вариант есть.
А вы что думаете по этому поводу?

[ Редактировано il в 21.3.19 00:06 ]
» 21.3.19 01:00 Профайл Посетить веб-сайт
Распечатать топик 

Поиск

Ключевые слова:    
[ Расширенный поиск ]

Права

Вы не можете начинать темы.
Вы не можете редактировать свои сообщения.
Вы не можете создавать опросы.
Вы не можете вкладывать файлы в сообщения.
Вы не можете отвечать на сообщения.
Вы не можете удалять свои сообщения.
Вы не можете голосовать.

Статус Battle.Net
Расширенный статус server.war2.ru
Загружается...
backup.war2.ru
Загружается...

Победители турниров
hurt's Sea Tournaments, 3/7: Atols
ExtaseyARMilitarDoooda
hurt's Sea Tournaments, 2/7: Spiral
ARMilitarExtaseyhoma
hurt's Sea Tournaments, 1/7: Cross the streams
fuckluckARMilitarOragorn
Elite Final 2023
ExtaseyVityfuckluck
Qualifiers (no) 2023
OragornNemoDar
Complete Smurfdom
RagnerExtaseyNik5et
Fifth tournament on the map CHOP
hurtOragornExtasey
Golden walls
ExtaseyhurtARMilitar
Random Maps Tournament
hurtARMilitarOragorn
4th chop tournament
VityRagnerhurt

Пожертвования
Спасибо:
FX - $80 (домен)
Zelya - (турниры)
lesnik
Dar - (турниры)
Kagan - (турниры)
vova1 - (хостинг)
tolsty - (хостинг)
Oragorn - (хостинг)
2007 год:
Spbwar - $400
Jade -$100
MasterKsa - $60
Lisak -$52
Cocka - $50
Konstkl - $50
Ldir - $50
Gadzila - $20
Feature -$10

Последние статьи
 · Почему я проиграл? ..
 · О версиях игры и се..
 · 2 halling
 · Деньги на новый сер..
 · Моральные нормы в и..

- Генерация страницы: 0.27 секунд -