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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

    •  Это называется “синдром Даскера” просто Питон настолько соскучился по мастеру межпространственных забегов что начинает мимикрировать его привычку ассоциировать себя с женским полом, вероято очень скоро он может сменить аватарку на страдающий, окровавленный лик аниме гал,) очень опасная и в тоже время интересная ситуация, с одной стороны мы можем потерять Питона но с другой получить нового Даскера, также есть очень маленький шанс что произойдет чудо и эти 2 личности найдут некий баланс и мутирую в нечто новое и прекрасное, в этом случае мы получим совершенно новое существо Питоно-Даскер или ПиДастонкер 
    • Обновил русификатор до актуальной версии.
    •   FROGGY HATES SNOW Жанры: экшен, инди, рогалик
      Платформы: Windows (PC)
      Разработчик: CRYING BRICK
      Издатель: Digital Bandidos
      Дата выхода:  7 мая 2026 г. Отзывы Steam: Очень положительные (94% положительных отзывов из 69)           Перевёл на русский язык с использованием нейросети + шрифты.   Совместимая версия:   ver 1.0.2 билд 23134861 от 7 мая 2026 года , пока актуальная.  Лучше не ставьте на другую версию игры во избежании проблем. Скачать для PC: Boosty Установка: 1. Распакуйте архив. 2. Cкопируйте папку «FROGGY HATES SNOW_Data». 3. Откройте Steam → нажмите на шестерёнку (Настройки) → Управление → Показать локальные файлы. 4. Вставьте её в основную папку игры. 5. При запросе на замену файлов нажмите «Да». 6. В главном меню переключите на украинский язык. Также на бусти есть видеодемонстрация перевода.    
    • Прошла игру. Отличный квест, украл меня конкретно на пару вечеров. Сеттинг необычный, я, скорее всего, не поняла много отсылок, потому что не знакома с кино 80-х, но даже так общий вайб почувствовался. Вообще, ощутимо сколько стараний было вложено и создателем игры, и переводчиком. После прохождения ощущение, будто прочитала хорошую книгу или посмотрела сериал. Еще раз спасибо за перевод!
    • На первом треке сильно “песочность” заметна (вокал аж режет слух). На втором меньше, видимо попытались “заретушировать”, но всё равно слышно. Не понимаю, как вы могли услышать чистейшее звучание в первом треке? Прислушайтесь к вокалу, он грязный. Почему вы не слышите может зависеть от двух факторов, точнее от двух видов слуха: Объясню своими словами, как я это понимаю. Есть слух физический и есть слух, назовём его, умственный (не знаю, как это научно называется). Физический слух — это когда колебания молекул воздействует на слуховой аппарат (барабанную перепонку, косточку и улитку), которые переводят механические колебания в сигналы, которые по слуховому нерву попадают в мозг. Умственный слух — это то, как наш мозг обрабатывает полученную информацию (это уже и музыкальный, и фонетический, и куча других слухов). Так вот, проблема может быть в физическом слухе. Например, с какого-то момента человек может не слышать частоты выше определённой высоты в силу возраста, травм и т.д., а т.к. эта грязь находится в диапазоне высоких частот, то можно будет её не услышать. На женском вокале это будет тоже отражаться и на звуке барабанных тарелок. Но может, у человека физический слух в порядке, но тогда уже вопросы возникают к умственному. А суть в том, что человек просто не понимает, что ему нужно услышать. Т.е. физически он слышит грязь, но мозг не натренирован и ему кажется, что звучит чисто (хотя на самом деле нет). И если он будет понимать, что слышать, то будет замечать грязь постоянно. Это часть музыкального слуха (очень малая часть). Ну, может ещё зависит от аппаратуры, но это должна быть аппаратура с убитыми верхами. А вот ещё примеры других треков от нейронок (треки сами по себе мне нравятся), как-то Ютуб порекомендовал и я сразу понял, что что-то не так (напомню, прислушивайтесь к вокалу и к тарелочкам).
      В этом треке хорошо слышна грязь, т.к. авторы завысили верха:
      https://www.youtube.com/watch?v=_p8ns2jjCRY
      И ещё несколько примеров, в них получше, но тоже слышно (особенно когда вовремя женского вокала почти ничего не играет):
      https://www.youtube.com/watch?v=pJkNypPFkSE
      https://www.youtube.com/watch?v=zoZVYaSaf0M
      https://www.youtube.com/watch?v=Z3m4OQNoANM И напоследок. Недавно смотрел разбор на Мафру, от преподавателя по вокалу. Она тоже сказала, что Мафра это не ИИ, т.к. нету в голосе “дебильного компьютерного призвука”. Я тоже не слышу, но, например, в кавере Doomed есть другой высокочастотный звук, который свидетельствует о том, что она делала минусовку через нейронку (я сам этим балуюсь иногда). У этого учителя (женщины) явно хорошо развит слух и она понимает, что выдаёт нейронку:
      https://youtu.be/K8LSNkpG8eU?t=751
    • Резко оживаю в теме. Перевод не заброшен, оформляются последние штрихи, а именно редактура полностью переведенного текста и тесты в игре. В скором времени будет долгожданный релиз!
    • Какие? Оо Никто никаких предложений, кроме тебя не делал)) Конкретно по части исправлений и переделок) Сделаешь обзор отлично, но по части исправлений, тут нужно желание, мотивация и техническая возможность. @BoneFyero ясно дал понять, что выложил русификатор как есть, доводить до совершенства: Он не планирует))) О чём не единожды написал. Так что как говорится “спасение утопающий дело рук самих утопающих” — хочешь вылизать перевод и довести его до своего идеала — всё в твоих руках, но на других глядеть не надо  Тем более у тебя свой уникальный взгляд на то как должен выглядеть перевод)) И даже если кто-то захочет сделать свой русификатор для этой игры — крайне маловероятно, что он воспользуется твоими советами по доработке.
    • С одной стороны — да, с другой стороны, тут другие люди тоже давали свои предложения. Если я собрался сделать летсплей без микрофона по этому переводу, то стоит ли мне закинуть его сюда, чтобы все могли заметить, как перевод выглядит во всей игре, и надо ли его менять (и если да, то где и как)?
    • Угу, прям всё своё )), особенно тех времён, поэтому они прям массово в свой строй нацизма впитывали всё из других древних культур. В принципе нацистская германия — это сборная солянка всего понемногу, вот и опошлили своей идеологией многие древние культурные ценности.
    • Нет ничего не возможного, скорее всего там ничего сложного Не знаю, пишите ему
  • Изменения статусов

    • Jimmi Hopkins  »  SerGEAnt

      Это не просто перевод, а полноценная авторская сценарная адаптация. Диалоги переписаны так, чтобы персонажи звучали живо, остро и в характере. Добавлен чёрный юмор там, где авторы постеснялись. Убраны лорные противоречия, докручены мотивации. В результате игра стала умнее, злее и смешнее оригинала.
      · 0 ответов
    • ElikaStudio

      Долгожданный релиз полного сезона состоялся!
      https://youtu.be/mwBk2stm2OQ?si=qpJojB_XDABaC0We
      https://vk.com/video-48153754_456239394?sh=4&list=c62797c2b7d0725d6e
      Life is Strange: Before the Storm:
      Эпизод 1: "Прoбуждeниe"
      Эпизод 2: "О дивный новый мир"
      Эпизод 3: "Ад пуст"
      Бонусный эпизод: "Прощание"
      Русская озвучка уже доступна для скачивания!
      ElikaStudio выражает огромную благодарность всем, кто принял участие в создании проекта! 
      Группе Mechanics VoiceOver R.G. MVO , в частности их руководителю Дмитрию за неоценимую помощь в выпуске эпизода.
      Скачать для PC Classic (2018):
      GDrive: - https://drive.google.com/file/d/19CL_L80Mz0sIxcb54Ss64byAkeZmV22r/view?usp=sharing
      Скачать для PC Remastered (2022):
      GDrive: - https://drive.google.com/file/d/13q58Lpvw5_aYPYeZ7OGYZlAKOoS1gEbL/view?usp=sharing
      Скачать для Свитч(2022):
      GDrive: - https://drive.google.com/file/d/15e—T1LQiGQCYIHeNnj_C2qJA16Gvh1i/view?usp=sharing
      Ручная установка PC(оба издания):
      https://drive.google.com/drive/folders/1MJPd8965m4XxxAuOBt8enSHtv8_yy5xh?usp=sharing
      Баг репорт в обсуждении:
      https://vk.com/topic-48153754_55571577
      ___________________________________________
      Финансовый аппарат:
      www.donationalerts.com/r/elikastudio
      Пожертвовать средства на наши проекты:
      Кошелек ЮMoney 4100 1188 6818 3009
      карта Сбер банк 2202 2018 6334 1042
      карта Альфа банк 5559 4937 0209 8584
      Спасибо за вашу поддержку!
      #elikastudio #русскаяозвучка
      · 0 ответов
    • fox222  »  Siberian GRemlin

      Здравствуйте, хочу купить персональный доступ к переводам, сколько стоит?
      · 1 ответ
    • vitkach  »  eaZy

      Извините за беспокойство. Хотел спросить, а русификатор ещё когда-нибудь будет обновляться? Дело в том, что после его выхода выходили ещё обновления, в частности обновление 1.1, вышедшее летом 2023 года, где была добавлена целая сюжетная глава в конце если проходишь на лучшую концовку золотого пути, это где-то ещё полчаса диалогов. Также в игре присутсвуют иногда кракозябры вместо русского языка, это в основном связано с тем, что кое-где текст был изменён, в основном в обучающих сообщениях.
      · 0 ответов
    • TerryBogard  »  Siberian GRemlin

      C&C: RA: Retaliation (ПК) не работает.
      · 0 ответов
  • Лучшие авторы


×