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

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

Ребята нужна помощь со вскрытием файлов от игры Gangland, текстуры, звуки, модели достать удалось, а вот игровые скрипты, файлы карт, текст не поддается, видимо файлы архивов чем то сжаты, вот только чем не могу понять. Прилагаю несколько примеров таких архивов, буду благодарен за любую наводку в какую сторону копать.

https://disk.yandex.ru/d/HADBydmbPoR16g

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


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

Файлы фрагментно зашифрованны с использованием операции XOR по “ключу”.

Структура файла:

uint32 : dataOffset — смещение на начало секции с файлами
uint8 : globalFlags — флаги характеризующие файл:
	0x1 — указывает файловому менеджеру игры, что файлы нужно расшифровать сразу же при открытии архива
	0x2 — указывает, что каждое вхождение файла в таблице содержит дополнительные флаги
	0x4 — указывает, что таблица файлов зашифрована

Структура таблицы файлов:

uint16 : count — количество файлов в архиве
<далее вхождения файлов>

Структура вхождения файла в таблице:

cstring : filename — относительный путь к файлу \ название файла
uint32 : size — размер файла

#if globalFlags & 0x2
uint8 : flags — дополнительные флаги файла:
	0x1 — файл зашифрован
#endif

Что касается шифрования, это тот же самый алгоритм, что используется в игре “The Escape from Paradise City”, который представлен в скрипте для quickBMS (я так понимаю именно он и использовался для распаковки других файлов):

Spoiler

public static void XorData(int key, byte[] buffer)
{
  int salt = 0x1001 * key - 0x6F0B34D9;
  int position = 0;

  if (buffer.Length > 3) {
    int block_size = buffer.Length / 4;
    position = block_size * 4;

    for (int i = 0; i < position; i += 4) {
      buffer[i + 0] ^= (byte)(salt >> 4);
      buffer[i + 1] ^= (byte)(salt >> 10);
      buffer[i + 2] ^= (byte)(salt >> 16);
      buffer[i + 3] ^= (byte)(salt >> 22);

      salt = ((int)(key ^ (key << 8) ^ 0xE08ADA15)) + ((0x10001 * key + 0x4D3B1949) * salt);
    }
  }

  if (position < buffer.Length) {
    int remaining = buffer.Length - position;
    for (int i = 0; i < remaining; ++i) {
      buffer[position + i] ^= (byte)salt;
    }
  }
}

 

Отличие только в используемом ключе:

key = dataOffset + 0x00E6C2CF — ключ для таблицы файлов
key = dataOffset + file.Offset + (file.Size * 7) — ключ для файла

Удалось написать программку и распаковать представленные архивы.

Найти её можно здесь: Прямая ссылка (GitHub)

  • Лайк (+1) 1

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


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

Скажите, пожалуйста, а как использовать эту программу, что-то не запускается на Windows 11? И как использовать данный скрипт, через чего запустить? Очень хочется вскрыть map и lua...

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

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

    • Русификатор Starsector версии 0.98a-RC8 от Лисосис Лис. Лисосис Лис недавно выпустил новый русский перевод Starsesector!  Все вопросы и предложения по переводу к нему в личку в его Телегу: https://t.me/lisosis_lis Страничка перевода  в ВК: https://vk.com/starsector2016 Starsector 0.98a-RC8 (Lisosis).zip https://disk.yandex.ru/d/iaccw2U5jFempg Первая версия русификатора, делал с нуля, включая шрифты.  Устал. Потрачено почти 1.5 месяца без отдыха.
      Всё переведено в ручную, кроме диалогов. 90% диалогов что вы увидите - переводил ИИ. Я старался его максимально настроить, но перепроверить 6600 больших текстовых блоков - одному нереально. Для полной интеграции русского языка нужно начать новую игру (извините), иначе у вас будет мешанина из английского и русского. Русификатор не прям 100%, я бы сказал 90-95%
      Интересует обратная связь не по непереведённым участкам, а по ошибкам. Неправильному переводу.
      Неправильные склонения имён, рангов, названий, обращений - не ошибка. Так-же добавил опциональный фикс для мода "Ashes of The Domain-Vaults of Knowledge" в папке mods
    • Сначала подумал что это, а потом как вспомнил Ты заставил меня запомнить эту игру  
    • Не, мне гоблины не шибко нравятся, так что откажусь. Если б не гоблины, то прошёл бы без проблем  И прежде чем подсовывать всякую хардкорщину, ты пройди сначала ButtKnight на харде и с открытием всех картинок, тогда и поговорим   
    • @Asargas  звучит так будто ты скачал перевод от 2020 года в шапке. Он уже сто лет как неактуальный, а русский язык присутствует в самой игре.
    • Добрый день, поиграл в игру - просто бомба! Жаль что перевод неполный и с ошибками, подскажите пожалуйста, сейчас идет работа над исправлением перевода или нет?
    • Не, не, не надо на полшишечки  — затянет. Пройди Ghosts 'n Goblins на истинную концовку и мы в тебя поверим — только деды знали толк в хардкоре
    • Брат, взгляни на мою жопу, она вся усыпана тальком и горит. Не. Мои соулсы - это Ниох и Вуконг.   Фанатик. Сонибоев на тебя не хватает и их юристов.
    •   Cлабак  А если серьёзно — Bb один из лучших соулсов, как и DS3.    Я даже подумываю взять 9800x3d   Не на 100% из-за Bb конечно, но и в том числе из-за него.
    • Это не опечатка, а проблема того, что в шрифте буква Ц заместо S стоит. В новой версии текстового перевода такого не будет.
    • доп вопросы по русику второго обскура именно текст версии: там опечатка у всех Цpace? когда например пропустить видео или что то выбрать. также как убрать курсор мыши? на мышь ничего не реагирует,но курсор всегда присутствует
  • Изменения статусов

    • Netulogina  »  SerGEAnt

      Здравствуйте.
      Назрел такой вопрос. Существует ли архив/резервная копия переводов которые хранятся на данном сайте?
      · 5 ответов
    • Jimmi Hopkins  »  SerGEAnt

      Добавились версии для Linux и MAC OS
       
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      Прошу обновить файл в архиве на https://disk.yandex.ru/d/suqA593ocxIJTQ
      или https://boosty.to/jimmihopkins/posts/d1df8532-9ac5-4a23-a87c-df2610efaf26
      Финальный релиз.
      Значительные изменения
      · 0 ответов
    • ElikaStudio

      https://www.youtube.com/watch?v=Nqcr83D8xhw
      https://www.youtube.com/watch?v=yRh3i7FKwOQ
      https://vk.com/video-48153754_456239346
      https://vk.com/video-48153754_456239345?list=ln-xnLZUtIyCEc6eshGvW
      https://ibb.co/p6BtMqWQ
      Перед тем, как ступить на борт корабля капитана Синей Бороды, нужно скачать озвучку!

      Life is Strange: Before the Storm:
      Эпизод 1: "Прoбуждeниe"
      Эпизод 2: "О дивный новый мир"
      Бонусный эпизод: "Прощание"
      Русская озвучка уже доступна для скачивания!

      ElikaStudio выражает огромную благодарность всем, кто принял участие в создании проекта! 
      Группе [club76249462|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


      Баг репорт в обсуждении:
      https://vk.com/topic-48153754_52801766
      ___________________________________________
      Финансовый аппарат:
      www.donationalerts.com/r/elikastudio
      Пожертвовать средства на наши проекты:
      Кошелек ЮMoney 4100 1188 6818 3009
      карта Сбер банк 2202 2018 6334 1042
      карта Альфа банк 5559 4937 0209 8584
      Спасибо за вашу поддержку!
      #elikastudio #waylandteam #русскаяозвучка
      · 0 ответов
    • Максименко Вадим  »  jk232431

      Как перевести субтитры в winx club the game,а то у меня не получается выходит ошибка?
      · 0 ответов
  • Лучшие авторы


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

×