PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PS3 хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=207)
-   -   Конвертация и запуск игр PS1, PS2, PSP на PS3 HEN (https://www.pspx.ru/forum/showthread.php?t=107658)

ErikPshat 02.11.2018 18:35

Вложений: 2
В общем я понял, у тебя Японский образ, а я скачал английский.
  1. Я сначала скачал из PsnStuff Rayman (EN) NPEF00023 (150,72 Мб), всё распаковалось и декриптовался образ без ошибок. Но треки зашифрованы от начала до конца сплошняком.
  2. Потом увидел обычный Rayman NPUJ00005 (96,52 Мб) поменьше размером и с надписью на картинке PSX Classic.
  3. Там NPUJ00005 Rayman.pkg можно и так распаковать через PS3PKG_GUI, но я распаковал через PSN PKG Decryptor & Extractor v1.85 By LMAN (там просто мышкой кидаешь PKG).
  4. Потом у меня есть приватная сборка от Hykem (её из GitHub тут же Сони удалила, но я её снова залил сюда)))
  5. Потом скомпилировал Linux-версии обеих прог и вот что получилось:
    Декриптовка утилитой от Hykem
    Код:

    C:\PS3\ps3tools\tools\PsnStuff\downloads\UP9000-NPUJ00005_00-0000000000000001\USRDIR\CONTENT>psxtract_hykem -c EBOOT.PBP
    Unpacking PBP EBOOT.PBP...
    [0]        944 bytes | PARAM.SFO
    [1]      12984 bytes | ICON0.PNG
    [2]          0 bytes | ICON1.PMF
    [3]      42566 bytes | PIC0.PNG
    [4]      2651 bytes | PIC1.PNG
    [5]          0 bytes | SND0.AT3
    [6]      39119 bytes | DATA.PSP
    [7]  96954039 bytes | DATA.PSAR
    Successfully unpacked EBOOT.PBP!

    Single disc ISO detected!

    Found STARTDAT offset: 0x05c72170
    Saving STARTDAT as STARTDAT.BIN...

    Decrypting ISO header...
    ISO header successfully decrypted! Saving as ISO_HEADER.BIN...

    ISO disc: _SLUS_00005
    ISO title: Rayman

    Found SIMPLE data offset: 0x05c75007
    Decrypting SIMPLE data...
    SIMPLE data successfully decrypted! Saving as SIMPLE.BIN...

    Extracting audio track 02...
    Extracting audio track 03...
    Extracting audio track 04...
    Extracting audio track 05...
    Extracting audio track 06...
    Extracting audio track 07...
    Extracting audio track 08...
    Extracting audio track 09...
    Extracting audio track 10...
    Extracting audio track 11...
    Extracting audio track 12...
    Extracting audio track 13...
    Extracting audio track 14...
    Extracting audio track 15...
    Extracting audio track 16...
    Extracting audio track 17...
    Extracting audio track 18...
    Extracting audio track 19...
    Extracting audio track 20...
    Extracting audio track 21...
    Extracting audio track 22...
    Extracting audio track 23...
    Extracting audio track 24...
    Extracting audio track 25...
    Extracting audio track 26...
    Extracting audio track 27...
    Extracting audio track 28...
    Extracting audio track 29...
    Extracting audio track 30...
    Extracting audio track 31...
    Extracting audio track 32...
    Extracting audio track 33...
    Extracting audio track 34...
    Extracting audio track 35...
    Extracting audio track 36...
    Extracting audio track 37...
    Extracting audio track 38...
    Extracting audio track 39...
    Extracting audio track 40...
    Extracting audio track 41...
    Extracting audio track 42...
    Extracting audio track 43...
    Extracting audio track 44...
    Extracting audio track 45...
    Extracting audio track 46...
    Extracting audio track 47...
    Extracting audio track 48...
    Extracting audio track 49...
    Extracting audio track 50...
    Extracting audio track 51...
    Audio tracks successfully extracted!

    Building the final ISO image...
    ISO image successfully reconstructed! Saving as ISO.BIN...

    Converting the final ISO image...
    Fixing CD-ROM image...
    The CD-ROM image has been fixed!
    Generating CUE file...
    ISO image successfully converted to CD-ROM format!

    Декриптовка утилитой от zecoxao
    Код:

    C:\PS3\ps3tools\tools\PsnStuff\downloads\UP9000-NPUJ00005_00-0000000000000001\USRDIR\CONTENT>psxtrac
    t_zecoxao -c EBOOT.PBP
    Unpacking PBP EBOOT.PBP...
    [0]        944 bytes | PARAM.SFO
    [1]      12984 bytes | ICON0.PNG
    [2]          0 bytes | ICON1.PMF
    [3]      42566 bytes | PIC0.PNG
    [4]      2651 bytes | PIC1.PNG
    [5]          0 bytes | SND0.AT3
    [6]      39119 bytes | DATA.PSP
    [7]  96954039 bytes | DATA.PSAR
    Successfully unpacked EBOOT.PBP!

    Single disc ISO detected!

    Found STARTDAT offset: 0x05c72170
    Saving STARTDAT as STARTDAT.BIN...

    Decrypting ISO header...
    ISO header successfully decrypted! Saving as ISO_HEADER.BIN...

    ISO disc: _SLUS_00005
    ISO title: Rayman

    Found special data offset: 0x05c75007
    Decrypting special data...
    Special data successfully decrypted! Saving as SPECIAL_DATA.BIN...

    Building the final ISO image...
    ISO image successfully reconstructed! Saving as ISO.BIN...

    Converting the final ISO image...
    Fixing CD-ROM image...
    ERROR: Encountered unknown mode! This is probably not a proper image.
    Generating CUE file...
    ISO image successfully converted to CD-ROM format!

У zecoxao почему-то в конце выползает ERROR: Encountered unknown mode! This is probably not a proper image.
Короче, треки всё равно получаются шифрованными.
Утилитки заливаю во вложение.
Если у тебя удалось скомпилить Windows-версии, то залей их, у меня нетбук не тянет Visual Studio.

Цитата:

Сообщение от rupor (Сообщение 1156205)
Ну я ж писал выше

Видел, но я тоже писал же выше )))
Цитата:

Сообщение от ErikPshat (Сообщение 1156202)
Ну у меня то же самое получилось, только на 10 файлов больше


rupor 02.11.2018 20:55

Цитата:

Сообщение от ErikPshat (Сообщение 1156206)
Если у тебя удалось скомпилить Windows-версии, то залей их


ErikPshat 02.11.2018 22:01

Заголовки у AT3 получаются размером 0x60 байт такого типа:
Код:

00000000 52 49 46 46 40 8C 70 00 57 41 56 45 66 6D 74 20 RIFF@.p.WAVEfmt
00000010 34 00 00 00 FE FF 02 00 44 AC 00 00 CA 9C 00 00 4.......D.......
00000020 48 07 00 00 22 00 00 08 03 00 00 00 BF AA 23 E9 H...".........#.
00000030 58 CB 71 44 A1 19 FF FA 01 E4 CE 62 01 00 28 E8 X.qD.......b..(.
00000040 00 00 00 00 00 00 00 00 66 61 63 74 08 00 00 00 ........fact....
00000050 97 9B 7B 00 00 08 00 00 64 61 74 61 E8 8B 70 00 ..{.....data..p.

Разница между разными форматами в 4-ёх местах:
  • 0x04 - размер всего файла от позиции 0x08 и до конца.
  • 0x20 - (ave=1864bytes)
  • 0x2C - непонятно что, 40138 в данном случае.
  • 0x5C - размер тела от 0x60 до конца.
Неизменяющиеся данные:
  • 0x00 - RIFF - Magic Header
  • 0x08 - WAVEfmt - формат
  • 0x18 - 44AC = 44100 Hz
  • 0x48 - fact
  • 0x58 - data

DruchaPucha 02.11.2018 23:51

Понятно, значит формат другой, отсюда размер небольшой. NPUJ00005 - это NTSC-USA (SLUS-00005), её как раз пираты переводили на PS1.

rupor 03.11.2018 10:23

Цитата:

Сообщение от ErikPshat (Сообщение 1156230)
0x2C - непонятно что, 40138 в данном случае.

эм..
0x2C или все же 0x1C ?

0х1С - CA9C0000 - битрейт = 320 kbps

ErikPshat 05.11.2018 01:35

Цитата:

Сообщение от rupor (Сообщение 1156265)
0х1С - CA9C0000 - битрейт = 320 kbps

Да, версно, не 0x2C, а 0x1C. Что-то до меня не доходит, как ты это вычислил?

Хотя, как ты говорил, что это файлы с обрезанным заголовком, z пытался подставить заголовок, но думаю это напрасно, потому что это не похоже на файл с обрезанным заголовком, скорее всего это просто шифрованный WAVE-файл, который дешифруется в памяти в обычный WAV с обычным заголовком. Нужно попробовать сдампить из памяти на PSP или через эмулятор PPSSPP.

UPDATE
Вообщем сдампил из памяти PSP user-память на момент первой музыкальной заставки (очень короткой).
Причём игра запускается на PSP только при наличии файла KEYS.BIN: 24EC326FF8FF6BAD30D0B89F43AF74F0
Видимо этим ключом, отличным от RAP, дешифруются данные игры.
Нашёл в дампе начало музыки в позиции 0xC80000 по 0xC8DC80, длина трека размером 0xDC80.

https://i6.imageban.ru/out/2018/11/0...70185d7d17.png

Нашёл этот кусок в TRACK 02.BIN, причём не в начале, а где-то чуть ранее середины с позиции 0xDE00 и не до конца.

https://i2.imageban.ru/out/2018/11/0...8ae14779da.png

Выходит в этом TRACK 02.BIN находится несколько мелодий и звук берётся с определённого смещения.
Причём файл разбит на блоки по 0xC0 (192) байт и каждый блок начинается с A20003(8F).
Короче, осталось определить, что это за формат такой :D

rupor 05.11.2018 07:35

Цитата:

Сообщение от ErikPshat (Сообщение 1156431)
Да, версно, не 0x2C, а 0x1C. Что-то до меня не доходит, как ты это вычислил?

Методом тыка.:D Изменял значение и смотрел, что поменяется в свойствах файла.
0x2C Продолжительность трека в сэмплах. Как я понял значение берется из wav файла.
Цитата:

Сообщение от ErikPshat (Сообщение 1156431)
Хотя, как ты говорил, что это файлы с обрезанным заголовком, z пытался подставить заголовок, но думаю это напрасно

Я проверил на игре NPUJ01288 Bowling. Вытащил аудио из eboot.pbp и попробовал прикрутить хедер к TRACK 14.BIN.
Хедер делал точно такой же, как и у файлов сделанных с помощью at3tool.
Код:

00000000  52 49 46 46 C4 55 3F 00 57 41 56 45 66 6D 74 20  RIFFДU?.WAVEfmt
00000010  20 00 00 00 70 02 02 00 44 AC 00 00 9A 40 00 00  ...p...D¬..љ@..
00000020  80 01 00 00 0E 00 01 00 00 10 00 00 00 00 00 00  Ђ...............
00000030  01 00 00 00 66 61 63 74 08 00 00 00 30 DB A8 00  ....fact....0ЫЁ.
00000040  00 04 00 00 64 61 74 61 80 55 3F 00              ....dataЂU?.

От разобранного тобой выше хедера он отличается только размером 0x4C, в остальном все почти также.
Ну соб-со вот результат http://rgho.st/82kNkrNc2. VLC и AIMP спокойно запускают файл.
Цитата:

Сообщение от ErikPshat (Сообщение 1156431)
Выходит в этом TRACK 02.BIN находится несколько мелодий и звук берётся с определённого смещения.

Не. Один целый файл. Возможно на psp обрезается 2 секунды тишины, которые добавлены в начало и конец файла.
Цитата:

Сообщение от ErikPshat (Сообщение 1156431)
Причём файл разбит на блоки по 0xC0 (192) байт и каждый блок начинается с A20003(8F).

Это как раз и указывает, что используется кодек atrac. Сконвертируй любой файл в atrac и посмотри, после хедера как раз и начинают идти блоки размером 0хС0 и начинаться они будут с А2 или А0

ErikPshat 05.11.2018 20:54

Вложений: 1
Цитата:

Сообщение от rupor (Сообщение 1156444)
после хедера как раз и начинают идти блоки размером 0хС0 и начинаться они будут с А2 или А0

Опа, а я и бревна в глазу не заметил ))). Что-то невнимательный стал, там эти байты со сдвигом идут, видимо хедер другой.

Вот ещё по поводу сэмлов: https://www.pspx.ru/forum/showpost.php?p=1096125
Длительность в "Семплах" из смещения 0x50 файла at3 (видимо зависит от формата заголовка).
Sample - звуковой фрагмент. Длительность рассчитывается по формуле: Samples = Hz x Time.
Например, у файла "stream 00001.at3": (0x00027BF2) 162802 = 44100 Hz x 3,692 (сек).

В общем всё ясно, это ATRAC3 PLUS формат, просто без заголовка. У разных размеров и битрейтов - немного разный заголовок.
Вот его спецификация:
Код:

        00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEF

00000000 52 49 46 46 C4 E0 02 00 57 41 56 45 66 6D 74 20 RIFF....WAVEfmt
00000010 20 00 00 00 70 02 02 00 44 AC 00 00 9A 40 00 00  ...p...D....@..
00000020 80 01 00 00 0E 00 01 00 00 10 00 00 00 00 00 00 ................
00000030 01 00 00 00 66 61 63 74 08 00 00 00 00 58 0F 00 ....fact.....X..
00000040 00 04 00 00 64 61 74 61 80 E0 02 00            ....data....

  • 0x00 - RIFF - Magik
  • 0x04 - размер файла от 0x08 и до конца.
  • 0x08 - WAVEfmt - формат
  • 0x18 - 44AC0000 - 44100 Hz
  • 0x1C - 9A400000 - 132 kbps
  • 0x20 - (ave=384bytes) average
  • 0x34 - fact
  • 0x3C - Samples - количество сэмплов (скриншот в GoldWave)
  • 0x44 - data
  • 0x48 - размер тела, всегда после data, от 0x4C до конца.

Вот я подобрал заголовки ко всем трекам от официальной игры NPUJ00005 Rayman: :download: TRACK 02-51

rupor 06.11.2018 09:41

Цитата:

Сообщение от ErikPshat (Сообщение 1156491)
это ATRAC3PLUS формат

Просто ATRAC3. Без PLUS.
ATRAC3
  • bitrate = 52[kbps], Ch = 1[ch], Sampling Rate = 44100[Hz]
  • bitrate = 66[kbps], Ch = 1[ch], Sampling Rate = 44100[Hz]
  • bitrate = 66[kbps], Ch = 2[ch], Sampling Rate = 44100[Hz]
  • bitrate = 105[kbps], Ch = 2[ch], Sampling Rate = 44100[Hz]
  • bitrate = 132[kbps], Ch = 2[ch], Sampling Rate = 44100[Hz]
ATRAC3plus
  • bitrate = 32[kbps], Ch = 1[ch], Sampling Rate = 44100[Hz]
  • bitrate = 48[kbps], Ch = 1[ch], Sampling Rate = 44100[Hz]
  • bitrate = 64[kbps], Ch = 1[ch], Sampling Rate = 44100[Hz]
  • bitrate = 96[kbps], Ch = 1[ch], Sampling Rate = 44100[Hz]
  • bitrate = 128[kbps], Ch = 1[ch], Sampling Rate = 44100[Hz]
  • bitrate = 48[kbps], Ch = 2[ch], Sampling Rate = 44100[Hz]
  • bitrate = 64[kbps], Ch = 2[ch], Sampling Rate = 44100[Hz]
  • bitrate = 96[kbps], Ch = 2[ch], Sampling Rate = 44100[Hz]
  • bitrate = 128[kbps], Ch = 2[ch], Sampling Rate = 44100[Hz]
  • bitrate = 160[kbps], Ch = 2[ch], Sampling Rate = 44100[Hz]
  • bitrate = 192[kbps], Ch = 2[ch], Sampling Rate = 44100[Hz]
  • bitrate = 256[kbps], Ch = 2[ch], Sampling Rate = 44100[Hz]
  • bitrate = 320[kbps], Ch = 2[ch], Sampling Rate = 44100[Hz]
  • bitrate = 352[kbps], Ch = 2[ch], Sampling Rate = 44100[Hz]

Проверьте музыку в игре. Должна играть в меню, где начать игру, опции и все такое.
Moorhuhn X .pkg

rupor 07.11.2018 16:32

Замоделил пробную версию для игр на одном диске.
  1. В папку ISO кидаем образ игры.
  2. Треки конвертируем с помощью SONY Sound Forge (как это сделать читаем тут https://www.pspx.ru/forum/showpost.php?p=1150835. спойлер CDDA игры, первый и второй пункты.) и кидаем в папку TRACK получившиеся .аа3 файлы.
  3. Запускаем PSX to PS3 CONVERTER.exe, ждем окончания конвертации, забираем свой pkg.
https://mega.nz/#!NTYzGIRT!HgcVtErcP...reX8DSqNylaXkk
Пробуйте кароч.

ErikPshat 08.11.2018 04:23

Цитата:

Сообщение от rupor (Сообщение 1156635)
Треки конвертируем с помощью SONY Sound Forge

А почему не MAGIX Sound Forge Pro?
Там же ничего в функционале не изменилось, кроме названия.
Скриншоты в том посту по поводу CDDA залил более адекватные )))

rupor 08.11.2018 05:04

Цитата:

Сообщение от ErikPshat (Сообщение 1156676)
А почему не MAGIX Sound Forge Pro?
Там же ничего в функционале не изменилось, кроме названия.

Да просто. Через что сам делал, то и написал.
Ну если между ними нет разницы, то можно использовать и MAGIX Sound Forge Pro.

ErikPshat 08.11.2018 06:37

rupor, я ещё не смотрел, что ты там добавил в конвертере, думаю обрезаешь заголовки?
Хорошо бы автоматизировать процесс какой-нибудь консольной утилитой.
Ну уже хорошо, что есть иправлятор CDDA, а я как раз на прошлой неделе изучил смещения файлов более 2ГБ, и даже начал писать исправлялку, так что скоро будет готова, просто не было времени ей заниматься. До 2-ух гигов она чётко всё проверяет, но вот после двух вылетает, потому что консольные команды не умеют работать с вычислениями более 32 бит, поэтому нужно искать другое обходное решение.

rupor 08.11.2018 09:04

Цитата:

Сообщение от ErikPshat (Сообщение 1156696)
я ещё не смотрел, что ты там добавил в конвертере, думаю обрезаешь заголовки?

Ну это версия для тестов, т.к. я сам проверить не могу, у меня ps3 сейчас нет. Так что нужно чтоб кто-то сначала проверил, работает ли.

Я на время убрал английскую версию в батнике, оставил только русскую.
  • Находит смещение startdat в eboot.pbp.
  • У файлов .aa3 обрезается хедер, все оставшееся поочерёдно криптуется с помощью cryptor.exe (хотя, вроде, можно и не криптовать, но решил оставить) и собирается в track.bin.
  • Тут же составляется таблица (table.bin), где для каждого трека указано: оффсет начала трека, размер файла и ключ дешифровки.
  • Фиксится eboot.pbp.
    table.bin вставляется в 0х10С00, track.bin вставляется в смещение startdat.

Цитата:

Сообщение от ErikPshat (Сообщение 1156696)
Хорошо бы автоматизировать процесс какой-нибудь консольной утилитой.

Из не автоматизированного осталось придумать только как выдирать треки из образа и конвертировать в ATRAC3.
Риперов для выдирания аудио прям из образа я не нашел. Везде нужно монтировать образ.
Что до конвертации в ATRAC3, то я хз. Если есть консольные утилиты которые умеют конвертировать в ATRAC3, то предлагайте.
Выше оставил ссылку на Moorhuhn X.pkg, там треки сконвертированы через at3tool, но пока никто не проверил. Если музыка в игре запоет, то можно будет прикрутить at3tool.

ErikPshat 08.11.2018 09:24

Цитата:

Сообщение от rupor (Сообщение 1156700)
at3tool

А я думаю одно и то же получится, что через at3tool, что через SoundForge, потому что и там и там конвертируется кодеком ATRAC3 (без PLUS) и параметры практически одинаковые. Просто aa3 конвертируется с другим заголовком, а смещения A20003 и там и там имеются в разном количестве.

DruchaPucha 08.11.2018 23:53

Moorhuhn X - музыка вроде как и есть, во всяком случае в меню. А вот попробовал конвертировать Grid Runner, музыки нет.

rupor 09.11.2018 17:34

Проверил. Со смещениями все нормально. :unknw:
Возможно проблема была в том, что я прописал для всех файлов один ключ шифрования. Исправил.
Добавил at3tool. Достаточно закинуть файлы .wav в папку TRACK, в процессе конвертации скрипт сам все сделает.

PSX to PS3 CONVERTER

DruchaPucha 10.11.2018 16:34

Сейчас попробую. Может я с именами что-то намудрил, у меня такое название Track02 и.т.д, правильно?

rupor 10.11.2018 16:40

Цитата:

Сообщение от DruchaPucha (Сообщение 1156987)
Может я с именами что-то намудрил, у меня такое название Track02 и.т.д, правильно?

Да. Правильно.

DruchaPucha 10.11.2018 17:16

Не знаю может что не так делаю. Скачал образ из redump коллекции, распаковал, открыл в CDMage, извлёк треки в wav, образ (1 трек) в формате bin кинул в папку ISO, а треки в wav в папку TRACK. Запустил PSX to PS3 CONVERTER, выбрал игру и жду когда всё конвертируется, после устанавливаю на консоль, музыки нет. Проверял игру Adventures of Lomax.


Текущее время: 19:13. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.