В этом уроке мы рассмотрим плюсы и минусы защиты карты и с открытым исходным кодом, а также то, что он может сделать с картой.
Во-первых, давайте посмотрим, что делает ваш типичный протектор карты и что означает каждый из этих шагов:
1) удаляем только файлы World Editor
2) запутываем скрипт карты
3) Widgetize-объекты (только некоторые делают это)
4) повреждение файла MPQ (только некоторые делают это)
Удаление Только Файлов World Editor
При создании карты с помощью World Editor существует два типа файлов: файлы игры и файлы только для редактора. Пример игры файл "war3map.j" (скрипты) или "war3map.w3u" ПО (подразделения). Эти файлы необходимы для игры, чтобы играть. Если их нет, то игра работать не будет. Однако есть также файлы, созданные только для World Editor в качестве чтения, как war3map.wtg (триггеры GUI). Эти файлы полностью необязательны для WC3 и могут быть безопасно удалены. Это был самый ранний уровень защиты, обнаруженный в WC3: если вы удалите только все файлы WE, карта не откроется в Редакторе World Editor, если они не будут восстановлены.
Проблема с этой формой защиты заключается в том, что... ну, WE-файлы по определению не нужны. Очевидно, что WC3 не нуждается в них, и любой опытный редактор карт тоже. Имейте в виду, что скрипты, объект, импорт и т. д. есть все необходимое. В принципе, удаление этих файлов только ограничивает его открытие в WE и предотвращает использование графического интерфейса.
Это не имеет значения, так как кто-то достаточно опытный, чтобы редактировать чужую карту, сможет написать JASS. И есть инструменты, которые даже лучше, чем редактор мира для написания JASS. Редактирование объектов также довольно легко. Эта форма защиты останавливает только самых ненормальных хакеров, типа, который войдет и изменит автора на свое имя или что-то в этом роде.
Я полагаю, что стоит остановить этих людей, но, честно говоря, любое редактирование, которое они сделают, будет мусором и никогда не будет воспроизводиться над оригиналом в любом случае.
Запутывание скрипта карты
Теперь мы кое-что поняли. Оптимизатор "Vexorian" запутывает сценарий карты, а это значит, что он испортит названия переменных функций, чтобы сделать их бессмысленными и удалить отступы кода. Возьмите фрагмент VJASS такой: privatefunction onInit takesnothingreturnsnothing set deathTrigger =CreateTrigger() callTriggerRegisterAnyUnitEventBJ(deathTrigger,EVENT_PLAYER_UNIT_DEATH) callTriggerAddAction(deathTrigger,function dropItems) callTriggerAddCondition(deathTrigger,Condition(function isUnitEnemy)) endfunction
Надеюсь, это довольно ясно, что этот триггер будет делать. Это спусковой крючок, который срабатывает, когда враг умирает. Теперь, когда мы запутали его, это будет выглядеть примерно так: privatefunction pqjf takesnothingreturnsnothing set ghdn =CreateTrigger() callTriggerRegisterAnyUnitEventBJ(ghdn,EVENT_PLAYER_UNIT_DEATH) callTriggerAddAction(ghdn,function jkmv) callTriggerAddCondition(ghdn,Condition(function Kdms)) endfunction
Теперь смысл полностью утрачен. Теперь этот уровень защиты действительно имеет смысл. Код становится гораздо труднее читать, когда он запутан. Но вот в чем дело: опытный редактор карт все равно сможет это понять. Приведенных выше вызовов функций достаточно, чтобы понять это. Все, что вам нужно сделать, это найти эти функции и записать свои выводы в блокнот, и вы сможете понять, что он делает. Это может удвоить или утроить время, необходимое для редактирования карты, но это не остановит тех, кто хочет изменить его.
Widgetizing объекты
Я включаю это только для полноты картины. Очень немногие люди делают это. В основном это включает в себя затемнение объектов путем размещения их в электронных таблицах вместо обычных по типу ".w3u" ПО и т. д. файлов, что удивительно, WC3 возможно. Но люди придумали dewidgetizer не только для этого.
Кроме того, он вводит глюки в вашей карте, которая является основной причиной; это редко используется в нынешнее время.
Повреждение файла MPQ
MPQ-это формат файла .w3 и .файлы w3m. Некоторые очень умные люди нашли некоторые конкретные шестнадцатеричные адреса, которые вы можете редактировать в файле MPQ, чтобы сделать наиболее распространенные инструменты чтения MPQ сбоя на нем. Это действительно помешает этим библиотекам открыть MPQ вашей карты. Но, WC3 должен быть в состоянии прочитать карту, чтобы играть. WC3 использует библиотеку storm, которая может открыть любой допустимый файл MPQ. И люди узнали, как использовать эту библиотеку в своих инструментах. Что это значит:
Любые карты, WC3 можно открыть и играть, кто угодно может открыть и прочесть их содержимое
Люди потратили годы на разработку инструмента "corrupted-MPQ", только чтобы был смещён штормом, который уже существовал. Выполнение этого метода только замедлит редактор в течение приблизительно 10 минут, в то время как они реконструируют MPQ или восстанавят его в шестнадцатеричном редакторе. Это может привести к потере импортированных файлов (см. раздел: о формате MPQ), но если кто-то взламывает вашу карту, он не заботится о потере пары импортов.