8 / 8 / 0
Регистрация: 08.07.2015
Сообщений: 190
|
|
1 | |
Распаковать и запаковать .Pak Archive из игры08.12.2016, 11:06. Показов 14904. Ответов 26
Метки нет Все метки)
(
Доброго времени суток, тип файла определён ОС как .pak archive, собственно я бы хотел модифицировать в данном архиве пару файлов. С помощью чего его упаковали я понятия не имею. Идея предложения как это провернуть, а точнее распаковать и запаковать обратно, что бы программка его без проблем скушала и работала. Заранее благодарен.
0
|
|
08.12.2016, 11:06 | |
Ответы с готовыми решениями:
26
Как запаковать и распаковать файлы? Ну хотя бы распаковать? Как распаковать запароленные файлы с pak? Как с использованием 7-Zip запаковать файлы и каталоги в архив и распаковать их из архива? Распаковать архивы в папки с именами архивов, переименовать некоторые файлы по маске и обратно запаковать |
08.12.2016, 14:24 | 2 |
2
|
8 / 8 / 0
Регистрация: 08.07.2015
Сообщений: 190
|
|
08.12.2016, 14:33 [ТС] | 3 |
gazlan, с помощью QuickBMS можно ведь каким то образом распаковать?
0
|
8 / 8 / 0
Регистрация: 08.07.2015
Сообщений: 190
|
|
08.12.2016, 14:47 [ТС] | 5 |
gazlan, ладушки, по теме, нужен скрипт, с помощью которого можно распаковать/запаковать
0
|
08.12.2016, 15:00 | 6 |
Не по теме: Как-бы это... помягче... Не имея самого файла, смешно даже начинать обсуждение.
0
|
8 / 8 / 0
Регистрация: 08.07.2015
Сообщений: 190
|
|
08.12.2016, 15:25 [ТС] | 7 |
gazlan, https://yadi.sk/d/_3QCSrp332ZYTm файл в архиве
0
|
8 / 8 / 0
Регистрация: 08.07.2015
Сообщений: 190
|
|
08.12.2016, 22:45 [ТС] | 9 |
gazlan, Файлы ведь упакованы в этот пак. Ведь если его раскрыть, будет 6 папок с файлами. Вот я и спрашиваю как получить это 6 папок и потом собрать их обратно.
0
|
08.12.2016, 23:28 | 10 |
Ну, если угодно называть это "упаковкой" :-)
Фактически, это библиотека - a la TAR. IMHO, стоит поискать что-то готовое на специализированных ресурсах (игры, фанатов итд.) - если сама игра чего-то стоит, то кто-нибудь, наверняка, уже этим занимался. Если нет - придется разбирать формат оглавления и писать какой-то экстрактор, способный извлечь нужный блок по его ID (или что там использовано). Для замены, вероятно, потребуется еще и правка оглавления (и, не дай бог, каскадная - для всех последующих блоков). Короче говоря, много скучной и кропотливой работы. Как альтернатива (для разовой задачи) - находите (глядя в хрустальный шар) нужный ресурс и делаете все нужные правки в HexEdit. Но от разбора формата оглавления это все равно не избавит.
1
|
8 / 8 / 0
Регистрация: 08.07.2015
Сообщений: 190
|
|
09.12.2016, 00:26 [ТС] | 11 |
gazlan, Нашел на форуме что то похожее, с помощью этого скрипта удалось извлечь папок. Был бы очень благодарен, если бы вы описали что к чему здесь.
comtype lzo1x get PAKSIZE long get BASEOFF long get FILES long for i = 0 < FILES filexor "\xff" getdstring NAME 0x100 get OFFSET long get ZSIZE long get SIZE long get DUMMY longlong get DUMMY long filexor "" if ZSIZE == SIZE log NAME OFFSET SIZE else clog NAME OFFSET ZSIZE SIZE endif next i Добавлено через 8 минут gazlan, https://gyazo.com/c44fdb20d96839a33e40366bb5ebd2ff Собственно вот что получилось
0
|
09.12.2016, 00:32 | 12 |
Могу предположить (не зная языка скрипта), что файл описывается как .LZO-архив. Далее происходит разбор оглавления (get PAKSIZE long / get BASEOFF long / get FILES long) и итерация (for i = 0 < FILES) по файлам: имя файла дешифруется (filexor "\xff"), разбирается заголовок записи, отыскивается размер файла и, при совпадении полей (if ZSIZE == SIZE) логгируется запись о файле.
1
|
8 / 8 / 0
Регистрация: 08.07.2015
Сообщений: 190
|
|
09.12.2016, 00:36 [ТС] | 13 |
gazlan, ну из документации к QuickBMS скрипты написаны на XeNTaX.
0
|
8 / 8 / 0
Регистрация: 08.07.2015
Сообщений: 190
|
|
09.12.2016, 01:57 [ТС] | 15 |
gazlan, https://gyazo.com/413346b391909ed74c5ccc9c2e032cc3
Вот что получается при замене, 0 файлов... Добавлено через 18 минут gazlan, https://gyazo.com/413346b391909ed74c5ccc9c2e032cc3 Вот что получается при замене, 0 файлов... gazlan, мб это потому что я меняю в .txt значение и программа не замечает этого?
0
|
09.12.2016, 02:10 | 16 |
С ходу ничего не скажу - надо сверять в Hex-редакторе, что структура оглавления разобрана корректно (+ по скрипту, в оглавлении записи пара пустых полей - не факт, что они в самом деле пусты). Если так, то несложно сделать экспорт (OFFSET, ZSIZE). Импорт же, вероятно, потребует коррекции offsets всех последующих файлов. Иными словами, может оказаться, что проще сделать рекурсивный сборщик всей этой "рассыпухи", при этом офсеты будут выставлены автоматически.
Не по теме: Если пишете на C, можете взглянуть на пример сходной задачи здесь: Есть очень много маленьких текстовых файлов необходимо слить в один файл.
0
|
8 / 8 / 0
Регистрация: 08.07.2015
Сообщений: 190
|
|
09.12.2016, 02:22 [ТС] | 17 |
gazlan, Там не только .txt файлы, ведь это какой то конфиг файл игры и то, из чего собрана эта рассыпуха - тоже вопрос. Судя по тому, что я вычитал о QuickBMS с помощью него можно заменить некоторые файлы, т.е. только те, которые я редактировал, что мне и нужно. Я и спрашиваю, может ли быть такое, что из-за того, что в 3-ёх файлах изменено значение с 20 на 20000, файлы не меняются?
0
|
09.12.2016, 02:52 | 18 |
0
|
8 / 8 / 0
Регистрация: 08.07.2015
Сообщений: 190
|
|
09.12.2016, 03:01 [ТС] | 19 |
gazlan,
Там до байтов, от того, что я добавил в каждом файле по 4 символа - ничего не поменялось, с точки зрения, замены файлов.
0
|
09.12.2016, 04:33 | 20 |
Если разобрать и собрать заново старый пакет получается, а модифицированный пакет - нет, то, почти наверняка, проблема в размере (проверка контрольной суммы выглядит маловероятной).
Представьте себе кирпичную кладку. Если из нее в середине выбит кирпич, то заменить можно только на такой же - ни больше, ни меньше. Уравняйте, на пробу, размер нового файла со старым - байт в байт - и попробуйте импорт - что скажет?
0
|
09.12.2016, 04:33 | |
09.12.2016, 04:33 | |
Помогаю со студенческими работами здесь
20
Чем и как распаковать *.dat-файл игры Чем распаковать файл установки игры BIN? Как можно распаковать JAR файл Игры для телефона Формат PAK Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |