Сохранен 27
https://2ch.hk/pr/res/2433584.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Как вытащить звуки из игры 2004 года?

 Аноним 14/08/22 Вск 14:41:49 #1 №2433584 
MarvelsThePunisherS1E6DreamSequence1-31screenshot.jpg
1.jpg
https://www.youtube.com/watch?v=9py3JxP2MkY

Привет, Анон.
Сразу говорю, я ни программированием, ни геймдевом, до этого не занимался от слова совсем. Поэтому если буду тупить - не ругайся.

Есть одна старая игра The Punisher, мне нужно вытащить из нее все файлы русской озвучки. Ебусь я с этим уже хрен знает сколько времени, весь путь описывать не буду. Если кратко: остановился на том что нашёл в папке с уже установленной игрой файл voice_ru.vpp что мне показалось ну уж точно файлами русской озвучки И ни файл установки, ни файл войс_ру распаковать не получается. Долго гуглил как открывать файлы формат vpp. В итоге нашёл вот эту ссылку https://www.solvusoft.com/ru/file-extensions/file-extension-vpp
Ни через Visual Paradigm, ни через visual studio code с установленным расширением v++ не открывается.
https://translated.turbopages.org/proxy_u/en-ru.ru.5c6f0821-62f8db39-b67dd6d7-74722d776562/https/fileinfo.com/extension/vpp оставлю на всякий

В итоге пришёл к выводу, что vpp - это формат созданный Volition студия создавшая карателя
специально для их игр.

Собственно, вопрос в том как вытащить файлы озвучки?
да и файл voice_ru.vpp вообще ведь может быть файлом с русской озвучкой?
Аноним 14/08/22 Вск 14:53:13 #2 №2433610 
VPP Builder?
Аноним 14/08/22 Вск 15:04:32 #3 №2433621 
2.jpg
>>2433610
скачивал впп билдер от сюда
https://www.factionfiles.com/ff.php?action=file&id=2797
sage[mailto:sage] Аноним 14/08/22 Вск 15:11:07 #4 №2433634 
А теперь правильный алгоритм действия в этой ситуации
1. Съебываешь в /s
2. Получаешь там совет погуглить движок игры
3. Гуглить %движокнейм% assets extractor
4. Опционально: Соснуть тунца из-за отсутствия тулзы под этот не очень популярный движок
5. Гуглишь %движокнейм% SDK
6. Опционально: Сосаешь бибу из-за сложности и кривости этого кастомного сдк
7. ???
8. Профит
Аноним 14/08/22 Вск 15:19:58 #5 №2433656 
>>2433621
Залей файл на обменнник, вечером посмотрю(либо завтра утром). Если структура простая, то и экстрактор напишу.
Аноним 14/08/22 Вск 15:29:11 #6 №2433682 
>>2433656
https://dropmefiles.com/E66rm
Аноним 16/08/22 Втр 20:50:59 #7 №2436389 
бамп
Аноним 17/08/22 Срд 03:00:38 #8 №2436651 
Тыщ за 5 долларов (вперед) распакую тебе по красоте.
Аноним 17/08/22 Срд 06:30:40 #9 №2436672 
>>2436651
Куда сможешь перевести?
Аноним 19/08/22 Птн 16:33:20 #10 №2439666 
Привет, анон.

https://dropmefiles.com/XCyaU

Как вытащил:
1. Открыл файл в HEX-редакторе и поскроллил до начала данных, где увидел сигнатуру RIF.
2. Первым же запросом в гугле нашел этот тул: https://github.com/PKBeam/RiffExt
3. Конвертировал всё в mp3 через ffmpeg

Если нужен другой формат, повтори всё, изменив последний пункт.
Аноним 19/08/22 Птн 17:33:26 #11 №2439754 
>>2439666
добра тебе и плюс в карму, анон
мимо не оп
Аноним 20/08/22 Суб 09:49:26 #12 №2440382 
>>2433584 (OP)
У меня Total Commander напичканый плагинами преспокойно открыл твой файл. Наверное это плагин gaup_pro.
http://wincmd.ru/plugring/gaup.html

Вообще, глянул его в hex-редакторе - там в начале идет список имен файлов с их размерами, потом идут сами данные в виде обычных wav-файлов.

wav-файлы преспокойно можно вытащить из любого незашифрованного контейнера, поскольку у wav-файла хорошо прописан заголовок, где указан идентификатор и размер. То есть можно преспокойно найти идентификатор и вытащить все остальное по размеру, а значит легко можно написать тулзу для этого.
Аноним 20/08/22 Суб 10:03:17 #13 №2440387 
изображение.png
>>2439666
>https://github.com/PKBeam/RiffExt
Посоны, а как правильно в таких случаях искать? Доставать из файла по одному байту как тут https://github.com/PKBeam/RiffExt/blob/master/riffext.c#L50 или лучше читать в буфер побольше байтиков и искать уже в буфере?
Аноним 20/08/22 Суб 10:09:22 #14 №2440390 
>>2440387
На каждый байт вызов функции это дохуя накладных расходов, читай кусками по 8-16 кб.
Аноним 21/08/22 Вск 16:30:14 #15 №2441912 
Пишу подобные приблуды на си, луа и питухоне, которые извлекают разные форматы изображений и звуков из произвольных контейнеров.

