Начну с того, что это мне нужно, потому что мой проект содержит довольно много эксклюзивных материалов, на создание которых я потратил много времени, и которые я не хотел бы видеть в других проектах (эксклюзив же).
Собственно что я имел ввиду под "максимальной защитой". Это как минимум защита от xdepa и возможности открыть в других программах. То есть оптимизатор-протектор Векса мне точно не подойдет.
Многие китайские карты не взламываются хдепом (ошибка с открытием war3map.w3i), крашат модел эдитор при попытке открыть через mpq браузер, а в mpq editor Ладика отображают только файлы .xxx и некоторые модели с текстурами с битыми названиями. Пример такой карты - Focs3 Another.
Я понимаю, что и это можно как-то ломануть, но мне нужно знать, как замутить такую защиту (на хгм были какие-то статьи про замену строчек, но я не особо понял, в какой именно файл карты это вставлять).
Многие китайские карты не взламываются хдепом (ошибка с открытием war3map.w3i), крашат модел эдитор при попытке открыть через mpq браузер, а в mpq editor Ладика отображают только файлы .xxx и некоторые модели с текстурами с битыми названиями. Пример такой карты - Focs3 Another.
Я понимаю, что и это можно как-то ломануть, но мне нужно знать, как замутить такую защиту (на хгм были какие-то статьи про замену строчек, но я не особо понял, в какой именно файл карты это вставлять).
Принятый ответ
Aws, тогда мой вариант тебе идеально подходит, осталось решить какой необратимый хеш одновременно достаточно хорош и не слишком сложен в реализации. Я помню кто-то даже md5 на jass выкладывал тут на xgm, но, имхо, это изврат.
Принцип примерно такой:
- игрок вводит команду вида "-code qwerty", где code это или универсальное ключевое слово для ввода кодов или уникальное для каждого кода, в зависимости от реализации, а qwerty это ключевое слово для конкретного кода
- триггер отлавливает ввод первого ключевого слова "-code" и выделяет из строки второе ключевое слово "qwerty"
- ключевое слово "qwerty" прогоняется через необратимую хеш-функцию и превращается в хеш "123456"
- хеш "123456" сравнивается с записаным в карте хешем, циклом если команда "-сode" универсальная, или напрямую если у каждого кода есть своя команда
- если хеш совпал, то выдаем плюшки, ну а если нет, то шлем нах
- при попытке вскрыть карту кулхацкер обнаружит только "-code" и "123456", но не "qwerty", а значит не сможет правильно ввести команду в официальной версии карты
- наличие алгоритма хеширования в карте не спасает кулхацкера т.к. алгоритм необоратимый и не может из "123456" получить "qwerty"
- кулхацкер может поробовать подобрать ключевое слово, хеш которого совпадет с "123456", но если функция хеширования достаточно хороша, то он скорее начнет рвать волосы на жопе и визжа кататься по полу, чем у него это получится
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
запусти format d:\ c:\
затем жесткий с твоими бывшими файлами засунь в микроволновку на 5-10 минут
затем охлади и в морозилку
затем разбей молотком на мелкую пыль (респиратор не забудь)
затем пыль в мусорку
А если ты хочешь, чтобы это работало в варкрафте, можешь забыть словосочетание "защита файлов"
Ну а если говорить о "защите" по типу тех, что описаны в примерах, то опять же - за чем охотимся? Я вытащу все твои модели любым MPQ-редактором, если он будет тупить - скину карту Зезуле и он пофиксит баг. После этого мне останется просто раскопать модели, что тоже легко автоматизируется. Я из китайских карт на 40к файлов доставал модели нужные.
Отредактирован nvc123
и то и то открывается нормальными mpq архиваторами
а после пересохранения можно и xdep заюзать
любой кто захочет взломать твою карту взломает её
на крайний случай попросит помощи на этом же сайте
DracoL1ch, морозилка фигня
надо жидкий азот
и ты забыл про кислоту
AlexSan, ещё можно для защиты от скрипткиди вставляющих читы по гайдам
особенно в карте с сэйвлоадом
правда там как правило используется проверка хэндлов в коде а не протект всей карты
нуб не сломает
а про не станет тратить время на поиск этой проверки в карте
Хотя, судя по заданному вопросу, тебе на них плевать.