После написания статьи, мне накинули мод, который попросили распаковать, мол, получится ли вообще? Конечно получится!
При открытии присланной мне pbo-шечки через, уже упомянутый в прошлой статье, мною любимый PBO Manager, я увидел следующее:
Такие вот корявые названия файлов Dayz и их тысячи. Все файлы (ну или как минимум 99% из всех) имеют вес 0-4 байта, то есть фуфло.
При попытке распаковать всё, PBO Manager выдаёт ошибку.
При открытии в блокноте, в начале файла такое сообщение:
============Fire Packer============
PBO Packer and Obfuscator.
Developed By: #Flipper#3241
Good Luck
===============================
Нам нужно деобфусцировать PBO-файл через RePBO. Просто перетягиваем файл PBO на файл RePBO и появится ещё один файл PBO рядом с первым с таким же названием только с префиксом "_". Открываем новый PBO с префиксом в PBO Manager. Наблюдаем следующее
Уже как бы по-понятнее названия - на более знакомых символах. Теперь щёлкаю корневой каталог правой кнопкой мыши и нажимаем Extract.
В процессе может выскочить ошибка (вероятнее всего выскочит и не одна).
Находим в PBO Manager файл, на который ругается программа и переименовываем его как хотим, не меняя расширения.
Запускаем процесс извлечения корневого каталога ещё раз. Дальше всё прошло без ошибок, но если возникают ошибки, то повторяем те же действия: переименовываем файл, на который ругается программа и извлекаем каталог снова.
Для совершения дальнейших действий я рекомендую Unreal Commander, но вы можете использовать другую программу, позволяющую делать расширенный поиск файлов.
В Unreal Commander переходим в только что распакованную папку с названием _PBO и запускаем поиск файлов.
Переходим на вкладку "Дата, размер", ставим галочку "Размер файла", выбираем знак ">" (больше) и выбираем "4" байта.
Получаем на выходе все живые файлы. Нажимаем "Файлы на панель".
Выбираю все файлы и нажимаю "Вырезать".
Перехожу в созданный новый каталог и вставляю туда, чтобы было удобнее работать с файлами.
Есть одно "НО" - не хватает файла со скриптом. Проводим ещё раз поиск по корневому каталогу по маске "*.c", так мы найдём все скрипты. Перетягиваем в ту же созданную недавно папку к остальным файлам. Теперь всё.
Остаётся только разбинарить config.bin с помощью "CFG Convert" в Dayz Tools.
Какой файл и в какой каталог разместить для правильной иерархии можно посмотреть в config.cpp. Тут уж разберётесь.
Всем добра!
And Good Luck Flipper!
P.S.: Поскольку сама БАГемия не блещет руководствами о том как делать моды к их дуршлачному движку, то используем опыт друг друга. Но как показывают мои наблюдения: вот этой чушью, типа "защита", "закодировать" и прочая лабуда для тех кто только входит в ряды мододелов и думает, что у него что-то безумно уникальное и никого нельзя даже близко подпускать к сему сотворённому произведению искусства. Я сам такой вначале был. Потом понял, что я нафиг со своими модами никому не нужен. Люди, кто действительно по-серьёзке модами занимаются и делают что-то действительно ценное, даже не парятся про всякие кодирования-декодирования. Например, моды CodeLock, или Expansion распаковываются на раз без всякой лабуды любыми инструментами. Короче говоря бросьте париться по мелочам и творите великое. А если кому-то важен ваш труд - его обязательно оценят достойно. P.S.P.S.: Хэйт - тоже похвала, только другими словами, поскольку он не смог, а вы смогли.