Сейчас вот какие есть извлекаторы написанные на си, используя буфер, то есть потребляют мало памяти и их можно натравливать на большие файлы:
dds - кроме версий directx10
jpg - не все джипеги извлекает, только самые распространенные и может ошибаться.
ogg
opus
png
wav
webp

Написанные на луа и питоне, полностью читают файл в память, то есть натравить на большой файл если мало памяти не получится:
dds - кроме версий directx10
jpg - извлекает любые жипеги
mp3 - выдерает сам поток игнорируя теги
ogg - потоковые может некорректно извлечь
opus
png
wav
webp

Сейчас пишу извлекатор jpg на луа, который читает файл побайтово, находит начало и конец жипега, потом читает его в буфер и сохраняет, и так далее пока все жипеги не найдет. Знаю что хуета, но зато можно проверить большой файл на предмет жипегов. Потом может перепишу на си нормально с буфером, но это заморочено, там много всяких нюансов специфических для жипегов. Также проблемно написать нормальный извлекатор mp3 с буфером, так как формат замороченный.
Аноним 21/08/22 Вск 21:22:56 #16 №2442237 
>>2441912
Напейсал побайтовый извлекатор на луа. Работает нереально долго. Хуета. Можно конечно заморочиться написать на луа с типа буфером, но тоже чую хуета получится, лучше сразу на си писать.
Аноним 21/08/22 Вск 23:06:08 #17 №2442365 
>>2440387
Это полностью уёбищный код. Не надо так писать. Хотя бы потому что иногда надо прочитать по индексам назад или вперед. Если совсем лениво - то файл читается целиком в память. Ну а если есть желание написать риппер для файлов объемом больше чем оперативная память компьютера, то пишется функция или набор функций GetByte(u64 index); внутри которой производится вся "магия", а именно, организуется буфер заполняемый с диска. Буфер выступает в роли кэша. На самом деле функции типа getch и ей подобные функции работы с файлами тоже внутри опираются на небольшой кэш-буфер но использовать функции работающие с файлами в рипперах неудобно, потому что они предназначены для последовательной (потоковой) обработки данных.

Аноним 21/08/22 Вск 23:13:27 #18 №2442376 
Программы для выдирания ресурсов классически называются "ripper" и существуют они буквально со времен DOS, т.е. наверное с 80х, но самый расцвет приходится конечно на 90е.

У меня был универсальный риппер который понимал около сотни форматов и их искал в играх. Но это было очень давно. начало 2000х.

Колоссальная проблема сейчас в том что Google выдаёт просто кал. Хоть сколько-то релевантные результаты можно увидеть на яндексе по запросу риппер ресурсов -DVD -CD
Аноним 22/08/22 Пнд 16:13:52 #19 №2442871 
изображение.png
>>2442365
Вот почти идеальный код.
Аноним 22/08/22 Пнд 16:40:09 #20 №2442880 
>>2439666
>Открыл файл в HEX-редакторе и поскроллил до начала данных, где увидел сигнатуру RIF.

Анончик.. Что нужно знать чтобы догадаться до такого решения?
Аноним 22/08/22 Пнд 21:26:08 #21 №2443183 
>>2442880
Брать гекс редактор и смотреть в нем как устроены всякие разные файлы. Если какой-то формат прям понравился то гуглишь спецификацию на него и изучаешь.
Аноним 22/08/22 Пнд 21:47:07 #22 №2443196 
>>2442880
Еще обычно в начале каждого файла идет осмысленный заголовок, который можно загуглить, а потом обычно идет каша-мала в виде данных.
Аноним 23/08/22 Втр 11:31:32 #23 №2443566 
>>2442880
Современные хуеперационки предлагают тебе окошки в которых ты видишь файлы и больше нихуя. Всё скрыто и недоступно. Ты максимально далёк.

Я с древних времён юзаю FAR.
А в нём когда ты стоишь на любом файле можно нажать F3 и ты видишь его "потроха" в текстовом или бинарном hex виде.

Вместо православного FAR можно юзать Total Commander в его реинкарнации в виде "сборки". Просто чистый Total Commander с сайта непригоден, я пробовал, расплевался.

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

На самом деле по Shift/Ctrl-F3 у меня прописана еще и HIEW, но это другой разговор.

В общем смысл в том что надо сменить инструмент просмотра/изучения файловой системы с примитивного Windows explorer на вещи позволяющие тебе быстро засунуть нос в любой файл.
Аноним 25/08/22 Чтв 11:16:25 #24 №2445043 
>>2443566
>Просто чистый Total Commander с сайта непригоден
Нормально все с чистым. В нем есть божественный Lister, который как раз по F3 показывает кишки файлов. Но всегда можно настроить под себя.
Аноним 25/08/22 Чтв 14:22:30 #25 №2445167 
>>2443196
>в начале каждого файла идет осмысленный заголовок, который можно загуглить
Это называется сигнатура или магическая метка, а заголовок это другое.
Аноним 25/08/22 Чтв 14:45:16 #26 №2445181 
>>2443566
Простой фар тоже тошнотен в 2022, даже для дидов вроде меня, а вот если навесить conemu, то уже можно пользоваться. А есть и более продвинутые варианты с перделками.
Аноним 19/10/22 Срд 23:55:04 #27 №2492392 
>>2433634
Да какой там нахуй движок в 2004м? На движки повсеместно только начали в 2010м переходить.
comments powered by Disqus