PSX Planet: SONY PlayStation Community

PSX Planet: SONY PlayStation Community (https://psxplanet.ru/forum/index.php)
-   SONY PlayStation - TechSupport (https://psxplanet.ru/forum/forumdisplay.php?f=20)
-   -   lba зависимость и трудности извлечения. (https://psxplanet.ru/forum/showthread.php?t=36954)

botik 11.07.2020 23:30

lba зависимость и трудности извлечения.
 
Первое знакомство.

Некоторые игровые диски работают строго по секторам игнорируя служебную информацию.Другими словами не имеет значения имена папок и файлов а также их количество на диске(их вообще может не быть :Crono Cross , Threads Of Fate ).

На примере докажем что у диска Bugs Bunny - Lost in Time [SLUS-00838]
есть lba зависимость.Нам нужно стереть служебную информацию и проверить останется ли он рабочим.

При удалении нужно обязательно оставить 2 файла(SYSTEM.CNF,и ещё файл который SYSTEM.CNF запускает) и в том же месте строго по lba

На картинке видно как было и как должно получится.Несмотря на то что остались 2 файла размер диска не изменился.Он запускается и работает как оригинал.


http://psxplanet.ru/forum/attachment...1&d=1594498771

Информацию я удалял вручную но выложу xdelta патч который все удалит с диска.Кто захочет проверить работоспособность.

Если распаковать такой образ то у нас получится извлечь только 2 файла.А где остальное? Остального нет.Разработчик информацию о файлах и папках создал для своего удобства и забыл её стереть.Мы сделали это за него.=)

Но хуже всего когда разработчик оставляет фейковую информацию.
К примеру на диске точно есть видео файл а он регистрируется как обычный файл.И при извлечении утилитами вы потеряете звуковую дорожку.

Не всегда доверяйте служебной информации диска,особенно той где имеется lba зависимость.

botik 12.07.2020 14:44

Пересборка диска Threads of Fate

1.Знакомство с диском

Размер диска Threads of Fate (USA) составляет 357454608 байт.
Вычисляем количество секторов 357454608 / 2352=151979 пронумеруем их как (0-151978)

Открываем диск в IsoBuster и видим 2 файла

http://psxplanet.ru/forum/attachment...1&d=1594554137

SLUS_010.19 по адресу 35
SYSTEM.CNF по адресу 339


Эти файлы расположены вплотную.Потому что размер
SLUS_010.19 составляет 304(lba)


http://psxplanet.ru/forum/attachment...1&d=1594554137

35+304=339(начало файла SYSTEM.CNF)


Но данные на диске (всегда!?) начинаются с номера сектора 23.И у нас возникли невидимые данные от 23 до 34(lba). После файла SYSTEM.CNF тоже находятся невидимые данные вплоть до окончания диска от 340 до 151978(lba)

Теперь можно составить общую картину диска

23-34 <DATA1>
35-338 <SLUS_010.19>
339-339 <SYSTEM.CNF>
340-151978 <DATA2>

2.Извлечение данных

Без труда можно извлечь SLUS_010.19,SYSTEM.CNF.
Для извлечения DATA1 и DATA2 воспользуемся утилитой mode2cdmaker в командной строке

mode2cdmaker -read_form2 <lba1> <lba2> <image> <file>

<lba1,lba2> -начальный и конечный адрес lba для извлечения в hex формате
<image> -образ откуда будем извлекать
<file> -имя который получит извлеченный кусок

DATA1 пусть будет с именем PRIZM23.BIN (имя может быть любым)
lba1 = 23 = 0x17
lba2 = 34 = 0x22
mode2cdmaker -read_form2 17 22 image.bin PRIZM23.BIN


DATA2 пусть будет с именем PRIZM340.BIN
lba1 = 340 = 0x154
lba2 = 151978 = 0x251AA
mode2cdmaker -read_form2 154 251AA image.bin PRIZM340.BIN

Файлы PRIZM23.BIN и PRIZM340.BIN извлекутся в потоковом формате.Это важно учитывать при пересборке образа.

3.Сборка образа

Для сборки нужно последовательно добавить файлы соблюдая порядок.

PRIZM23.BIN(добавить как поток)
SYSTEM.CNF(файл)
SLUS_010.19(файл)
PRIZM340.BIN(поток)

Получится так

http://psxplanet.ru/forum/attachment...1&d=1594554137

Если все сделали правильно то диск будет работать.=)


Часовой пояс GMT +3, время: 07:05.

Перевод: zCarot
Права | Copyright ©
© PSX Planet Community 2003-2024