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

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

06.12.2014, 05:45. Показов 9424. Ответов 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
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
06.12.2014, 09:40
Лучший ответ Сообщение было отмечено gromx как решение

Решение

Цитата Сообщение от gromx Посмотреть сообщение
не успокоюсь
Расслабьтесь... Там обычный ZLib и набор каких-то pseudo-XML. Примерно 5F00 байт в начале, вероятно, заголовок, дальше массив записей ZIP-stream.
Миниатюры
Нужно распаковать PCK-файл  
1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
06.12.2014, 19:08  [ТС]
Так xml самый нужный мне формат в этом архиве именно он отвечает за перевод))) Если не сложно можно подробней расписать алгоритм распаковки ))) Думаю с запаковкой у меня проблем не возникнет)!
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
06.12.2014, 19:47
Лучший ответ Сообщение было отмечено gromx как решение

Решение

Цитата Сообщение от gromx Посмотреть сообщение
проблем не возникнет
Если сумеете распаковать - не возникнет. Но для этого вам надо в деталях выяснить структуру заголовка и заново пересобрать файл. То есть, первый шаг - добиться того, чтобы оригинальный и распакованный и тут же запакованный обратно файлы совпадали побайтно. Потом уже можете заниматься модификацией этого pseudo-XML. А, вообще, поройтесь здесь: CTPAX-X может и готовое уже есть.

Я "распаковкой" как таковой, не занимался - просто выдрал наудачу несколько ZIP-streams. Для ваших целей этого недостаточно.
Вложения
Тип файла: rar Stuns 0.2 + Src.rar (145.3 Кб, 23 просмотров)
1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
06.12.2014, 20:00  [ТС]
gazlan, Спасибо , там точно не будет этого файла , игра вышла не давно и особо в ней никто еще не ковырялся .
0
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
06.12.2014, 20:21  [ТС]
gazlan, Я взял к примеру файл audio.pck применил к нему stuns он мне выдал две папке , я не силен так то в этом , а что я сделал)?
Миниатюры
Нужно распаковать PCK-файл  
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
06.12.2014, 21:02
Цитата Сообщение от gromx Посмотреть сообщение
а что я сделал)?
:-)

stuns - это своеобразный брутфорсер. Он ищет сигнатуры нескольких популярных библиотек сжатия данных и пытается "распаковать" поток с данного смещения. Большая часть выдачи, конечно, мусор, но для быстрой прикидки: "а есть ли там вообще что-то такое?" годится.

Отсортируйте файлы по размеру, в самых больших, наверняка, найдется что-то интересное. Имя файла == смещение записи (offset). Можете еще воспользоваться утилитой SSF для быстрого поиска сигнатуры Zlib:

> ssf.com interfaces.pck

Файл с искомыми сигнатурами (ssf.sigz) должен лежать рядом с самой программой SSF.
Вложения
Тип файла: 7z ssf.7z (5.2 Кб, 11 просмотров)
Тип файла: 7z interfaces.pck.ssf.7z (319 байт, 10 просмотров)
Тип файла: 7z ssf.sigz.7z (163.2 Кб, 8 просмотров)
1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
06.12.2014, 21:24  [ТС]
Попытался через stuns запускаю команду в строке
Кликните здесь для просмотра всего текста
stuns.exe -x interfaces.pck

Мне выдает это
Миниатюры
Нужно распаковать PCK-файл  
0
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
06.12.2014, 21:32  [ТС]
С SSF что-то я совсем не понял , я ввожу команду
Кликните здесь для просмотра всего текста
ssf.com interfaces.pck

ничего
Миниатюры
Нужно распаковать PCK-файл  
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
06.12.2014, 22:37
Лучший ответ Сообщение было отмечено gromx как решение

Решение

Цитата Сообщение от gromx Посмотреть сообщение
выдает это
С кем не бывает... Попытка "распаковать" мусор этим и должна была закончиться.

ввожу команду
Не забудьте рядом с SSF положить (маленький) файл с сигнатурами ssf.sigz (из архива) - тот, в котором прописана сигнатура "78DA ; ZLib -> Best". Результат смотрите в файле interfaces.pck.ssf. "Большой" файл (из поставки программы) вам сейчас не нужен, он оставлен просто для справки.
1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
06.12.2014, 23:44  [ТС]
Ну вроде все получилось )

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

1: 00005EFF -> ZLib --> Best
2: 00006B9C -> ZLib --> Best
3: 00014507 -> ZLib --> Best
4: 00015576 -> ZLib --> Best
5: 00019CF7 -> ZLib --> Best
6: 0001B567 -> ZLib --> Best
7: 0001C69F -> ZLib --> Best
8: 00021DAE -> ZLib --> Best
9: 0002D490 -> ZLib --> Best
10: 000302AB -> ZLib --> Best
11: 00041A06 -> ZLib --> Best
12: 0005462C -> ZLib --> Best
13: 0005C7AC -> ZLib --> Best
14: 0005F8D1 -> ZLib --> Best
15: 00060529 -> ZLib --> Best
16: 00066CD0 -> ZLib --> Best
17: 0006F70A -> ZLib --> Best
18: 0009C936 -> ZLib --> Best
19: 000EC5EE -> ZLib --> Best
20: 000ED2C6 -> ZLib --> Best
21: 000F5540 -> ZLib --> Best
22: 000FF74F -> ZLib --> Best
Миниатюры
Нужно распаковать PCK-файл  
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
07.12.2014, 00:04
Цитата Сообщение от gromx Посмотреть сообщение
все получилось
На самом деле, это только предварительный шаг. Во-первых, метод компрессии может быть и другим - с другой сигнатурой (Store, Fast, Good), так что, возможно, это не все записи. Во-вторых, какие-то сигнатуры могут оказаться ложными - просто найденными внутри сжатого потока (там можно найти все, что угодно).

Так что, пока нет полной структуры заголовка (вероятно, содержащей (зашифрованные?) имена ресурсов, их размеры/позиции) радоваться рано. Pseudo-XML тоже содержит какие-то двоичные данные... все это требует изучения.
1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
07.12.2014, 00:35  [ТС]
gazlan, Ну то что это только начальные шаги я уже понял) , Как сделать полную структуру заголовка ? Возможно мне стоит прочитать пару книг про такие методы ? Если такие книги?
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
07.12.2014, 01:23
Цитата Сообщение от gromx Посмотреть сообщение
Как сделать
Как обычно - путем длительной медитации.

Я бы начал с картирования файла: разбиваете весь файл на зоны, для каждой выясняете размер и смещение, "белых пятен" быть не должно.

ZIP-streams, скорее всего, идут подряд. Проверяете (распаковкой), что поток найден корректно и (обратной запаковкой тем же методом), что размер его определен верно. Оригинальный и перепакованный потоки должны совпадать байт-в байт.

Имея карту смещений и размеров (естественно, в HEX), можно пытаться разобрать заголовок - скорее всего, там должны быть поля, либо содержащие указанные смещения, либо смещения, отсчитываемые от конца заголовка, либо поля содержащие размеры блоков (тогда смещения будут расчитываться нарастающим итогом)... короче говоря, нужно иметь по крайней мере несколько точно определенных записей, чтобы понять систему. Кроме того, в заголовке могут быть и какие-то служебные поля, назначение которых не понять без анализа самой программы (выбор языка, тип ресурса, бонусы итд). Тут все индивидуально, общих рекомендаций нет.

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

Я, обычно, начинаю с того, что пишу дампер, который, изначально, просто читает входной файл и выдает его как серию блоков (ex. массив DWORDs). По мере понимания того, "что есть что", эти блоки разделяются/сливаются на осмысленные записи с комментариями.

То есть, на выходе у меня листинг вида:
Code
1
2
3
4
offset1  size1  title1  ;  comment1
offset2  size2  title2  ;  comment2
...
offsetN  sizeN  titleN  ;  commentN
И после некоторого количества итераций получаю полностью документированный формат.

Как инструмент, порекомендовал бы SweetScape 010 Editor.
Во-первых, в нем неплохой Data converter, это может помочь в понимании назначения полей, и во-вторых, можно определять и накладывать на файл собственные структуры данных (как альтернативу или дополнение к дамперу). Примеры найдете в документации к редактору.

Дополнительно, удобны Hiew (быстрая "смотрелка", доступна бесплатная Demo-версия) и IDA (как средство документации для бинарного файла).
1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
07.12.2014, 02:33  [ТС]
Простите но вы сейчас мягко говоря подорвали мой мозг)) Пойду сделаю кофе и буду "вдуплять" что к чему))
0
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
07.12.2014, 02:59  [ТС]
Правильно ли я понял
1. В основном первая десятка файлов это и есть то , что надо будет разбивать на зоны ?
Остальное можно считать мусором
Миниатюры
Нужно распаковать PCK-файл  
0
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
07.12.2014, 03:09  [ТС]
Или только именно вот эти надо будет разбивать на зоны
Которых нету в в списке файлов после работы с stuns
Кликните здесь для просмотра всего текста

1: 00005EFF -> ZLib --> Best
2: 00006B9C -> ZLib --> Best
3: 00014507 -> ZLib --> Best
4: 00015576 -> ZLib --> Best
5: 00019CF7 -> ZLib --> Best
6: 0001B567 -> ZLib --> Best
7: 0001C69F -> ZLib --> Best
8: 00021DAE -> ZLib --> Best
9: 0002D490 -> ZLib --> Best
10: 000302AB -> ZLib --> Best
11: 00041A06 -> ZLib --> Best
12: 0005462C -> ZLib --> Best
13: 0005C7AC -> ZLib --> Best
14: 0005F8D1 -> ZLib --> Best
15: 00060529 -> ZLib --> Best
16: 00066CD0 -> ZLib --> Best
17: 0006F70A -> ZLib --> Best
18: 0009C936 -> ZLib --> Best
19: 000EC5EE -> ZLib --> Best
20: 000ED2C6 -> ZLib --> Best
21: 000F5540 -> ZLib --> Best
22: 000FF74F -> ZLib --> Best
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
07.12.2014, 03:15
Порылся на диске, нашел почти готовое решение от Luigi Auriemma.
Вложения
Тип файла: 7z Offset file unzipper 0.3.5.7z (94.7 Кб, 13 просмотров)
Тип файла: 7z dumped.7z (129.4 Кб, 10 просмотров)
1
0 / 0 / 0
Регистрация: 06.12.2014
Сообщений: 23
07.12.2014, 03:20  [ТС]
В плане готовое ? Готовый способ распаковать это?
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
07.12.2014, 03:36
Цитата Сообщение от gromx Посмотреть сообщение
первая десятка файлов
Offset file unzipper нашел их 5+ сотен (с опцией -a). Посмотрел наугад несколько - выглядят корректно. К сожалению, неизвестны размеры исходных блоков, но можно их приблизительно оценить как разность смещений для последовательных файлов. Рассортируйте их по offsets, и действуйте, как было написано выше. Думаю, по первой десятке (с наименьшим смещениями) уже станет понятно устройство таблицы.

Добавлено через 4 минуты
Цитата Сообщение от gromx Посмотреть сообщение
В плане готовое ?
В том смысле, что уже есть большой набор корректных смещений. Эти файлы распакованы (и им даже присвоено корректное расширение), но без знания устройства заголовка модифицировать файл вам не удастся.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2014, 03:36
Помогаю со студенческими работами здесь

Как запаковать и распаковать файлы? Ну хотя бы распаковать?
Как распаковать архив 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 получился...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru