XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Барахолка
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
zibada

offline
Опыт: отключен
[Tool] X-deprotect: вскрытие защищенных карт
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)

В следующих версиях планируется приблизить функциональность к той, с помощью которой была получена открытая версия доты (http://dimon.xgm.guru/opendota/), а именно:
- восстановление данных регионов, звуков, камер, юнитов в формат редактора;
- разбиение скрипта на отдельные триггеры;
- переименование функций/переменных/триггеров/регионов и прочего по заданным пользователем спискам имен;


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

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

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

Скачать последнюю версию можно здесь:
http://xgm.guru/p/wc3/x-dep

Отредактировано Кет, 28.05.2014 в 02:18.
Старый 03.10.2006, 00:02
TiM
Старичок
offline
Опыт: 8,594
Активность:
gratz:)!
Старый 03.10.2006, 01:18
Dead Jay
Братег Дракончег
offline
Опыт: 8,475
Активность:
Подезненькая утилита, мне пригодится...Хе-хе....
Старый 03.10.2006, 05:30
p01nTT

offline
Опыт: 10,760
Активность:
Скоро скачаю , но по описанию утилита рулит.
Старый 03.10.2006, 05:33
Reptai1

offline
Опыт: 2,293
Активность:
Мощная прога! То что надо...
Старый 03.10.2006, 09:00
senatus
тихий и скромный...
offline
Опыт: 7,023
Активность:
Гратц большой.
Старый 03.10.2006, 09:43
zibada

offline
Опыт: отключен
пасиб конечно... но лучше бы погоняли на каких-нибудь картах и написали что да как =) все-таки тестировали не очень пристально - глюков может быть достаточно...
если что-то не работает, то просьба написать об этом, желательно в форме линка на карту и описания, где падает - при запуске утилиты, при сохранении в редакторе, или же все сохраняется, но в игре работает не так.
для проверки карту после прогона через утилиту следует открыть и сохранить в редакторе!
(т.к. исходный файл war3map.j утилита не изменяет никаким образом, в игре вы до сохранения разницы точно не увидите)
известные возможные ошибки:
  • ошибка архиватора "Error 3EE" при распаковке файлов значит, что архиватор не смог расшифровать файл с неизвестным именем; обычно имя файла находится потом сканированием, так что проблемы нет.
  • ошибка редактора "Expected name" при сохранении: убедитесь, что в конфиге включена опция "rename_reserved_functions" и отключена "inline_functions" - она потенциально самая багоопасная (но необязательная).
Старый 03.10.2006, 10:37
senatus
тихий и скромный...
offline
Опыт: 7,023
Активность:
дома попробую, конечно. На работе у меня вар не стоит.
Старый 03.10.2006, 10:50
DioD

offline
Опыт: 45,184
Активность:
добавить дебаг функции нормальную текстовую консоль ибудет гратз
а пока что боян
собственно система работает несколько крива, если стоило проверять то вот на этой карте

http://members.lycos.co.uk/aommap/aomnew/AoM4.80.w3x

Отредактировано DioD, 03.10.2006 в 11:14.
Старый 03.10.2006, 11:07
zibada

offline
Опыт: отключен
DioD
там вполне ожидаемая вещь - сканер не нашел имена файлов, генерируемые скриптом, ну и в игре они понятно, не появились :/
если их разыскать вручную (например, воткнув debug output в коде, который их выводит) и добавить в листфайл, все должно отработать на ура.
утилита рассчитана ни в коем случае не на замену прямых рук, а в помощь им =)

что подразумевается под "дебаг функциями"? если выключить стирание темпа, там можно по шагам все проделывать, подправляя конфиг.
(например, можно вручную вытащить секцию инициализации в скрипте в одну функцию, если автоматически это не выходит)
Старый 03.10.2006, 15:34
Aspid

offline
Опыт: 8,361
Активность:
! вобщем утилита работает отрадно на просто запротекченых картах.
в частности утилита полностью восстановила вот эту карту
http://www.xgm.guru/maps.php?section=wc3&id=520
спасибо.
Старый 03.10.2006, 19:15
Sky

offline
Опыт: 1,605
Активность:
находка для любителей взломщиков карт :)
прога просто супер
лучше нигде нет
Старый 23.10.2006, 20:49
NETRAT

offline
Опыт: 83,762
Активность:
Toadcop в качестве ответа на мольбы юзеров о снятии защиты. По секрету скажу, что это функциональная часть, изоморфная скриптам без списков имен, которые использовались в проэкте Opendota
Старый 25.10.2006, 20:02
Toadcop

offline
Опыт: 53,013
Активность:
Цитата:
ответа на мольбы юзеров о снятии защиты
- юзеры ламеру пусть учатьса...

Цитата:
Opendota
- это я в курсе...

т.е. для НОРМАЛЬНЫХ картостроителей такий утилы не нужны !!!
Старый 25.10.2006, 20:10
NETRAT

offline
Опыт: 83,762
Активность:
Toadcop кстати, нормальным пользователям ПК не нужны программы для восстановления утерянных паролей - так?! Однако, представь себе ситуацию, гипотетически, ты, решив запротектить свою карту, забываешь оставить бэкап, или теряешь бэкап версию, на этом все, дальнейшее улучшение карты невозможно ибо ты точно не будешь ковыряться в этом ручками... Вообще, все программы для восстановления данных рассчитываются именно на добросовестных пользователей - то есть назначение у них - восстановление ЛИЧНЫХ данных, а не взлом чужих, впрочем, как действительно применяют программу - это уже не является заботой разработчика
Старый 25.10.2006, 20:17
Inoriol
Я пришёл....
offline
Опыт: 11,629
Активность:
Наконец отличная прогдамма для депротекта.! респект тебе
Старый 25.10.2006, 20:26
zibada

offline
Опыт: отключен
Toadcop
про мнение "господина Ц", который походу даже не может прочесть описание, дабы понять, о чем речь, мне известно.
комментировать не буду.
Старый 25.10.2006, 21:03
Dead Jay
Братег Дракончег
offline
Опыт: 8,475
Активность:
Toadcop, я с тобой не согласен
Старый 29.10.2006, 18:09
Dead Jay
Братег Дракончег
offline
Опыт: 8,475
Активность:
Кстати, было бы неплохо, если бы программа приобрела более графический инресфейс...
Старый 07.11.2006, 08:11
NETRAT

offline
Опыт: 83,762
Активность:
Это вряд ли. Разве что оболочку, и то вряд ли. Дело в том что написана она на Perl (и никакого GUI в ней нет), соответственно и компилируется она только в консоль.
Старый 07.11.2006, 12:23
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 17:38.