Добавлен , опубликован
Статья
Раздел:
Кодинг
Здравствуйте, в этой мини статье я бы хотел уделить внимание такому сжатию как MDLBX, точнее сжатие + изменения заголовка знакомого MDLXVERS.
#Предыстория:
Совсем недавно один знакомый скинул мне модель которую он достал из китайской карты где больше половины моделей было сжато в самой карте которые в последующем проходят расшифровку и загружаются в карте после старта. Так вот я не мог открыть карту не в одной из известных мне программ такие как Mdlvis, W3ME, 3d max и тд., и мне стало интересно что же не так с этой моделью, подумав, спросив некоторых англоязычных людей которые шарят в этом я нашел способ вернуть модель в прежнее состояние.
Начало:
Изначально зайдя в редактор hex я увидел такой заголовок который никогда не видел:
После этого как я уже говорил я спросил у некоторых англоязычных людей как это исправить и тот мне подсказал что в этом файле содержится компресс zlib который легко снимается программой offzip.exe.
Закинув файл .mdx с заголовком MDLBX в папку с offzip.exe я создал .bat файл с командой открытия, и аргументом -a который использует все методы сжатия
offzip.exe -a qb.mdx
Pause
Скрин от другой модели:
После чего у меня сохранился файл формата .ver открыв его в hex редакторе я заметил что файл .mdx распаковался то есть сжатые блоки кода его были возвращены в исходное состояние но заголовок стал называться VERS добавив MDLX к заголовку Vers у меня получилось всеми знакомый заголовок MDLXVERS после чего я сохранил и изменил формат файла с .ver на .mdx и смог открыть файл.
Вот одна из моделей которую я пытался исправить:
Вы можете тоже попробывать такое с файлом для понимания этой статьи.
После чего я заметил что в этой карте такой файл не единственный и даже не только .mdx но и .blp файлы и чтоб всю эту рутину автоматизировать мне пришлось потратить 2-3 часа для создания скрипта на python с помощью которого можно было бы все файлы находящиеся в одной директории с offzip.exe декомпрессировать разом
Сам скрипт:
Сам софт:
Ссылка на карту:
Открыв cmd в директории я написал следующую команду
py (ByXeSHTeG)MDLXB-BLP.py
после чего все файлы изъятые из карты папки war3mapimported я смог декомпрессировать все файлы.
И так после всех манипуляций я смог упростить себе работу на будущее если встречу еще такие данного рода файлы от китайцев
P.s единственное что я не смог сделать после того как решил эту проблему это разблокировать этот файл если кто то шарит в этом помогите пожалуйста эта модель полностью зашифрована и возможно сжата
Модель из другой карты:
  1. Нужно скачать offzip.exe и мой скрипт
  2. Закинуть в папку софт и скрипт и модели
  3. Далее нужно скачать Python любой версии на сайте www.python.org
  4. После установки python нужно будет открыть cmd в папке с софтом и моделями
  5. И написать следующее py (ByXeSHTeG)MDLBX-BLP.py
  6. После чего все файлы появятся в папке decompress
