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

Распаковка файлов .PAC

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

Нужна помощь в извлечении текста из визуальной новеллы Kara no Shoujo – The Second Episode, сделана она в unity, и все скрипты запакованы в свой формат .pac, нашёл в интернете такой код

 

  Скрытый текст (Показать содержимое)

По нему распаковывается, но сами файлы повреждены. Может кто помочь?

файл, который надо распаковать: тык

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

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


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

 

Viload, сами данные пожаты или закриптованы, вообщем к гадалке

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


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

Скорее криптованы, ибо размеров несжатой инфы не указано.

Пиши название игры, может кто экзешник посмотрит.

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

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


Ссылка на сообщение
  Viload писал:
Нужна помощь в извлечении текста из визуальной новеллы, сделана она в unity, и все скрипты запакованы в свой формат .pac, нашёл в интернете такой код

 

  Скрытый текст (Показать содержимое)

По нему распаковывается, но сами файлы повреждены. Может кто помочь?

файл, который надо распаковать: тык[/post]

Показать больше  

 

  Скрытый текст (Показать содержимое)

Не?

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


Ссылка на сообщение
  Thief1987 писал:
Скорее криптованы, ибо размеров несжатой инфы не указано.

Пиши название игры, может кто экзешник посмотрит.

Показать больше  

Добавил название, надеюсь, кто поможет.

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


Ссылка на сообщение
  Получение содержимого. (Показать содержимое)


  Декодирование, если требуется. (Показать содержимое)


Класс для распаковки, если упаковано, тут

https://github.com/thatfool/SCAN/blob/master/CLZF2.cs

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


Ссылка на сообщение
  barmaklei писал:
  Получение содержимого. (Показать содержимое)

 

  Декодирование, если требуется. (Показать содержимое)

Класс для распаковки, если упаковано, тут

https://github.com/thatfool/SCAN/blob/master/CLZF2.cs[/post]

Показать больше  

Что-то я не понял, что с этим делать...

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


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

Здравствуйте! Решил не дублировать тему, поскольку у меня возник схожий вопрос.

Заинтересовала музыка (BGM) из игры, но, к сожалению, файл запакован в уже упомянутый формат .pac

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

Интересующий файл

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


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

Вообщем решил недавно взяться за распаковку этой игры...

Задекомпилил Assembly-CSharp.dll и нашел следующий код:

 

  Скрытый текст (Показать содержимое)

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

Функция Create создает как раз список файлов (с оффсетом и размером), а дальше через функцию GetPacFile можно из архива вытащить нужный файл.

Либо вот этим кодом можно легко вытащить все до единого файла:

 

  Скрытый текст (Показать содержимое)

Все, конечно, без проблем достается, но есть одна большая проблема...

Все скрипты (текст) криптуется и вдобавку сжимается CLZF2 (порт LZF на C#), картинки просто криптуются, без обжима, ну а аудио вообще и не криптуется и не сжимается.

И на первый взгляд эта проблема легко решается, но нет:

1. Разкриптованные картинки битые

2. CLZF2 не хочет разжимать скрипты (пишет что-то про BufferOverflow)

Вывод таков: нормально достать у меня получилось только аудио.

Может быть написанное выше кому нибудь поможет, так как я уже, если честно, задолбался пытаться распаковать эти грёбанные .pac'и))

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

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

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


Ссылка на сообщение
  exys писал:
1. Разкриптованные картинки битые

2. CLZF2 не хочет разжимать скрипты (пишет что-то про BufferOverflow)

Показать больше  

Скорее всего, просто указан неверный ключ криптования для метода KeyEncode, рабочий можно найти там же (в Assembly-CSharp.dll):

 

  Скрытый текст (Показать содержимое)

Метод KeyEncode тоже из Assembly-CSharp.dll (в классе GameAssetManager, естественно):

 

  Скрытый текст (Показать содержимое)

И CLZF2 там есть:

 

  Скрытый текст (Показать содержимое)

Эти примеры взяты из демо-версии Kara no Shoujo – The Second Episode с официального сайта. Вполне возможно, что ключи и методы для распаковки от версии к версии меняются, поэтому нужно смотреть код этих методов и классов в своих файлах.

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

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


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

Именно с Вашим кодом KeyEncode у меня все получилось... Спасибо огромное! Пока что удачно распаковал только картинки, но щас разберусь с LZF и пойду вытаскивать скрипты. Отпишусь если все получится :)

UPD: О да, боже, у меня наконец-то получилось) Благодарю за нормальный KeyEncode)) Осталось научиться обратно запаковывать, и можно начинать переводить)))

UPD2: Только что заметил, что ILSpy'ем достается тот же KeyEncode, что и у Вас... Чорт, ну а раньше-то почему не получалось? Всё же тоже самое было...

UPD3: Привел KeyEncode в более читабельный вид:

 

  Скрытый текст (Показать содержимое)

Начал пытаться хоть кое-как понять код :)

UPD4: Не долго думая решил прокрутить KeyEncode'ом обычный текстовый файл, и выходной файл так же раздекодить. Вывод: KeyEncode работает как на Encode, так и на Decode.

Пример:

 

  Скрытый текст (Показать содержимое)

Осталось научиться собирать архивы :)

UPD5: Короче вот:

 

  Скрытый текст (Показать содержимое)

Только вот с русским реально беда... Как это исправить я, к сожалению, не знаю. Вместо русского языка тупо красные иксы.

Позже выложу исходники распаковщика и запаковщика, надо только в порядок привести всё это дело.

UPD6: В общем после долгого перерыва (мне было тупо лень) сегодня я все же решился доделать распаковщик и дать ему хоть какой то интерфейс.

Вот что у меня получилось:

Скачать

VT

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

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

    • Читы, античиты! Это все как спор брони со снарядом — борьба будет вечной, в каждый отдельный момент времени перевес будет на чьей то стороне. На каждое умное решение со временем всегда найдется контррешение, ибо спрос рождает предложение )) 
    • Да у меня так все и было проблема разрешилась.
    • Все нормально! Это просто у Питона сарказм очень реалистично получается
    • У нынешних ПК игр проблема с картами решается двумя способами. Первый, цивилизованный способ - официальная поддержка модов, как в WoW. Разработчики предоставляют специальный программный интерфейс, или API (в случае WoW - на языке Lua), который позволяет модам легально и напрямую взаимодействовать с игровым клиентом. Мод знает наши точные координаты (x, y, z), наши цели по квестам, потому что клиент ему об этом сообщает. Это санкционированный, структурированный обмен данными. В облачной модели это невозможно в принципе, так как на вашем ПК нет самого игрового клиента, который мог бы предоставить такой API. Есть лишь терминал, принимающий видеопоток. Второй, партизанский способ - прямой анализ игровых ресурсов. Энтузиасты вскрывают упакованные файлы игры, извлекают из них текстуры карты, 3D-модели, координаты всех NPC, точек интереса, сундуков, а затем собирают из этого конструктора внешнюю интерактивную онлайн-карту. Это обратный инжиниринг в чистом виде. Остаются разные белые пятна типа зон появления объекта задания или ресурса, которые медленно заполняет сообщество, оно же верифицирует информацию (чтоб какой-нибудь шутник не добавил на карту то, чего нет и чтоб люди не бегали в поисках несуществующего). В облачном гейминге у нас нет доступа файлам клиента и мы не можем вскрыть то, чего у вас нет. То есть в облачной реальности у нас нет ни того, ни другого. У нас нет API и нет игровых файлов. Есть только видеопоток. И попытка воссоздать функциональность мода в таких условиях требует прохождения двух этапов, первый из которых использовался для создания карт для тех же консольных игр (где по какой-то причине был ограничен датамайнинг для более удобного создания карты). Этап 1: Создание цифрового двойника карты
      Прежде чем что-то накладывать на видеопоток, нужно иметь исходный материал. В нашем случае - идеальную, полную, чистую карту игрового мира. Ее нужно воссоздать с нуля, процесс выглядит так: Тотальная зачистка карты: Один или несколько энтузиастов должны физически пройти всю игру, открыв каждый уголок карты, чтобы избавиться от "тумана войны". Нужно обойти каждую гору, заплыть в каждую пещеру. Создание атласа: Затем начинается кропотливая работа по созданию гигантского изображения - атласа карты. Это сотни, если не тысячи скриншотов, сделанных на каждом уровне масштабирования, которые затем нужно программно или вручную "сшить" в единое полотно высокого разрешения. При этом нужно бороться с искажениями перспективы, цветов и так далее. Это сродни созданию спутниковой карты Земли, только без мощностей гугла и янекса. Ретушь и очистка: С полученного атласа нужно убрать все динамические элементы интерфейса: иконку игрока, маркеры квестов, временные метки, всплывающие подсказки. Любой "мусор", который будет мешать последующему распознаванию. Если в игре это не отключается, то это что часы скрупулезной работы в условном фотошопе, где нужно аккуратно закрашивать элементы, стараясь не повредить оригинальную текстуру карты под ними. Только после этой работы у сообщества появляется "Ground Truth" - эталонная карта, на которую можно наносить метки. Как показывает опыт создания карт для того же RDR2 (ещё на консольной версии), этот процесс может занимать месяцы, а то и годы, и целиком зависит от энтузиазма горстки людей. Этап 2: Оверлей в реальном времени (кошмар инженера)
      Допустим, сообщество создало эталонную карту. Теперь начинается самое сложное: как заставить программу в реальном времени понимать, что происходит на экране, и накладывать на это изображение нужные данные?  Игрок открывает свою внутриигровую карту. Она частично покрыта "туманом войны", на ней есть его иконка, активный квест, возможно, она полупрозрачна. Программа-оверлей должна: Распознать контекст: Сначала ей нужно решить задачу распознавания и регистрации изображений. Она должна посмотреть на прямоугольник на экране и сопоставить его с гигантским эталонным атласом, чтобы понять, какой именно участок карты сейчас открыт и с каким масштабом. Для этого используются сложные алгоритмы (например, на основе SIFT или SURF дескрипторов, которые ищут уникальные ключевые точки на обоих изображениях и сравнивают их). Другое разрешение экрана, обновление интерфейса от разработчиков, даже небольшое изменение цветовой палитры - все это может полностью сломать алгоритм распознавания. Отследить игрока: Допустим, программа справилась и сопоставила изображения. Теперь ей нужно найти на карте иконку игрока, чтобы определить его точные координаты в данный момент времени. Это еще один цикл распознавания образов. А что, если иконка игрока меняет цвет? Или частично перекрыта другим значком? Алгоритм должен быть невероятно надежным, чтобы не ошибиться. Синхронизировать данные: Игрок двигается, карта в игре смещается. Оверлей должен в реальном времени (в идеале - 60 раз в секунду) повторять все эти шаги: распознать новый участок, найти иконку, запросить из внешней базы данных координаты нужных сундуков в этой области и спроецировать их на экран с учетом текущего масштаба и поворота карты. Любой сетевой лаг, просадка FPS, резкое открытие/закрытие карты или просто обновление интерфейса разработчиками сломает эту хрупкую систему. Вместо удобного помощника пользователь получит дерганый, мерцающий, постоянно теряющий синхронизацию оверлей. И тут мы подходим к главному вопросу. Кто будет этим заниматься?

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

      Разработка сложного CV-мода для каждой новой ААА-игры - это колоссальный труд, требующий такой же команды специалистов и постоянной поддержки. Делать это бесплатно? Слишком муторно. Продавать за деньги? Но зачем игроку платить за нестабильную, кустарную технологию, если издатель предлагает ему купить ту же самую карту всех сундуков за за те же деньги, но в виде идеально работающей, нативной игровой функции, интегрированной прямо в движок? Поэтому, хотя теоретическая возможность такого моддинга существует, она вряд ли представляет реальную угрозу для издательской модели монетизации. Это слишком сложно, слишком дорого в разработке и слишком нестабильно в использовании, чтобы стать массовым явлением. Гораздо более реалистичным остаётся старый метод: сначала подождать год-два, пока (и если) онлайн карту полноценно заполнят, затем открыть её на втором мониторе или планшете, и постоянно сверяться с ней (и ругаться на разработчиков).
    • Аналогично — кошак прячеся, а что постоянно хвост торчит это не считается. Он не шутит, в Питере своя атмосфера.
    • Шуточки Питона не всегда очевидны. А смайликами он частенько пренебрегает.
    • Там еще пару ошибок в TQ2.locres, что есть даже в англ. 3592 " StunDurationCurrent}" на "{StunDurationCurrent}"
      4187 "}FrozenGroundDuration}" на "}{FrozenGroundDuration}"
    • *свой пост грохнул, что-то у меня сегодня недосып и отсутствие возможности определять сарказм и подобное… да и времени пофлудить нет(
    • У меня этот принцип знает даже кот! Он прячется за шторой, и раз он оттуда ничего не видит, значит опасности нет. И пофиг, что полтулоыища из-за шторы торчит. Это у вас в Севастополе не преподают. А в Питере это даже детсадовцы знают. @piton4 не даст соврать и школьный аттестат показать может, если захочет.
    •     
        Если что-то в не поля твоего зрения, значит этого не существует. Это фундаментальные основы реальности, и насколько помню, преподаётся на теоретической физике ещё в начальных классах. Ты в школе не учился?
  • Изменения статусов

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

×