Перейти к содержимому
Zone of Games Forum
H0R

.pak и .bin файлы из Re-Mission

Рекомендованные сообщения

Два файла, доминирующих в ресурсах игры, причём наиболее интересен именно Resource.PAK, поскольку в NavigationNetwork.BIN, по-видимому, содержится информация о вейпойнтах, расположении объектов и пр., но мало ли. Я пытался вскрыть оба в DragonUnPacker, MultiExCommander и ещё в некоторых, но они категорически отказались воспринимать файлы. Зато при просмотре в WinHex и даже WinRAR Viewer хорошо видны заголовки внутренних файлов, а в некоторых частях - и их содержимое (в основном .ini).

http://www.myfolder.ru/files/40929765

Есть предложения, как распаковывать/запаковывать?

Поделиться сообщением


Ссылка на сообщение

Разобрал структуру Resource.pak

Сначала идут блоки с информацией о файлах, размером 320 байт.

В данном случае этих блоков: 0x76 = 118

А потом сами данные файлов.

thumb.png

Распакованные файлы: Resource.pak_u.rar

------------- updated -------------

Написал скрипт для распаковки:

; ----------------------------------------------------------------------------; AutoIt Version: 3.3.8.1; Author: OLEGator (icq 221221576); Script Function: Extract files from *.pak container. Game Re-Mission; Script Date: 08.06.2014; ----------------------------------------------------------------------------$sScriptName = "Re-Mission pak extrctor v.0.1"$sPak_File = FileOpenDialog ($sScriptName, @ScriptDir, "Файлы контейнера (*.pak)|Все файлы(*.*)")If $sPak_File = "" Then Exit ; Если ничего не выбрали, выход.$hPak_File = FileOpen ($sPak_File, 16) ; открываем файл для чтения в бинарном режимеFileSetPos ($hPak_File, 4, 0) ; встаём на позицию чтения количества файлов$iFilesNum = _BinaryToInt32 (FileRead ($hPak_File, 4)) ; читаем количество файловFileSetPos ($hPak_File, 12, 0) ; встаём на позицию чтения блоков с данными о файлахFor $i=1 To $iFilesNum$bDataBlock = FileRead ($hPak_File, 320) ; читаем текущий блок в память$sFileName = Binary ("")$sFilePath = Binary ("")$iPathPos = ""For $j=1 To 320$bCurByte = BinaryMid ($bDataBlock, $j, 1)If $bCurByte <> Binary ("0x00") Then$sFileName &= $bCurByteElse$iPathPos = $j ; запоминаем позицию, 0x00ExitLoopEndIfNext$sFileName = BinaryToString ($sFileName, 1)For $j=$iPathPos+1 To 320$bCurByte = BinaryMid ($bDataBlock, $j, 1)If $bCurByte <> Binary ("0x00") Then$sFilePath &= $bCurByteElseExitLoopEndIfNext$sFilePath = BinaryToString ($sFilePath, 1)$iOffset = _BinaryToInt32(BinaryMid ($bDataBlock, 265, 4))$iFileSize = _BinaryToInt32(BinaryMid ($bDataBlock, 281, 4));MsgBox (0, "", "Полное имя: "&$sFileName&@CRLF&"Путь к файлу: "&$sFilePath&@CRLF&"Смещение: "&$iOffset&@CRLF&"Размер: "&$iFileSize)$iOldPos = FileGetPos ($hPak_File) ; запоминаем позициюFileSetPos ($hPak_File, $iOffset, 0) ; встаём на позицию файла$bCurFileData = FileRead ($hPak_File, $iFileSize)$hExtractedFile = FileOpen ($sPak_File & "_u\"& $sFilePath, 2+8+16) ; открываем файл для запииси в бинарном режимеFileWrite ($hExtractedFile, $bCurFileData)FileClose ($hExtractedFile)FileSetPos ($hPak_File, $iOldPos, 0); возвращаемся на старую позициюNextMsgBox (0, $sScriptName, "Готово!" &@CRLF&"Извлечённые файлы в: "& $sPak_File & "_u\")Func _BinaryToInt32($Binary)Return BitAND(Int(Binary($Binary)), 0xFFFFFFFF)EndFunc

 

Re-Mission_pak_extrctor_v.0.1.rar (зеркало)

Изменено пользователем OLEGator84

Поделиться сообщением


Ссылка на сообщение

Обрати внимание на файлы с расширением stt, там не все так просто, ты их не целиком достаешь.

Поделиться сообщением


Ссылка на сообщение

Ну я так понял, это и есть субтитры диалогов.

Точняк в HEX видны диалоги на других языках

Изменено пользователем OLEGator84

Поделиться сообщением


Ссылка на сообщение

Хотя так, наверное, даже лучше, проще обратно запаковать будет, только надо будет учесть что эти файлы разбиты на блоки и соответственно двинуть офсеты двух следующих блоков.

Поделиться сообщением


Ссылка на сообщение

Пофиксил.

Re-Mission_pak_extrctor_v.0.2.rar (зеркало)

Вставил вот такой фрагмент:

If StringRight ($sFilePath, 4) = ".STT" Then$iFileSize2 = _BinaryToInt32(BinaryMid ($bDataBlock, 289, 4))$iFileSize3 = _BinaryToInt32(BinaryMid ($bDataBlock, 293, 4))$bCurFileData &= Binary ("0x0D0A") & FileRead ($hPak_File, $iFileSize2)$bCurFileData &= Binary ("0x0D0A") & FileRead ($hPak_File, $iFileSize3)EndIf

 

Изменено пользователем OLEGator84

Поделиться сообщением


Ссылка на сообщение

OLEGator84, большое спасибо за работу.

Однако я заметил, что при распаковке идёт отсечение имени файла и пути к нему в зависимости от длины заголовка, что как раз видно в WinHex. Скажем, world_26.msh должен лежать внутри архива в папке LEVEL026 (как и прочие файлы), но она обрезается до 026 и создаётся совершенно новая папка.

Поделиться сообщением


Ссылка на сообщение

Действительно, должно быть именно так, но в файле записано иначе: world_26.msh[0x00]026\world_26.msh

Я не знаю почему так.

Изменено пользователем OLEGator84

Поделиться сообщением


Ссылка на сообщение

Прошу прощения, что меня так долго не было.

Теперь очевидный вопрос: как запаковать изменённые файлы назад? Если файл имеет другой размер, то изменяется его смещение, а значит и смещения следующих за ним файлов. Так ведь? Я попытался было внедрить свой фрагмент самостоятельно, но это спровоцировало ошибку и последующий вылет; очевидно, RM.exe проверяет состояние ресурсных файлов. Но как-то же мне нужно тестировать шрифты, тестировать перевод, тестировать всё!

Допустим, запаковать TUTINTRO1.vtt с заменой в изначальный Resource.pak. Естественно, без перерисованных шрифтов (я как раз активно работаю над ними) прочитать субтитры будет невозможно, но в французской версии хотя бы должна отображаться латиница с закорючками - свидетельство того, что содержимое Resource.pak читается правильно.

http://myfolder.ru/files/41439153

Поделиться сообщением


Ссылка на сообщение

Можно просто дописать данные нового файла в конец, поправить смещение и размер в структуре.

Поделиться сообщением


Ссылка на сообщение

По скриншоту чем-то zip напомнило... Там т.ж. описания ф-лов со смещениями дублируются в начальном блоке...

Поделиться сообщением


Ссылка на сообщение
чем-то zip напомнило...

Между прочим. Об этом следовало сказать сразу, но тем не менее: в коренной папке игры не спроста находится файл zlib1.dll.

Zlib же основан на аглоритме DEFLATE - как и zip. Можно ли сделать из этого какие-либо выводы?

Поделиться сообщением


Ссылка на сообщение

1) Большинство программистов любят кофе;

