Автор Тема: Извлечение мультимедиа (звук, видео, музыка) данных из игр CD/DVD приставок  (Прочитано 606689 раз)

0 Пользователей и 8 Гостей просматривают эту тему.

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 56
  • Пол: Мужской
    • Просмотр профиля
Я использую Hex Editor Neo или notepad++ с плагином HEX-Editor.
искать нужно строку CDXA

Оффлайн Leomakc777

  • Пользователь
  • Сообщений: 37
    • Просмотр профиля
Я использую HXD если ты про Хекс редактор- в нем искать как я понял и в самом образе? или же именно в str файле? и как там править? на что? ладно сам поковыряю-благодарю за помощь.
« Последнее редактирование: 04 Июль 2025, 15:44:06 от Leomakc777 »

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4597
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Вот так выглядит структура образа в jpsxdec_v2.0.
Выглядит так, будто бы это видеодиск с главами. Потому и "помойка", что всё в одной куче. А разметка, видимо, в исполняшке.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5610
    • Просмотр профиля
Образ  PSX игры  Клуб Солярис - Мисс Лето и не только этот образ.

Файл называется Pomoika.str.
Там шифруется часть каждого кадра. Написал скрипт на Python 3 для декодирования, положить рядом с POMOIKA.STR и запустить. Теперь через jpsxdec можно посмотреть видео, но без аудио, я не знаю как его достать. Названия каждого видео с позиции 0x59D6E в CUNAMI.PSX через каждые 16 байт. Код дешифровки в CUNAMI.PSX по адресу CPU $800157F0.
UPD: Аудио можно получить через jpsxdec, если открыть сам образ (я не заметил сразу). Остаётся объединить через ffmpeg или другие программы. Пробовал вставить POMOIKA.STR обратно в образ через CDmage, чтобы открыть через jpsxdec с аудио, но не получилось.
UPD2: Добавил v2, немного сделал код лучше, но результат такой же.
« Последнее редактирование: 05 Июль 2025, 14:40:29 от Sharpnull »

Оффлайн Leomakc777

  • Пользователь
  • Сообщений: 37
    • Просмотр профиля
Благодарю всех за помощь-сейчас буду смотреть

Добавлено позже:
положить рядом с POMOIKA.STR и запустить
всего два вопроса:

1. мне необходимо установить на комп python3 для запуска скрипта?

2. как я положу скрипт-если он находится в образе игры на диске?

Сижу пока читаю и разбираюсь.


Добавлено позже:
Остаётся объединить через ffmpeg

Вот это изучаю сейчас-думаешь это проблему решит-если я склею через это прогу и видео и аудио по новому?
« Последнее редактирование: 04 Июль 2025, 21:17:48 от Leomakc777 »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5610
    • Просмотр профиля
1. мне необходимо установить на комп python3 для запуска скрипта?
Да. На ютюбе можете посмотреть как индусы ставят.
2. как я положу скрипт-если он находится в образе игры на диске?
Вы должны извлечь файл POMOIKA.STR из образа. Например, с помощью CDmage. Потом запустить fix_str.py и рядом появится POMOIKA_fix.STR.
Вот это изучаю сейчас-думаешь это проблему решит-если я склею через это прогу и видео и аудио по новому?
Я говорил о том, что можно исправить POMOIKA.STR с помощью моего скрипта, открыть исправленный POMOIKA.STR в jpsxdec, чтобы извлечь видео, потом открыть образ игры с помощью jpsxdec и извлечь аудио, потом объединить видео и аудио может любой софт для работы с видео, ffmpeg отличный вариант, если не нуб.

Оффлайн Leomakc777

  • Пользователь
  • Сообщений: 37
    • Просмотр профиля
хорошо-завтра возьмусь вплотную и отпишусь-Благодарю за помочь

Скрипт запустил-все работает.

Добавлено позже:
В общем все работает и видео и звук-есть небольшие глюки, но это намного лучше- в 1000 раз, чем было до этого.

Благодарю за помочь.

Будем изучать самостоятельно и проходить, ну и где то ломать игры.
« Последнее редактирование: 05 Июль 2025, 16:19:29 от ghostdog3 »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2676
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
господа, кто помнит - кто-то выкладывал ром-проигрыватель музыки из разных игр. то есть там получается в зависимости от трека происходит запуск нужного драйвера и играет. я помню что здесь выкладывалось... а вот как это найти? :) одному буржую хочу дать этот ром послушать...

нашел:
SEGA Sound Driver Collection
« Последнее редактирование: 29 Июль 2025, 23:58:22 от SeregaZ »

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4597
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
завтра возьмусь вплотную и отпишусь
И, в итоге, забил хер. Как и 99% прочих вопрошающих.

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 952
  • Пол: Мужской
    • Просмотр профиля
Перед вами - вся до последнего пикселя графика из Lethal Justice. Именно этот imagesheet как раз и представляет собой весь графический ром игры целиком - одно сплошное "сырое" 16-битное изображение, к которому достаточно было присобачить подставной BMP-заголовок с нужными свойствами. Правда, не обошлось без некоторого пердолинга - чтобы файл адекватно распознавался у всех, его пришлось открывать через IrfanView, затем перевернуть по вертикали, а в конце концов сохранять с заменой (попутно невольно преобразовав из 16- в 24-битный формат, ибо 16 бит IrfanView, увы, не поддерживает).

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 952
  • Пол: Мужской
    • Просмотр профиля
Ой, а что это тут у нас в ключевых файлах Xenosaga Episode I - неужели классический псевдо(хотя, может, и настоящий)архив? О сколько строк, похожих на имена файлов (в том числе и всем нам привычных JPG-шек) там внутри - а файлам xenosaga.00 и .10 даже повезло оказаться достаточно маленьким для прикрепления сюда. Теперь надо бы пошуршать в ELF'е игры - узнать, как эти файлы распаковываются.

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 56
  • Пол: Мужской
    • Просмотр профиля
А через jpsxdec их не видно?

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 952
  • Пол: Мужской
    • Просмотр профиля
jpsxdec

А разве должно быть? Это ж для PS2 игра.

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 952
  • Пол: Мужской
    • Просмотр профиля
Небольшой скриптик на Python по извлечению всего дерева файлов из образов для Philips CD-i.
Побочные эффекты: образование пустой папки CDDA, если программа обращается к аудиодорожкам на самом диске как к файлам.

Работоспособность проверена на The Apprentice.

Оффлайн Agent Smith

  • Пользователь
  • Сообщений: 62
    • Просмотр профиля
Подскажите, чем извечь текстуры из Fighting Force 2 для PS1?

Оффлайн Zer0

  • Пользователь
  • Сообщений: 455
  • Пол: Мужской
  • There Is No Knowledge That Is Not Power
    • Просмотр профиля
Agent Smith, в DuckStation есть встроенная функция для создания дампа текстур игры "на лету".
https://github.com/stenzek/duckstation/wiki/Texture-Replacement

Оффлайн Agent Smith

  • Пользователь
  • Сообщений: 62
    • Просмотр профиля
Zer0, у меня щас комп слабый, с Хрюшей на борту

Оффлайн Zer0

  • Пользователь
  • Сообщений: 455
  • Пол: Мужской
  • There Is No Knowledge That Is Not Power
    • Просмотр профиля
Agent Smith, тогда пробовать другие способы > https://www.google.com/search?q=extract+ps1+textures
Хотя если комп не тянет, то для чего это всё?..

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5610
    • Просмотр профиля
Подскажите, чем извечь текстуры из Fighting Force 2 для PS1?
В STR-файлах есть текстуры 8bpp, например, в LOADING.STR с 0x800, ширина 256 (общая 512px, из двух кусков), высота 248. Можно посмотреть через CrystalTile2. Палитры наверно могут быть в разных местах, в LOADING.STR 27000-, в FONT.STR 800- (данные пикселей с A00). О том, что у вас WinXP, нужно писать сразу, почти весь современный софт на XP не работает.

Оффлайн Agent Smith

  • Пользователь
  • Сообщений: 62
    • Просмотр профиля
если комп не тянет, то для чего это всё?.
Не вижу связи

Оффлайн Zer0

  • Пользователь
  • Сообщений: 455
  • Пол: Мужской
  • There Is No Knowledge That Is Not Power
    • Просмотр профиля
Agent Smith, я к тому, что текстуры обычно извлекаются для апскейлинга, с последующей подменой через эмулятор, а таковым является DuckStation. И раз такой вопрос возник на форуме, в то время как простой поисковой запрос выдаёт искомое, предположу, что опыта в этом деле нет. Значит, хочется простого решения, а таковым, опять же, является дамп через эмулятор. Круг замкнулся)

Оффлайн Agent Smith

  • Пользователь
  • Сообщений: 62
    • Просмотр профиля
И раз такой вопрос возник на форуме, в то время как простой поисковой запрос выдаёт искомое
Zer0, ну прям Шерлок Холмс, все дедуктивным методом установил. Закусывать надо.

Я через Яндекс икал и ни чего. Выложил бы сслылку на конкретный сайт тогда

Оффлайн Zer0

  • Пользователь
  • Сообщений: 455
  • Пол: Мужской
  • There Is No Knowledge That Is Not Power
    • Просмотр профиля
Agent Smith, так ты не озвучил детали, что комп старьё и т.д.  Ещё и в Яндексе ищешь и наверняка на русском  :D Закусывать не мне надо.
Выше дал ссылку. Если соображаешь, то разберёшься.

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 952
  • Пол: Мужской
    • Просмотр профиля
На случай, если кто-то не доверяет рипам Sega Lindbergh'овских игр для Teknoparrot и считает их происхождение каким-то мутным и сомнительным (нередко - очень даже обоснованно, например, когда в самом неожиданном месте находишь какие-то файлы, которые дампер или публикатор явно добавил от себя), первый шаг, чтобы распакованный из CHDюка для MAME ISO хотя бы стал читаемым и монтируемым стандартными программами для работы с образами - откоциваем с помощью HEX-редактора занесённые в начало образа какие-то левые непонятные данные и весь первый том (названный "в честь" идентификационного кода игры), оставляя только 2-й (названный просто LINUX)+$8000 байт перед ним.
На случай, если кто не шарит, ищутся тома по сигнатуре $1,"CD001",$1,$0, а сразу следом - название тома.

Лишь после отставления одного тома LINUX станут видны файлы disk0.img, frontend.set, su1.dat и su2.dat.
Следующий шаг опишу после детальнейшего исследования рома для PIC-шифратора. а с этим есть некоторые проблемы, ибо ничего похожего на карту памяти у PICа в MAMEовском драйвере Lindbergh нет - более того, он там даже не заэмулен как один из процессоров, а ром его занесён в базу пока что чисто "щоби був".
« Последнее редактирование: 14 Декабрь 2025, 12:55:14 от Томахомэ »

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 952
  • Пол: Мужской
    • Просмотр профиля
Небольшой скриптик на Python по извлечению всего дерева файлов из образов для Philips CD-i.
Побочные эффекты: образование пустой папки CDDA, если программа обращается к аудиодорожкам на самом диске как к файлам.

Работоспособность проверена на The Apprentice.

Добавил поддержку однодорожных дисков без прегэпа (в число которых входят Chaos Control и Thunder in Paradise).

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 952
  • Пол: Мужской
    • Просмотр профиля
На случай, если кто-то не доверяет рипам Sega Lindbergh'овских игр для Teknoparrot и считает их происхождение каким-то мутным и сомнительным (нередко - очень даже обоснованно, например, когда в самом неожиданном месте находишь какие-то файлы, которые дампер или публикатор явно добавил от себя), первый шаг, чтобы распакованный из CHDюка для MAME ISO хотя бы стал читаемым и монтируемым стандартными программами для работы с образами - откоциваем с помощью HEX-редактора занесённые в начало образа какие-то левые непонятные данные и весь первый том (названный "в честь" идентификационного кода игры), оставляя только 2-й (названный просто LINUX)+$8000 байт перед ним.
На случай, если кто не шарит, ищутся тома по сигнатуре $1,"CD001",$1,$0, а сразу следом - название тома.

Лишь после отставления одного тома LINUX станут видны файлы disk0.img, frontend.set, su1.dat и su2.dat.
Следующий шаг опишу после детальнейшего исследования рома для PIC-шифратора. а с этим есть некоторые проблемы, ибо ничего похожего на карту памяти у PICа в MAMEовском драйвере Lindbergh нет - более того, он там даже не заэмулен как один из процессоров, а ром его занесён в базу пока что чисто "щоби був".

Одна только радость - что содержимое рома для PIC здесь уже не просто набор различных данных, как у Naomi и Chihiro, а совершенно-таки чёткий код (см. ниже). Однако, без информации о карте памяти PICа в Lindberg'е полноценный реверс-энжинеринг под сильным вопросом, ибо без неё не понятно, что откуда берётся и куда заносится.