Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/41: Рейтинг темы: голосов - 41, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23

Нужно распаковать PCK-файл

06.12.2014, 05:45. Показов 9684. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет )) уважаемые программисты ОЧЕНЬ надо распаковать .PCK
Уже кучу разных редакторов пробовал ( pwPCK и т.п )
Формат взят из новой игры на андроид (от создателей perfect world ) , редакторы которые предназначены для PCK от игры PW не подходят , я особо не силен в решение таких вопросов ...
Один из файлов :
interfaces.pck.rar
Хотя бы скажите вариант решение моей проблемы , я упорный пока не распакую не успокоюсь))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2014, 05:45
Ответы с готовыми решениями:

Распаковать определенный файл из архива
Всем привет, честное слово, уже замучался. Задача следующая: необходимо извлечь определенный файл (конкретно картинку (весит в любом архиве...

Как распаковать файл из ресурсов?
Нужна команда для кнопки, которая распакует файл из ресурсов программы. Если эта тема уже есть то киньте ссылку. Заранее спасибо.

Распаковка PCK на Delphi
Добрый день уважаемые программисты. Возникла такое задание, разархивировать файл из игры с расширением PCK. Знаю архиваторы есть, но я хочу...

40
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
07.12.2014, 04:11  [ТС]
Студворк — интернет-сервис помощи студентам
Допустим я взял первый файл - 0010430B
Открыл его через editor
первые строки такие
Кликните здесь для просмотра всего текста
default-template.xml

А какой порядок действий дальше?
Миниатюры
Нужно распаковать PCK-файл   Нужно распаковать PCK-файл  
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
07.12.2014, 06:09
Цитата Сообщение от gromx Посмотреть сообщение
0010430B
У меня - 104309. Думаю, что это неподходящий файл. Нужен такой, в корректности которого можно не сомневаться. Например, 0000aaa4.xml - в нем корректны открывающий и закрывающий теги, это Unicode c проставленным BOM и он заканчивается нулем. Теперь открываем файл в Hex-редакторе, находим это смещение и по сигнатуре видим, что он упакован методом FAST. Пакуем его ZIP'ом тем же методом и получаем размер 1250 (с заголовком). Сравниваем и убеждаемся, что у нас тот же самый поток.

И здесь нас ждем облом: имеющиеся у меня версии ZIP жмут с другими опциями, потоки не совпадают.

Почему так хочется получить тот же самый поток?

Во-первых, чтобы просто убедиться в совместимости анпакера и пакера. Во-вторых, я ожидаю, что размер оригинального файла (14620=391Ch) или размер упакованного потока (1250=04E2h) появится где-то в заголовке. В-третьих, зная точный размер потока, можно найти конец этой записи и выявить заголовок следующей (if any).

Отсутствие совместимого пакера осложняет эту работу. Возможно следует или поискать совместимую версию ZIP,
или написать мини-пакер с использованием библиотеки ZLib (все равно потребуется) или отложить проблему на потом и попытаться "на глаз" определить размер и устройство заголовка записи
Миниатюры
Нужно распаковать PCK-файл  
1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
07.12.2014, 06:30  [ТС]
Самое страшное файл Interfaces.pck весит примерно 1мб , если брать другие файлы то там они по 20мб , я так понимаю чем "больше" файл тем дольше над ним работать?
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
07.12.2014, 15:10
Если формат тот же, то это неважно, его разберет тот же парсер. Но бывают неприятные случаи, когда под тем же самым расширением прячутся совершенно различные форматы (и, вообще, бесформатные коллекции).
1
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
07.12.2014, 17:06
Я воспользовался SSF для поиска сигнатур "7801 ; ZLib --> Fast" и сравнил со списком offzip. За исключением трех (возможно, ложных) они совпали. Это означает, во-первых, что, по всей вероятности, все записи упакованы методом Fast, и, во-вторых, что все нужные ZIP-streams можно искать и дампить (примерно определив размер из списка) прямо по сигнатуре. Немного позднее, сделаю дампер (сейчас некогда).
Вложения
Тип файла: 7z interfaces.pck.ZLib.Fast.ssf.7z (4.9 Кб, 4 просмотров)
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
07.12.2014, 22:03
-*- ZF_Dumper 1.0 * Copyright (c) Gazlan, 2014 -*-

ZLib/Fast streams dumper

Usage: zf_dump.com file.pck

complains_n_suggestions direct to gazlan@yandex.ru
Размер ZIP-streams, в большинстве случаев, вероятно завышен, но для распаковки это значения не имеет. Отчет об ошибках пишется в файл zf_dump.log

Кликните здесь для просмотра всего текста
Total records: 519

*** Err: Z_BUF_ERROR [ 96] [0001D88C]
*** Err: Z_DATA_ERROR [ 97] [0001DBC7]
*** Err: Z_BUF_ERROR [ 191] [0003E000]
*** Err: Z_DATA_ERROR [ 192] [0003E02B]
*** Err: Z_BUF_ERROR [ 261] [00057D77]
*** Err: Z_DATA_ERROR [ 262] [00058468]
*** Err: Z_BUF_ERROR [ 501] [000FC913]
*** Err: Z_DATA_ERROR [ 502] [000FCACB]


Следуюший шаг - подбор совместимого режима для обратной запаковки с той же сигнатурой.
Вложения
Тип файла: 7z zf_dumper.7z (17.7 Кб, 2 просмотров)
Тип файла: 7z dumps.7z (1.03 Мб, 2 просмотров)
0
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
08.12.2014, 01:45  [ТС]
Правильно ли я понимаю , если все пройдет хорошо после можно будет создать спец.пакер для всех .pck ?
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
08.12.2014, 02:37
Цитата Сообщение от gromx Посмотреть сообщение
если все пройдет хорошо
Я пока не вижу даже просто совместимого по флагам пакера (нужно время поиграться с настройками Deflate в ZLib), не говоря уже о том, что в понимании формата мы еще ни на шаг не продвинулись. Не исключено, правда, что именно этот файл не содержит оглавления, а ссылки на записи (offsets) хранятся где-то в другом месте, но и в этом случае требуется знать структуру записи (формат заголовка записи).

То есть, надежды увидеть в файле ссылки на ZIP-потоки (и их размеры) пока не оправдались (и, возможно, их нет вовсе), так что ближайшая задача, как я уже говорил, выяснение точных размеров Zip-streams и изучение "зазоров" между ними. Пока что, из всей структуры файла нам известны только ZIP-streams.
Миниатюры
Нужно распаковать PCK-файл  
1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
08.12.2014, 03:25  [ТС]
Добавлю еще пару файлов , если это поможет .
Тут есть .pck которые весят по 1кб
Вложения
Тип файла: rar package.rar (1.20 Мб, 3 просмотров)
0
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
08.12.2014, 03:26  [ТС]
Есть еще и от 20мб , там в основном модели и т.п
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
08.12.2014, 04:12
Цитата Сообщение от gromx Посмотреть сообщение
Добавлю еще
Гм. А добавьте список директорий и файлов (все дерево: командой dir /on /s > list.txt). Возможно там есть различные языковые локализации и/или разные платформы (с разным порядком байт).

К слову, у этих ребят все через одно место - оглавление оказалось в конце файла, а не в начале.
1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
08.12.2014, 05:31  [ТС]
Скидываю уже декомпилированный APK - https://cloud.mail.ru/public/4... /2main.rar ( У этого приложения есть только две платформы apk и iOS )
Локализация только CHINA
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
08.12.2014, 06:21
Цитата Сообщение от gromx Посмотреть сообщение
Добавлю еще пару файлов
Угу. Они все одинаково устроены. В смысле, по-китайски...

уже декомпилированный APK
Вечером посмотрю.
Миниатюры
Нужно распаковать PCK-файл  
1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
08.12.2014, 06:36  [ТС]
А что если взглянуть к примеру на принцип распаковки файлов .pck из игры Perfect world(Там есть уже готовые архвиторы ) , может это что-то даст? Разработчики одинаковые , значит и принцип должен быть схожый
0
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
08.12.2014, 06:38  [ТС]
Вот к примеру
Вложения
Тип файла: zip 7c5e51e123265f7f7076365cab643e75ce8d024c.zip (75.4 Кб, 3 просмотров)
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
08.12.2014, 07:53
Цитата Сообщение от gromx Посмотреть сообщение
взглянуть к примеру
Вы мне эту хрень реверсировать предлагаете?

Принцип и так ясен, дьявол в деталях. Я думаю, что уже знаю, как вытащить все, что мне нужно, но, во-первых, это требует проверки на остальных .pck-файлах и, во-вторых, я хочу понять, как это делают разработчики (похоже, каким-то совершенно невообразимым способом). И еще вопрос, не возникнет ли проблем совместимости при обратной упаковке "не той" версией ZLib.

Вообще, формат устроен совершенно идиотским образом, подозреваю, что и игра того же качества :-)
1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
08.12.2014, 08:35  [ТС]
Цитата Сообщение от gazlan Посмотреть сообщение
формат устроен совершенно идиотским образом
Ну так made in china ))
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
09.12.2014, 08:09
Посмотрел все. Все устроены совершенно одинаково: Header - Zip streams array - Zipped catalog - Footer.

