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

Необходима помощь со вскрытием *.resources файлов.

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

Здарова всем!

Собственно, внезапный вопрос образовался. В свое время залипал в mmotps под названием warkeepers. На самом деле залипал не долго, ибо игра в скором времени благополучно отдала концы где-то в районе 2013го, ибо до этого перешла из лап одной конторы в другую, а те не то, что бы хотели в нее вкладываться. Но зато от этой игры остался клиент, о котором я недавно вспомнил и со скрипом откопал в интернетах.

На сколько мне известно, игра использовала не сильно модифицированный движок Cube 2 Engine. По крайней мере игра имела слишком много отличительных особенностей оригинала, например, они поленились даже звуки с некоторыми моделями заменить. Но в отличие от оригинала, все барахло оказалось запаковано ими в 36 *.resources файлов и просто так открыть их не представляет возможным. 

По крайней мере, мои попытки почти не к чему не привели. Максимум, что мне удалось, это через MultiEx Commander (остальной подобный софт, приведенный в местной теме тупо ничего не нашел) вытащить некий Content.bin файл, размер которого был равен изначальному *.resources файлу. Плюс, открыв, например data10.resources через блокнот среди кракозябр я нашел там следующий текст

Цитата

packages/base/airfild.cfg packages/base/airfild.dds packages/base/airfild.ogz packages/base/airfild.wpt packages/base/airfild_01.cfg packages/base/airfild_01.dds packages/base/airfild_01.ogz packages/base/airfild_01.wpt

Что как бы намекает, что данные файлы таки чем-то заполнены, а так же расширения указывают на наличие в данном файле игровых уровней для Cube 2 Engine.

https://yadi.sk/d/efAzHR8utdJe9Q — ссылка на 3 файла для примера. 

Собственно говоря, хочу вытащить из этих файлов вообще все, что можно и нельзя. В идеале - с сохранением путей, но это вторично. Любопытно взглянуть на то, что разрабы с двиглом накуролесили и если хранящиеся в файлах ассеты будут совместимы, то скинуть их Cube 2 Engine коммьюнити, если они им нужны вообще будут, конечно. Проблема в том, что до этого я подобной деятельностью вообще не занимался и идей о том, как к этому процессу вообще подступится у меня не сильно много. 

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


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

Распаковать архив как есть дело нехитрое. Но проблема в том, что файлы там зашифрованы каким-то ключом, так что пользы от них практически ноль.

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


Ссылка на сообщение
16 часов назад, Yoti сказал:

Распаковать архив как есть дело нехитрое. Но проблема в том, что файлы там зашифрованы каким-то ключом, так что пользы от них практически ноль.

Есть такое. Пытался тоже, но вышло тоже ничего особо путного. 

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

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


Ссылка на сообщение
В 28.07.2019 в 14:48, tristam сказал:

Есть такое. Пытался тоже, но вышло тоже ничего особо путного. 

Так а что пытаться: сигнатура и количество в заголовке, затем ноль-терминированная таблица имён, затем таблица размеров и смещений, затем сами файлы. Формат разбирается минут за 15.

Плюс в том, что шифрование статичное. Вот два рэндомных заголовка:

data01\Base\GUI\ClockCursor.png

DC 05 1B 12 58 5F 4F 5F 55 55 55 58 1C 1D 11 07

data01\Loading\GUI\Cursor.png

DC 05 1B 12 58 5F 4F 5F 55 55 55 58 1C 1D 11 07

Файлы разные, а заголовок одинаковый. Найти структуру PNG для сравнения дело минутное.

 

Update#1: подумал немного и проверил: изображения (png и dds) тупо поксорены на $55. Утилиту можно скачать здесь. По поводу остальных файлов будем обсуждать если объявится ТС.

 

Update#2: доразобрался с остальными файлами, там zlib вместо xor. Сделал автоматическую распаковку для них, плюс удаление исходных файлов. Ссылка старая, перекачайте.

 

Update#3: слегка прибрался с именованием файлов, добавил расширение .gz после имени файлов, которые даже после расжатия из zlib всё равно архивы gzip. Ссылка старая, перекачайте.

 

Update#4: скачал клиент игры, проверил на всех файлах и нашёл, что помимо выложенных есть контейнеры и другого вида. Разобрался и с ними, обновил прогу. Ссылка старая, перекачайте.

 

Update#5: финальный апдейт на ближайшее время — v0.5. Меньше насилует жёсткий диск при распаковке сжатой таблицы. Клиент, если кому интересно, нашёл тут. Ссылка старая, перекачайте.

 

Update#6: отказался от промежуточных файлов вовсе, что дало прирост в скорости работы процесса извлечения и уменьшило количество операций записи на жёсткий диск. Ссылка старая, перекачайте.

 

Update#7: скорее косметические, нежели космические изменения. Если больше ничего не придёт в голову, то именно в таком виде программа отправится на ГитХаб. Ссылка старая, перекачайте.

Изменено пользователем Yoti
  • Лайк (+1) 1
  • +1 1

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


Ссылка на сообщение
В 29.07.2019 в 12:00, Yoti сказал:

Плюс в том, что шифрование статичное.

Чтобы темы не плодить спрошу тут. Можешь глянуть эти файлы: https://yadi.sk/d/EzYJb7o6CfJXTg

Внутри должны быть стандартные .unity3d файлы, но, похоже, они как то зашифрованы... Хедер во всех файлах одинаковый. Мб тут аналогично что-то простое, а не AES+IV?

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


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

@MrTest 

не вижу тут ничего для себя знакомого. Может быть, если бы саму игру увидеть, что-то бы и прояснилось.

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


Ссылка на сообщение
4 часа назад, Yoti сказал:

@MrTest 

не вижу тут ничего для себя знакомого. Может быть, если бы саму игру увидеть, что-то бы и прояснилось.

https://www.apkmonk.com/app/com.bandainamcoent.layeredstorieszero/

(в других играх ключи встречал в траффике, но тут в траффике пусто...)

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

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


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

@MrTest 

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

  • Спасибо (+1) 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

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

    • Я постарался всё автоматизировать, чтобы было как можно быстрее и легче. Да, щас проблема с этим форматированием, из-за чего и вылеты, но думаю если ты проходишь сейчас игру, может как раз быстро сможешь поправлять. Я пока первую часть пройду, потом приступлю ко второй. В инструментарии всё указано где какой файл, и полный xliff — там Ctrl + H и почистить эти все поломанные форматирование. Я думаю их прям не должно быть критически много. @ivdos Скачай инструментарий, сразу открой файл “translete.xliff” в VS Code или какой ты используешь текстовый редактор. Найди ту клятую строку с форматированием с кириллицей — с помощью Ctrl + H замени (на пустою, если удалять) все возможные дубликаты. Далее открой “TranslatorApp.pyw” нажми сначала “1. Декомпилировать DAT”, выбери эту папку сцен с игры, и после “4. Применить перевод”. Твоя редактура сразу применится и потом “5. Собрать в DAT”. Ну и замени все сцены в папке игры на те, что появились в папке “complete_dat”.
      Принципе работы на 10 минут, проверь, перестанет вылетать игра. 
    • @Luchik другие игры не планируете переводить похожим образом? Какую-нибудь Citizen Sleeper 2 например.
    • @Stamir о своевременно. А то тот инструментарий которые делает xlsx из скриптов меня вводит в уныние. Я уж хотел свой велосипед писать.
    • Инструкция по редактированию игровых файлов игры. Так как я предоставил первый этап русификатора (нейронный перевод Gemini 2.5 Pro), русификатор требует исправления ошибок и редактирования. Я не состою в группе энтузиастов-переводчиков, по этому здесь я полагаюсь на помощь сообщества, тем, кто проходит игру и есть свободное время покопаться в файлах, чтобы исправить критические ошибки перевода или разобраться в фиксе вылетов игры. В данном посте я выложу свой инструментарий перевода и моё объяснение как его использовать — вы можете вносить свой вклад и отправлять сюда результаты фиксов. ❗Я обновлю шапку (закреплённый пост) если здесь будут выкладываться обновлённые файлы нашего с вами труда. Существует 2 вида текстовых игровых ресурсов: TBL и DAT.

      Свой инструментарий я выложил на GitHub: архив на скачивание находится в релизе под названием “ColdSteel-TranslationApp.zip” (не перепутайте). Эти инструменты подходят для создания русификатора от 1 до 4 части. - Редактирование TBL файлов таблиц. TBL-файлы это файлы таблицы текста, которые отображаются в игровом интерфейсе игры. Например: меню, настройки, дневник, карта, и т.д. Для их редактирования нужны схемы — это файлы которые описывают внутреннюю структуру каждой отдельной .tbl таблицы. Для работы с ними воспользуйтесь программой tbled-v1.0.exe находящаяся в корне рабочей директории. Файлы оригинальной игры (английский) находятся в папке “ToCS 2 Original/text/dat_us/”. После открытия программы выберите “Schemas — Use builtin schemas for SC2” — это загрузит готовую схему. Далее выберите любой файл .tbl в меню “File — Load tbl with curret schema”. Вы увидите обычную таблицу и ячейки с текстом для редактирования.  Вы можете редактировать текст прям в нём, или экспортировать как JSON с помощью “Export tbl to json” и сохраняете в папку “Parser TBL”. Далее открываем файл в папке “Parser TBL/Parser.py”, спускаемся вниз и находим строку:  Так же открываем ваш JSON и смотрим на его структуру. Как видите, у нас есть поле “text” которое нужно заменить на русский (или отредактировать уже русификатор). В Parser.py меняете “json_file” на имя вашего файла, а “text_fields_to_translate” на этот ключ. Если ключей несколько (несколько полей для редактирования) то перечисляете через запятую, например: ["text", "text1", "text2"]. Запускаете P.bat и у вас появляется рядом файл .xliff Возвращаемся в основную директорию, открываем файл  “SSD1_6/xliff_editor_gui.py” с помощью Python (исполняем файл) и у нас откроется редактор. С помощью него, перейдя в режим “Текст” вы можете исправлять перевод или переводить заново. В этом режиме очень хорошо и легко кидать весь текст на перевод нейросетям.  В конце редактирования открываем файл “Parser TBL/Return.py” и так же меняем на название нашего файла последние строки: И выполняем “R.bat” чтобы произвести замену в нашем JSON всех строк на наши изменённые\переведённые. Последнее осталось вернуть и встроить это в TBL файл. Снова открываем tbled-v1.0.exe, загружаем схему, выбираем наш .tbl файл и здесь уже используем меню “Import — Import tbl from json” выбираем наш отредактированный .json файл. Смотрим, чтобы весь текст поменялся на наш отредактированный. Если всё в порядке — “File — Save as...” и называем файл точно таким же именем как оригинал.  Готово! Вы отредактировали .tbl файл. Перемещайте его в папку с русификатором\игрой и проверяйте.   - Редактирование DAT файлов таблиц. Это основные файлы для нашей работы. DAT-файлы которые находятся в папке “ToCS 2 Original/scripts/” отвечают за все локации, игровые события, диалоги и многое другое. Это основная логика игры. По этому когда у нас происходит вылет, чаще всего проблема может крыться в этих файлах, так как в файле допущена какая-то ошибка при русификации. Основная директория для работы со сценами находится в папке “SSD1_6”. Для работы с этими файлами я автоматизировал всё с помощью скрипта “TranslatorApp.pyw” просто запустите его.  Вы увидите простой интерфейс, слева логирование — справа кнопки с указанием шага. Для начала нажмите “Декомпилировать DAT”. Выберите папку с .dat файлами (в папке scene/dat_us например 366 файлов). Подождите пока у вас скрипт обработает все файлы и поместит в папку “recompiled_files” все Excel таблицы для каждой сцены. На самом деле — здесь уже можно работать, это обычные листы Excel в которых всё просто — ячейка с подписью “dialog” вмещает в себе игровой текст который, внимание, является диалогом  Вы можете править вручную их, или продолжить шаги в программе TranslatorApp. Далее, в папке “SSD1_6” лежит файл “translete.xliff” — это основной файл с моим русификатором, то есть я достал из всех 366 файлов строки диалога и поместил с помощью скрипта в этот файл. Вы можете открыть его с помощью кнопки “3. Открыть редактор” или вручную с помощью любого текстового редактора (например VS Code). Вы увидите такую структуру, которую сможете редактировать: Здесь “source” это исходная строка оригинала и “target” строка перевода. Вы можете править её, редактируя перевод на более верный и исправлять ошибки. Или же, вы можете заниматься этим в моём редакторе “xliff_editor_gui.py”, как и в JSON. ❗Смотрите, с каждой строкой вместе идёт графа note в которой пишется имя файла с какого взята строка. Это помогает нам вычислить в какой именно сцене происходит краш\вылет игры. Вы можете вернуть оригинальный .dat файл (анг. ориг. ресурсы находится в папке “ToCS 2 Original”) место русифицированного чтобы проверить работоспособность игры (выявить проблему в файле) и заняться исправлением багов в этой сцене. Доработка русификатора: Если мы откроем файл “TranslatorApp.pyw” в VS Code и найдём строку: if isinstance(cell_value, str) and cell_value.lower() == 'dialog': Мы можем поменять здесь “dialog” на “string”. Далее запустим этот файл (запустится окно лаунчера), нажмём кнопку “2. Создать Xliff” — у нас появится новый .xliff файл (но старый перезапишет, будьте внимательны, делайте бэкапы). Там будет более 130 тыс. строк большинство из которых — названия функций и методов игры которые трогать нельзя, но и с ними другие строки нуждающиеся в переводе, такие как имена, текст внутриигровых кнопок, названий локаций и прочего. Вы может вносить перевод, игнорируя игровые функции, и скрипт при выборе “4. Применить перевод” заменит только те строки, у которых поле TARGET не пустое.  В конце работы нажимаем “5. Собрать в DAT” скрипт обратно соберёт .dat из ваших отредактированных Excel таблиц в папку “complete_dat”. От туда их перемещаем в игру или русификатор и тестируем!   На этом всё, я постарался кратко и информативно расписать как начать заниматься редактурой этого русификатора, даже тем кто не знаком с программированием — для вас всё автоматизировано. Если вы сможете это провернуть, ждём ваши файлы здесь — я внесу обновление в шапку.  Скриншоты с пояснением интерфейса:
    • Да, короче вылет в крепости. В символах форматирования вместо латиницы была кириллица. В итоге игровой парсер от таких приколов ломается и игра вылетает. И сколько там подобных сюрпризов может быть даже не представляю. И обычной заменой по регекспу тут будет сложно обойтись.
    • Дежурно сообщаю, что русификатор не работает на текущей версии игры в Стиме.
    • Прошел нулевую зону, дошёл до босса первой, но так и не понял — почему она «одна из самых влиятельных ролевых игр за последние 20 лет»? Откуда такое количество крайне положительных отзывов?! Чёрт с ним, с графонием — она просто… никакая. Помниццо, лет 10 назад был скандал с Кинопоиском и в качестве протеста народ в топ вывел “Зелёного слоника” — аж 9,1 ему накрутили. Может и здесь так же, а? Ни или я вообще нихрена не понимаю в колбасных обрезках. =(
    • Китайский перевод я бегло глянула, у них и правда местами треш . Причём он не просто плох — иногда безумно трудно понять о чём идёт речь в диалоге. Авторы перевода решили передать “старину” текста используя устаревшие конструкции в неудачной связке с современным языком. Для примерного понимания: Представьте, что у вас одна часть текста написана на современном русском, вторая часть на болгарском, а третья на старославянском. При этом посреди современной кириллицы могут встречаться символы ꙋ ѿ ѫ. Не знаю кому поручили переводить, но лучше бы перевод отложили. Тем более, китайцы, поигравшие в демку, жаловались же.    
    • Есть официальный русский перевод: Everhood 2 (2025)
      (тема на форуме)
    •  i 
          Уведомление:
          В игре есть официальный русский перевод
  • Изменения статусов

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

×