Здравствуйте, в этой мини статье я бы хотел уделить внимание такому сжатию как MDLBX, точнее сжатие + изменения заголовка знакомого MDLXVERS.
#Предыстория:
Совсем недавно один знакомый скинул мне модель которую он достал из китайской карты где больше половины моделей было сжато в самой карте которые в последующем проходят расшифровку и загружаются в карте после старта. Так вот я не мог открыть карту не в одной из известных мне программ такие как Mdlvis, W3ME, 3d max и тд., и мне стало интересно что же не так с этой моделью, подумав, спросив некоторых англоязычных людей которые шарят в этом я нашел способ вернуть модель в прежнее состояние.
Начало:
Изначально зайдя в редактор hex я увидел такой заголовок который никогда не видел:
После этого как я уже говорил я спросил у некоторых англоязычных людей как это исправить и тот мне подсказал что в этом файле содержится компресс zlib который легко снимается программой offzip.exe.
Закинув файл .mdx с заголовком MDLBX в папку с offzip.exe я создал .bat файл с командой открытия, и аргументом -a который использует все методы сжатия
Закинув файл .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 декомпрессировать разом
После чего я заметил что в этой карте такой файл не единственный и даже не только .mdx но и .blp файлы и чтоб всю эту рутину автоматизировать мне пришлось потратить 2-3 часа для создания скрипта на python с помощью которого можно было бы все файлы находящиеся в одной директории с offzip.exe декомпрессировать разом
Сам скрипт:
Сам софт:
Ссылка на карту:
Открыв cmd в директории я написал следующую команду
py (ByXeSHTeG)MDLXB-BLP.py
после чего все файлы изъятые из карты папки war3mapimported я смог декомпрессировать все файлы.
И так после всех манипуляций я смог упростить себе работу на будущее если встречу еще такие данного рода файлы от китайцев
И так после всех манипуляций я смог упростить себе работу на будущее если встречу еще такие данного рода файлы от китайцев
P.s единственное что я не смог сделать после того как решил эту проблему это разблокировать этот файл если кто то шарит в этом помогите пожалуйста эта модель полностью зашифрована и возможно сжата
Модель из другой карты:
Модель из другой карты:
Ред. r36
мне не нужна расшифрованная модель(запустить скрипт я могу и расшифровать и зашифровать обратно).
мне нужно зашифровать мои модели чтобы их сжать! когда я зашифровываю их они не работают в игре.
версия моей игры 1.26
Как запустить эту карту mhdmyt0 в каком варкрафте?
Ред. XeSHTeG
В, целом уже кидали примеры карт с конвертом скрипта в байт-код.
Ред. Makeba
Ред. Makeba
Эта модель должна быть моделью, извлеченной из карты Warcraft AFB. В этом изображении используется модель двоичного шифрования. Он перехватывает функцию загрузки модели Warcraft 3 и расшифровывает ее с помощью внутренней DLL. Вам нужно запустить операцию карты AFB в Warcraft 3, чтобы понять, как расшифровывается DLL.