`
ОЖИДАНИЕ РЕКЛАМЫ...
10
Теория о том для чего автор создал этот метод сжатия: думаю для того чтоб во первых была защита на моделях чтоб не кто не мог их редактировать, а во вторых для того чтоб снизить вес самой модели (вы заметите что модель после декомпресса будет весить два раза больше чем до этого) которая во время старта карты извлекает сжатые блоки кода модели для ее воспроизведения в карте
Ответы (12)
1
Теория о том для чего автор создал этот метод сжатия: думаю для того чтоб во первых была защита на моделях чтоб не кто не мог их редактировать, а во вторых для того чтоб снизить вес самой модели (вы заметите что модель после декомпресса будет весить два раза больше чем до этого) которая во время старта карты извлекает сжатые блоки кода модели для ее воспроизведения в карте
Возможно так сжать в стандартной версии ft, этот способ для какой версии? пробовал в редакторе 1.26 модели не работают
37
r36, от версии Варкрафт 3 это не зависит
1
r36, от версии Варкрафт 3 это не зависит
от чего зависит, у меня карта эта загружается в черный экран. модели тоже не работают в игре. у вас они работают?
37
r36, они нигде не работают кроме карты от которой ее вытянули, ей нужно код вернуть, который зашифровали в исходный вид.
1
r36, они нигде не работают кроме карты от которой ее вытянули, ей нужно код вернуть, который зашифровали в исходный вид.
это я понял. у меня на этой карте черный экран. я имею ввиду взять модели зашифрованные с этой карте и к себе добавить на свою карту чтобы они работали что для этого надо
37
r36, однажды, ты найдешь ответ на свой вопрос.
1
r36, однажды, ты найдешь ответ на свой вопрос.
если знаешь напиши, зачем умничать. этот сайт не для того чтобы философию разводить, кто хочет помочь тот напишет
37
r36, ты сидишь по статьёй, которая частично решает данный вопрос. Ты её не прочитал, с чем тебе помочь? Ты не знаешь как питон скрипт установить? Или у тебя проблемы, когда ты в командой строке вводишь комбинацию.
Какие у тебя проблемы? Тебе же написали , что непонятное и какие шаги ты делал, прежде чем разводить демагогию по поводу "помогите, что мне нужно сделать?
1
r36, ты сидишь по статьёй, которая частично решает данный вопрос. Ты её не прочитал, с чем тебе помочь? Ты не знаешь как питон скрипт установить? Или у тебя проблемы, когда ты в командой строке вводишь комбинацию.
Какие у тебя проблемы? Тебе же написали , что непонятное и какие шаги ты делал, прежде чем разводить демагогию по поводу "помогите, что мне нужно сделать?
Возможно я не правильно не понятно задал вопрос.
мне не нужна расшифрованная модель(запустить скрипт я могу и расшифровать и зашифровать обратно).
мне нужно зашифровать мои модели чтобы их сжать! когда я зашифровываю их они не работают в игре.
я скачал эту карту mhdmyt0.120.w3x (327M) и запускаю ее варкрафте и там черный экран!, потом я через mpq архив вытащил модели и добавил в свою карту и у меня они не показываться, также blp зеленые когда добавлю иконки.
версия моей игры 1.26
Вопрос в какой версии работает этот трук с зашифрованными моделями, нужно mix или dll или reforged или uj
Как запустить эту карту mhdmyt0 в каком варкрафте?
37
Как запустить эту карту mhdmyt0 в каком варкрафте?
Тебе нужно WarCraft 3 на патче 1.27а и с нативками от платформы китайской KK. Ищи сборку, настраивай конфиг YDWE и через батник запускай карту. Всё.
А вот вопрос - как мне шифровать свои модели и сжимать - это иди создавай тему в категории Вопрос. Возможно кто-то поможет
37
Как запустить эту карту mhdmyt0 в каком варкрафте?
Тебе нужно WarCraft 3 на патче 1.27а и с нативками от платформы китайской KK. Ищи сборку, настраивай конфиг YDWE и через батник запускай карту. Всё.
А вот вопрос - как мне шифровать свои модели и сжимать - это иди создавай тему в категории Вопрос. Возможно кто-то поможет
1
Как запустить эту карту mhdmyt0 в каком варкрафте?
Тебе нужно WarCraft 3 на патче 1.27а и с нативками от платформы китайской KK. Ищи сборку, настраивай конфиг YDWE и через батник запускай карту. Всё.
А вот вопрос - как мне шифровать свои модели и сжимать - это иди создавай тему в категории Вопрос. Возможно кто-то поможет
Спасибо
16
В python вроде бы есть пакет zlib, им не пробовал?

Вот этот текст не понятен:
P.s единственное что я не смог сделать после того как решил эту проблему это разблокировать этот файл если кто то шарит в этом помогите пожалуйста эта модель полностью зашифрована и возможно сжата
Какую проблему? Что значит разблокировать? Какой файл? Это не то же самое что и дешифровать? Что имеется ввиду вообще?
Ответы (18)
10
OVOgenez, снизу под текстом скинул файл.mdx который не понятно как вернуть в исходное положение для запуска в mdlvis
16
XeSHTeG, имеешь ввиду одну конкретную модель не выходит декомпреснуть?
10
OVOgenez, да я прикрепил ее снизу текста могу повторно в комментариях
Загруженные файлы
16
XeSHTeG, ты уверен что это модель? у этого файла структура данных вообще другая.
16
И карту скачать нельзя, пишет "владелец переместил в корзину".
16
XeSHTeG, скинь тогда ссылку на сайт откуда карту скачал, или где ты ее взял.
16
XeSHTeG, а, бл, ты тут писал
Модель из другой карты:
Вот эту другую карту сможешь скинуть?
32
OVOgenez, анрайз уже демонстрировал модель в формате DLL, как она в, памяти игры есть, так её выколупывают, это чтобы обходить всякие защиты на архивы. Китайцы могли пойти дальше и подобным образом модель сделать чтобы без спец инжектора такую модель в карту себе не утановить...
В, целом уже кидали примеры карт с конвертом скрипта в байт-код.
25
quq_CCCP, вряд ли это из памяти, там же натурально текстовый файл. Шифрование какое-то, мб
1
Зашифрованные модели работают в какой версии игры, для этого нужно dll?
25
P.s единственное что я не смог сделать после того как решил эту проблему это разблокировать этот файл если кто то шарит в этом помогите пожалуйста эта модель полностью зашифрована и возможно сжата
Модель из другой карты:
Список используемых в файле символов полностью совпадает со списком символов Base64. Наверное, с этого нужно начать.
1
AFBfazi.mdx
Эта модель должна быть моделью, извлеченной из карты Warcraft AFB. В этом изображении используется модель двоичного шифрования. Он перехватывает функцию загрузки модели Warcraft 3 и расшифровывает ее с помощью внутренней DLL. Вам нужно запустить операцию карты AFB в Warcraft 3, чтобы понять, как расшифровывается DLL.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.