Какие способы есть протекта мапы?(от редактирования) Можно ли поставить такую защиту, что бы карта работала только на своем боте?
За сплежер я знаю, его достаточно легко удалить в HxD блокноте, а по сильней можно что-то сделать, чем испортить заголовки?

Ладно обобщу все что тут сказано было:
Защитить можно, но чем сильнее защита, тем сложнее её писать.
Убить заголовок MPQ v2 можно, что не даст возможности некоторым ботам прочитать карту, но есть новый Storm, которому по зубам эта уловка.
От бота передать какие-то уникальные данные можно (хоть HCL, хоть от fakeplayer'a в чат написать), но есть 2 минуса:
  1. Защиту можно обойти просто изменив j файл
  2. Прослушка трафика и подгон бота под карту.
Способ prog (xgm.guru/p/wc3/212625?postid=392839#comment25), конечно, обеспечит должную защиту, но насколько тогда секретна карта, чтобы такое ставить?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
25
UrsaBoss,
интересно как ты ботом засунешь инфу в карту
Боты спамят в чат всякую херню
Я бы сделал так:
Игрок пишет в чат точное совпадение "Инфа"
Имя игрока = Имя бота
=> Делаем действия
28
Бордер, нормальные боты не спамят всякую херню
UrsaBoss, мне почему то казалось что он может и читать и писать
18
nvc123 чтобы писать ему нужен реальный игрок, типа fakeplayer.
Если попытаться подделать sync пакеты, то "подделываемый" игрок вылетит с ошибкой протокола или будет десинхрон
А hcl работает благодаря гандикапам и можно юзать это всего лишь 1 раз при старте игры (и то передавая лишь мизерный объем инфы).
Т.е бот перед стартом настраивает их нужным образом, карта читает их и ставит обратно на 100%
28
UrsaBoss, странно
по идее ведь кэш поддерживает синхронизацию локальных данных
18
nvc123:
UrsaBoss, странно
по идее ведь кэш поддерживает синхронизацию локальных данных
но бот это не игрок, и не может sync пакеты отправлять (если конечно у него нету fakeplayer)
28
т.е. подделывание пакетов синхронизации не должно вызывать десинков
UrsaBoss, так если в карте идёт синхронизация то он может перехватить их
в теории если перехватить sync пакеты от игрока 1 и заменить их содержимое
а также перехватить sync пакеты к игроку 1 и тоже заменить их содержимое
то игрок 1 будет считать что он получил локальные данные от других, а остальные игроки будет считать что локальные данные получили от игрока 1
ну на крайний случай можно пойти другим путём
карта генерит строку и пишет её в кэш
бот считывает - высчитывает ответ - фигачит его в чат
карта проверяет ответ и если он верен то значит это наш бот
20
nvc123,
HCL (автомод) - основан на подмене грандикапов (фор). Можно передать данные в карту раз и до 12 знаков (при условии забитости слотов)
W3MMD (статлиба) - работает на отлове Action пакета, которые вар отсылает при использовании SuncStored*. За Action пакетами вар следит ай ай ай как. Нарушив целостность таких пакетов приводит либо к вылету игрока (ошибка протокола) либо к десинику. Если есть желание подробнее узнать могу рассказать как все работает.
nvc123, если прям позарез надо отправить данные, то могу рассказать как это организовать (но надо хорошо понимать C++ и устройство бота)
24
сделай чтобы бот писал в кэш карты пароль
в карте хранишь хэш этого пароля
после старта карты высчитываешь хэш полученного пароля и сверяешь с тем что записан в карте
если совпали то значит карта на твоём боте
если пароля нету или не совпали то значит карта не на твоём боте
увы, никто не помешает просто отодрать от карты любую защиту и захостить результат, в отличии от ситуации когда нужно защитить пароль от сторонних глаз и помешать его вводу в официальной версии своей карты
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.