Перейти к содержимому
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. Я же спрашивал, как можно было бы сделать проще этого.

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

    • The Miracle: «Художественный» развод или как продать вам старый перевод под видом «с японского» Хочу познакомить вас с шедевром лингвистического мошенничества от «многоуважаемой» (читай: наглой) команды The Miracle. Ребята решили «осчастливить» нас своим «авторским ХУДОЖЕСТВЕННЫМ переводом высокого качества с ЯПОНСКОГО языка» для Digimon Story Cyber Sleuth. Вот их громкий анонс: https://vk.com/the_miracle_ru?w=wall-153480104_34797 Цитирую их перл самолюбования: С японского. Да-да, вы не ослышались. Это тот самый волшебный аргумент, который оправдывает сбор 2000 рублей с наивных поклонников. Жаль только, что это наглая ложь. Дело в том, что перевод этой игры уже давно слили и доступен бесплатно. The Miracle же, судя по всему, просто взяли его, сделали минимальные косметические правки, чтобы скрыть, и с умным видом заявили о «переводе с японского». А фраза про «текстуры и видео-ролики» это просто дымовая завеса, чтобы их «уникальность» хоть как-то оправдалась. А теперь самое вкусное — сравнение с японским оригиналом. Давайте посмотрим, как их «художественный перевод с японского» на самом деле соотносится с реальностью. сверху их «шедевр», снизу японский оригинал и перевод. «Шедевр» The Miracle
      Японский оригинал
      Адекватный перевод/Как должно быть

      Вы не на ту напали! (Агрессивно и невпопад. Создаёт образ деревенской разборки)
      か、カンチガイしないでよね…!? (Фраза девушки: «Ты меня неправильно понял!» или «Не подумай ничего такого!»)
      Не пойми неправильно...?! (Передаёт испуг и лёгкую панику, что соответствует контексту)

      Что-что? «Отойди в сторонку, Нокиа! Оставь этих слабоков мне!»(Грубый, просторечный сленг. «Слабоки» слово из школьного жаргона. Полностью убивает атмосферу и характер говорящего.)
      …なにナニ?“あんなザコソン相手に、ノキアさまが出るまでもないわたしにお任せくだされい”? (Персонаж типа говорит очень почтительно, с самоуничижением, обращаясь к госпоже. Это видно по окончаниям «~сама» и «~кудасарей»)
      ...Чего-чего? «Не стоит госпоже Нокие самой иметь дело с таким мелким сошкой, позвольте мне разобраться»?(Передаёт почтительный и комично-формальный стиль речи оригинала, сохраняя характер персонажа.)

      Д-да, хорошо сказано, Такуми! Вот это я понимаю! Задай им как следует!(Опять сленг и неестественная для вселенной речь. «Задай им как следует» уровень перевода с английского фансаба 2000-х.)
      う、うむ… よくぞ言った、それでこそわが弟子、ゴローならば、思うゾンブン バトるがよいぞよ〜!(Наставник хвалит ученика. Речь старая, немного архаичная («~ぞよ»).)*
      У-угу… Хорошо сказано! Вот это мой ученик! Что ж, давай сражайся от всей души! (Передаёт дух оригинала: похвала учителя.) Можно дальше продолжать… но не будем. Если посмотреть этот момент со слитым с  английского перевода, то правки минимальны и ясно даёт понять что нет никакого японского. Вывод? Это не перевод с японского. Это крайне посредственный и грубый рерайт английского перевода, выдаваемый с японского. Они даже не потрудились свериться с оригиналом, чтобы правильно передать манеру речи персонажей. И всё это великолепие предлагается вам за 2000 рублей. Плюс их знаменитые кривые шрифты, которые они «за несколько лет так и не поправили». Вот так «The Miracle» творят свои «чудеса»: берут английский и выдают что с японского, прикрываются громкими словами и нагло просят денег. Не ведитесь на этот развод.  
    • около месяца назад видел за 12к : 5600g+материнка+32гб , и еще месяца три назад такое же , но за 11к
      естественно на Авито. как только данные процессоры вывели из рекомендуемых для сборок (отдав предпочтение их аналогам на AM5) народ начал скидывать целиком свои базовые сборки.  
    • жижа терраформ инструмент инженеров. Содержит генетические данные для развития вида тех самых инженеров. Инженеры запускают ее на планеты — уничтожая там базовую жизнь (с помощью чужих), если она есть и создавая флору и фауну под себя. Спустя некоторое время, когда вся базовая жизнь уничтожена — чужие вымирают от голода и зарождается базовая геномная ветка инженеров. Они НЕ размножаются с помощью патогена и человека — люди и есть неудачный образец инженера, конечная точка развития геномных линий из жижы , но с ошибками.   вопрос давно Изучен Создателями фильма и описан в интервью после выхода Прометея и Завета.  с тобой все ясно… ЛОР расширяется создателями через Официальные игры, комиксы , книги и фильмы.
    • Фига се, одна из моих любимых игр с первой соньки. Вроде даже ремейк планировали, но видимо не будет. Может и куплю даже как-нибудь, всё-таки ачивки есть.
    • Ну если автор решил добавить такой шрифт в свою игру, значит он имеет место там быть. Лично мне — да, очень нравится, стилистически стало атмосферней.
    • там длаа, 4 пресета длсс, и выкл. Всё.     Очень зря.
    • просто нужно сначала выключить выбранное сглаживание чтобы стали доступны другие. А производительность и правда неплохо так подросла с демо версии. там есть уровни сложности, я вот средний выбрал.)
    • @\miroslav\ да, она там есть< просто внимания не обратил, но оно не активно.   
  • Изменения статусов

    • Дмитрий Соснов  »  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 | Реклама на сайте.

×