2) 90% программ используют zip как контейнер состовляющих внутренних форматов;

3) Перед тем как анализировать файлы стоит поглядеть на используемые программные модули: в простейшем случае dll используемые программой через PE;

4) Лень двигатель человека, а человек дрова для прогресса;

5) Если хочешь чтобы что-то сделали хорошо, сделай это сам;

6) Самый точный показатель умственных способностей, отражет также количество прочтенных человеком книг;

7) Местных анпакеров интересует больше какой файл нужен, а не где скачать все версии игры т.к. они работают только через набор стандартных утилит, которые не хотят показывать другим;

8) На форуме нет закрепленной темы посвещенной quick bms;

etc

Поделиться сообщением


Ссылка на сообщение

 

AwsomeEpicCool, не надо мне тут мораль читать и демагогию разводить. Я могу редактировать нужные файлы и в hex. Я же спрашивал, как можно было бы сделать проще этого.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас популярно

  • Продвигаемые темы

  • Последние сообщения

    • @ivdos Я шрифт делал через Falcom.Font.Creator.1.3 — по этому в настройках сильно не разбирался, тут не обессудьте. Я сначала перекинул тоже шрифт от 1 части — но там английских символов просто не было (каша из кириллицы), по этому прогнал через софт. Можешь свой шрифт загрузить сюда — люди скачают и поставят исправленный. @Dusker Как сказал ivdos не было, или платный (у очень сомнительных людей) или до сих пор создаётся вручную другой командой и выйдет он не скоро. Но в открытом доступе никакого не было.
    • Есть deepl, за 500 рублей не редаченный.
    • Wulf84 еще в прошлом году выпустил русификатор для отличного хоррора Clickolding. Wulf84 еще в прошлом году выпустил русификатор для отличного хоррора Clickolding.
    • А разве его(перевода машинного) нету? Регулярно новости публикуют о том что перевели машиной, даже те части которые уже далеко вперед ушли.
    • Clickolding Метки: Психологический хоррор, От первого лица, Научная фантастика, Сексуальный контент, Глубокий сюжет Платформы: PC Разработчик: Strange Scaffold Издатель: Strange Scaffold, Outersloth Дата выхода: 17 июля 2024 года Отзывы Steam: 1455 отзывов, 82% положительных
    • Отдельно и важно: требуется консультация специалиста по движку OGRE, который знает как запускать игры на этом движке под Linux. Или специалиста по Linux играм. Читал что OGRE вроде бы поддерживает Linux. Интересует ответ на вопрос: Что нужно сделать, что бы запустить эту игру нативно ну или в крайнем случае через эмулятор стима.
    • @SamhainGhost смастерил нейросетевой русификатор для 3D-платформера Hirogami. @SamhainGhost смастерил нейросетевой русификатор для 3D-платформера Hirogami.
    • Конкретно в настройках хз, но форматирование у тебя было не поломанное. Просто в шрифте не было нужных символов вот оно тебе ‘ÿ’ и вставляло.
      Вот со шрифтом который я честно украл из первого колдстила русским. Плюс ты захреначил слишком высокое разрешение у шрифта. Если шрифт не hd, то надо выставлять resolution = 32. Я если что пилил скрипт на пайтоне который конвертит любой шрифт в игровой еще и подхватывает недостающие глифы из оригинальных шрифтов.
      Первый скрин как должно выглядеть с нормальными шрифтами. Насчет настроек, там скорее всего ограничение на текст, он слишком длинный и поэтому движок ломает его. Попробуй короткий текст вставить для проверки.
    • @ivdos Здесь отвечает файл t_text.tbl. Если стоит английский текст этих строк (“Громкость”, “Настройки камеры”) всё ок, но вот русский сразу ломается — будто шрифт без русских символов. Хотя шрифт я создавал новый. Можешь поэкспериментировать, вдруг найдёшь причину. На счёт других проблем в тексте — если найдёте можете спокойно раскрывать файлы и править их. Я создал этот русификатор, потому что бесплатного в открытом доступе нету, а ждать от команд (лично я) не собираюсь — хочется знать, что можно начать играть здесь и сейчас. По этому выложил его сюда на растерзание, так как перевода бы ещё долго не появилось, я так смотрю по форуму. @HoeBromin Замечательно, что занимаются 3 и 4 частью. Будем ждать. Я сам по себе работаю когда возникает потребность, этот сделал, как сказал, для себя здесь и сейчас чтобы можно было нормально играть, и тем кому нужно будет — спокойно скачают себе. Можете спокойно брать файлы, и дорабатывать русификатор на полноценный.
  • Изменения статусов

    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
    • AlcoKolyic  »  makc_ar

      Здраствуйте! Извините, а можно попросить ссылку на место где можно взять перевод (патч или образ игры с переводом) El Shaddai: Ascension of the Metatron для ps3, пожалуйста? А то в теме к этой игре у меня не получилось найти работающие ссылки… Первая ведет в группу в которой удалены большинство постов, а пост с этой игрой ведет на сайт https://psnext.ru который сейчас не имеет отношения к видеоиграм. 
      · 0 ответов
    • oleg72  »  Boor

      https://www.skidrowcodex.net/fate-reawakened-goldberg/
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2025 | Реклама на сайте.

×