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

Вскрытие архивов

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

Привет всем!

Хочу научиться распаковыать игровые архивы.

В гугле нашел способ, но он подходит только для псевдоархивов с фат-таблицей.

Интересен принцип исследования.

Например, как определить, сжат или не сжат файл?

Если сжат, то чем? Например, если zlib, то в файле будет присутствоать данное название. Ну либо по вызываемым модулям.

Надеюсь на помощь.

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


Ссылка на сообщение
как определить, сжат или не сжат файл?

Если у тебя один ресурс файл на все, то он как минимум упакован и было бы невероятным увидить что-то типа resource.tar

поэтому такой файл наверняка запакован.

Еще можно проверить энтропию файла и убедится в наличии архивации.

Не редко файлы сначала архивируются каким-то методом, а потом архивы пакуются в один файл, тогда этот файл содержит в себе как минимум архивы и информацию о смещении до каждого.

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

Еще для того, чтобы читать структуру файла необходима знать и понимать типы данных, тех-что в С++ впринципе почти всегда достаточно.

Если сжат, то чем? Например, если zlib, то в файле будет присутствоать данное название. Ну либо по вызываемым модулям.

Надеюсь на помощь.

посмотреть список вызываемых модулей вы можете с помощью process explorer или аналогов (существуют с открытыми исходниками).

их назначение определить по их интырфейсам (при знании английского, практик хорошего кода и распространненых имен переменных, например ptr - это указатель) или найдя в интернете имя соответствующего модуля можно найти тамже его сайт или описание его назначения.

Также в файле можно встретить сигнатуры - заголовок (если он есть) нередко начинается с четырех символьной сигнатуры (метаданные определяющие тип файла), либо другие повторяющиеся четырех символьные сигнатуры. Также можно встретить трехсимвольные сигнатуры состоящие из заглавных англ. букв в ASCII.

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

Также описание игровых форматов можно найти на http://xentax.com (создали сайт двое сценери из сообщества демо сцены, занимающиеся разбором игровых ресурсов очень давно).

Возможны способы сложнее.

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

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

  • Изменения статусов

    • 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 ответов
  • Лучшие авторы


×