В Header, в зависимости от файла, меняется только поле размера файла, в Footer меняются несколько полей, но смысл их пока неизвестен. Размер этих блоков фиксирован, так что определить из несложно.

Zipped catalog всегда последний в Zip streams array и содержит описание структуры файла (Записи фиксированного размера с полем имени файла 260 байт. Большая часть имен - в нечитаемой кодировке).

Найти этот блок вручную несложно (последний в массиве), но в самом файле .PCK не смог найти никаких ссылок на его расположение и размер, хотя, думаю, должен быть такой способ, без сканирования всего массива (может быть 6,000+ элементов).

Для перепаковки, как я представляю, потребуется "сложить" заново архив, модифицировать catalog (прописав новые размеры и смещения) и поправить значения неизвестных пока полей в Footer (возможно, там содержится и контрольная сумма файла).

Для (автоматической) распаковки должно быть достаточно offzip (с последующей сверкой по каталогу).
Миниатюры
Нужно распаковать PCK-файл   Нужно распаковать PCK-файл   Нужно распаковать PCK-файл  

1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
11.12.2014, 22:12  [ТС]
Я так понимаю , что структура заголовка уже готова?
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
11.12.2014, 22:42
Цитата Сообщение от gromx Посмотреть сообщение
структура заголовка уже готова
В #33 - первые 0Ch байт. Но, поскольку формат устроен через своеобразно, то, в данном случае, важен не header (как обычно), а footer ("хвост" файла). Большая часть его константна (copyright message + еще парочка сигнатур), но несколько полей меняются и их назначение следует выяснить.

Кроме того, следует выполнить картирование, для проверки того, не хранится ли чего существенного за концом ZIP-streams (возможно, что ничего или мусор, но это требует исследования). Ну и, наконец, если заниматься полной распаковкой, следует озаботиться корректной обработкой китайских имен файлов и директорий.

И, как я уже писал (маловероятно, но чего не бывает), не проверялась совместимость по флагам ZLib (если память не изменяет, там 40 комбинаций размеров буфера и стратегии упаковки). Может оказаться, что архив, перепакованный с другой комбинацией флагов (например, методом BEST) не будет читаться игрой.

Хотя бы, скажите вариант решения моей проблемы, я упорный пока не распакую не успокоюсь))
Думаю, для старта, информации у вас достаточно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.12.2014, 22:42

Как запаковать и распаковать файлы? Ну хотя бы распаковать?
Как распаковать архив rar или zip из кода? Знаю, что есть библиотеки UnRar.dll и UnZip.dll, но как точно их использовать - не знаю. ...

Распаковать .hta файл
В ресурсах есть файл Info.hta, я хочу его распаковать в папку "C:\Temp\Info.hta" Посмотрел способы распоковки, ни один так и не...

Распаковать файл zlib
Здраствуйте. Есть swf файл который не могу декомпилировать так как он дополнительно сжат zlib Как на языке C# разжать его? вот файл

Распаковать 1 файл в папку
Привет! Я начинающий в C# и мне потребовалась небольшая помощь знающих людей. Я реализую патч для программы, который должен распаковывать...

Программно распаковать zip файл
Необходимо распаковать MACHINEDATA.TT.ZIP файл. Использовав пример из https://www.cyberforum.ru/vb-net/thread343195-page3.html получился...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru