Декодирование NovaPack (NPK) двоичного формата - PullRequest
1 голос
/ 22 ноября 2010

Я пытаюсь извлечь и заменить некоторые ресурсы в игре для Mac "Luxor 3" на свои собственные. Внутри папки Contents / Resources находится большой файл data.npk.

Открыв его в шестнадцатеричном редакторе, я вижу «NovaPack» в заголовке и ряд строк, ссылающихся на типы файлов, которые я ищу для извлечения (в данном случае, ogg, для аудио).

Я обнаружил в Интернете несколько программ, в которых утверждается, что они распаковывают файлы NPK из других игр, но все они работают в Windows и не могут распаковать данные из этой игры.

Я достаточно компетентный программист на Си и мог бы создать утилиту командной строки для извлечения файлов, которые я ищу, если бы я знал точный формат данных файла NPK. Предположительно, заголовок содержит «имя файла» каждого упакованного файла, а также смещение и размер его содержимого. Без сомнения, часть кода в игре Luxor собирает ресурсы в памяти на основе этой информации.

Кто-нибудь имеет какой-либо опыт работы с этим форматом конкретно или общие рекомендации относительно дальнейших шагов по расшифровке структуры любого проприетарного формата данных?

1 Ответ

1 голос
/ 12 августа 2011

Думаю, вас может заинтересовать проект NPK . Это в первую очередь на С, поэтому я верю, что оно подойдет для вашей цели.

Они даже заявляют это на странице проекта:

Если вы находите независимую от платформы, простую в использовании и безопасную систему упаковки, выберите npk. Он работает в большинстве современных операционных систем, а также поддерживает мощные инструменты для управления вашим пакетом.

...