Как открыть защищенную карту в варкрафт 3

Обновлено: 05.07.2024

X-deprotect (далее xdep) - утилита для восстановления карт для Warcraft3: RoC/TFT, поврежденных специальными утилитами ("оптимизаторами" или "протекторами") таким образом, что в игре они работают, но в редакторе - не открываются.

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

Под восстановлением здесь и далее подразумевается процесс получения такой карты, которую можно открыть и сохранить в редакторе, при этом функциональность которой останется полностью идентичной исходной карте.

xdep выполняет необходимый минимум операций для такого восстановления, а также, опционально, некоторые дополнительные операции для облегчения понимания устройства карты.
(эти операции, подробно описанные ниже, могут вызывать сбой на некоторых картах, но так как для восстановления карты они не обязательны, их можно отключить в конфигурации)

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

На получившейся восстановленой карте можно применять утилиты типа Deprotect, Dewidgetizer для дальнейшего восстановления, например, GUI-триггеров или объектных данных.
(в силу того, что эти операции довольно сложны, и при этом не являются необходимыми, эта утилита их не выполняет)
Или же просто редактировать скрипт карты через редактор, не выполняя рутинных операций распаковывания/запаковывания файла war3map.j из карты со всеми связанными с этим глюками.

X-deprotect (далее xdep) - утилита для восстановления карт для Warcraft3: RoC/TFT, поврежденных специальными утилитами ("оптимизаторами" или "протекторами") таким образом, что в игре они работают, но в редакторе - не открываются.

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

Под восстановлением здесь и далее подразумевается процесс получения такой карты, которую можно открыть и сохранить в редакторе, при этом функциональность которой останется полностью идентичной исходной карте.

xdep выполняет необходимый минимум операций для такого восстановления, а также, опционально, некоторые дополнительные операции для облегчения понимания устройства карты.
(эти операции, подробно описанные ниже, могут вызывать сбой на некоторых картах, но так как для восстановления карты они не обязательны, их можно отключить в конфигурации)

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

На получившейся восстановленой карте можно применять утилиты типа Deprotect, Dewidgetizer для дальнейшего восстановления, например, GUI-триггеров или объектных данных.
(в силу того, что эти операции довольно сложны, и при этом не являются необходимыми, эта утилита их не выполняет)
Или же просто редактировать скрипт карты через редактор, не выполняя рутинных операций распаковывания/запаковывания файла war3map.j из карты со всеми связанными с этим глюками.


Что конкретно делает xdep в минимальной работающей конфигурации:
- распаковывает все файлы карты в отдельную временную папку;
- восстанавливает список файлов в архиве, методом сканирования всех файлов в поисках возможных имен других файлов;
- исправляет файл war3map.w3i, намеренно повреждаемый утилитами для защиты;
- удаляет файлы (attributes), (listfile), (signature), переносит скрипт карты в war3map.j;
- восстанавливает список импортированных файлов war3map.imp;
- восстанавливает файлы war3map.wtg, war3map.wct, war3mapUnits.doo на основе скрипта карты;
(сам скрипт карты вносится в один триггер и изменяется таким образом, чтобы карта сохранялась без ошибок в редакторе)
- собирает получившиеся файлы в новый архив, добавляя ему заголовок от исходного.

В списке дополнительных возможностей:
- переименовывание функций со "стандартными" именами, назначаемыми редактором, во избежание конфликтов имен при сохранении (эта опция необходима, если при защите карты не использовалось "запутывание" имен функций)
- подстановка кода однократно используемых функций на место их вызова: нужно для распознавания секции инициализации, для восстановлениия данных о start locations, юнитах, регионах и прочем (обычно это и так выполняется некоторыми утилитами для оптимизации)
- переименовывание глобальных переменных с запутанными (obfuscated) именами в нечто типа udg_integers01
- расстановка отступов в скрипте
- восстановление данных о start locations в файл war3mapUnits.doo на основе секции инициализации (если эта опция отключена, war3mapUnits.doo все равно создается, но пустым, т.к. он необходим WE)


Утилита является консольной, все параметры, включая имена входного и выходного файлов, описываются в текстовом файле xdep.ini.
Файл конфигурации снабжен более-менее подробными комментариями по каждой опции.
Для запуска достаточно прописать путь к требуемой карте в конфигурации и запустить xdep.exe.

Для работы с MPQ используется известная библиотека SFmpq.dll с консольным архиватором собственного написания.
Листфайл для архиватора находится в файле listfile.txt, включает в себя списки имен от стандартных архивов War3 TFT, а также от нескольких карт, на которых проводилось тестирование.

Утилита проверялась на нескольких защищенных картах, в том числе DotA Allstars и MyDotA - во всех случаях удавалось получить восстановленную версию при правильных настройках.

Евгений Смирнов

Ну что же, раз уж вы твёрдо решили испортить себе желание играть в варкрафт, а именно это скорей всего и случится, то приготовьтесь, это, иногда, бывает не так-то просто.
------------------------------------------------------------------------------------------------------------------------------
Нам понадобятся:
JassCraft(блокнот для .j скриптов)
MPQ Master(+листфайл) (редактор mpq)
MPQEditor(редактор mpq)
RMPQEx(парсер)
MPQView(редактор mpq)
X-Deprotect(перепаковщик)
w3mpqfns_p(парсер)
Vexorian Opt(оптимизатор)
DeSpazzler
W3M Master
+ желательно минимальное знание джасса(именно его в чистом виде, а не c и v)

Всё это(кроме последнего) находится в прикреплённом к посту архиве.
------------------------------------------------------------------------------------------------------------------------------
Урок первый.
Классификации типов защиты. Первый контакт с архивом.
Тип первый: Тула Векса
Тула Векса задумывался как самый обыкновенный оптимизатор карт варкрафта. Но, неожиданно для всех, отлично проявил себя в протекте.
Защита первого типа САМАЯ распространённая. Откройте ваш MPQ Master, и с помощью него попробуйте открыть целевую карту. Если вам это удастся без труда, то это карта с уровнем защиты первого типа (или вовсе без протекта).

Тип второй: Слабое повреждение заголовка
Такой протект часто можно встретить в азиатских рпг. MPQ Master его не берёт. А берёт его связка из MPQEditor, RMPQEx и X-Deprotect.

Евгений Смирнов

<ТИП ВТОРОЙ>
Второй тип отличается от первого тем, что в этом случае нельзя отредактировать карту напрямую.

<ТИП ТРЕТИЙ>
1)Открываете DeSpazzler.
2)Снимаете защиту с карты
3)Переходите ко второму типу


Владислав Курашев ответил Сергею

Сергей Шленков

Владислав, Пффф ок ок ты про тот депротект где надо кнопочкой вставить карту и нажать старт .


Владислав Курашев ответил Сергею

Серега, да. К тому же, карту, защищённую оптимизатором у тебя не получится взломать. Если, конечно, с неё можно снять защиту в том же оптимизаторе или уметь убрать защиту, пользуясь высшими языками программирования.

Сергей Шленков

Владислав, Тебе кто такое сказал. Тулы векса уже давно научились обходить ла единственое что будет не вернуть это ГУИ тригеры.


Владислав Курашев ответил Сергею

Серега, а писал я ну ГУИ триггерах :3 Ну, что ж, если взломаешь - похвала. Посвятишь всех интересующихся.


Владислав Курашев ответил Сергею

Серега, P.S. Если ГУИ триггеры не вернуть, как ты сказал, то от взлома карты будет мало толку.


Владислав Курашев ответил Сергею

Читайте также: