Репутация: 229 
(весьма и весьма положительная личность)
[PoC] Делаем образы PS3 дисков с помощью ПК и дешифруем их
С выходом PS3 Sony начала активно внедрять шифрование везде, где только можно...в том числе и играх, на оптических носителях. Ранее копирование этих дисков иными способами (кроме приставки с кастомной прошивкой) считалось невозможным. С выходом первых ODE стало возможно снятие ключей дешифровки из специальной области на диске, которую может считать только привод PS3. Теперь, имея на руках необходимые ключи можно дешифровать образ, снятый через привод ПК.
Собственно, что нам требуется для данного мероприятия:
- Диск и BluRay привод, которые такие диски распознаёт и читает;
- Утилита для снятия ISO-образа (Alcohol 120%, и т.п...);
- 3k3y IsoTools + .ird топология образа.
Снимаем с диска ISO, через 3k3y собираем зашифрованный образ из дампа игры + .ird, вытаскиваем оттуда 84 байта с ключём дешифровки и вставляем в наш образ.
Снимаем с диска ISO, скачиваем подходящий .ird-файл (топологию), с помощью патчера зашиваем в образ ключи дешифровки и через 3k3y iso tools дешифруем наш образ.
На скорую руку накалякал вот такой патчер на C#, часть кода позаимствовал в просторах гугла (84 байта "счастья" для Naruto: Ultimate Ninja Storm [BLES00371])
Переписал патчер, скачиваем финальный вариант из вложений.
старый код
string selectedPath;
string hexString = "456E6372797074656420334B20424C44
C55AECE966CFECE388D5A5FEE86D8681
49A04D94D1DCB12E4355057F8227BD66
10020000444901080000200042444F01
11010100000000000050165F00100000
0050165E";
public bool ByteArrayToFile(string _FileName, byte[] _ByteArray)
{
try
{
// Open file for reading
System.IO.FileStream _FileStream =
new System.IO.FileStream(_FileName, System.IO.FileMode.Open,
System.IO.FileAccess.Write);
// Writes a block of bytes to this stream using data from
// a byte array.
_FileStream.Seek(3952, SeekOrigin.Begin);
_FileStream.Write(_ByteArray, 0, _ByteArray.Length);
// close file stream
_FileStream.Close();
return true;
}
catch (Exception _Exception)
{
// Error
Console.WriteLine("Exception caught in process: {0}",
_Exception.ToString());
}
// error occured, return false
return false;
}
public static byte[] StringToByteArray(string hex)
{
return Enumerable.Range(0, hex.Length)
.Where(x => x % 2 == 0)
.Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
.ToArray();
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.ShowDialog();
if (dialog.FileName == "")
{
MessageBox.Show("No file was selected!", "Load Image", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else if (dialog.FileName != "")
{
selectedPath = dialog.FileName;
textBox1.Text = selectedPath;
}
}
private void button2_Click(object sender, EventArgs e)
{
ByteArrayToFile(selectedPath, StringToByteArray(hexString));
MessageBox.Show("Done!");
}
Репутация: 229 
(весьма и весьма положительная личность)
in1975, допустим, у тебя есть диск с God of War 3, привод на пс3 сломан, а качать 40Gb на данный момент возможности нет Снял образ, пропатчил 84 байта и дешифровал
Репутация: 229 
(весьма и весьма положительная личность)
in1975, ну, тут двойственная ситуация. Особенно с зарубежными товарищами, у которых диск с игрой есть, а сдампить его не на чём. Что-либо скачивать они публично категорически не хотят Относится это дело к теме эмуляции PS3 на PC через Rpcs3.
Боюсь, что без личного заводика по производству штамповок тут не обойтись
Репутация: 229 
(весьма и весьма положительная личность)
Всю необходимую инфу можно вытащить из .ird без геморроя со сборкой зашифрованного образа (добавил скриншот в шапку темы). Теперь назревает вопрос, как устроен формат .ird, и как бы по-удобней эти ключи оттудава достать. Hex-редактор в голом виде их не находит, похоже, что формат чем-то запакован либо байты перевёрнуты.
Репутация: 229 
(весьма и весьма положительная личность)
ErikPshat, спасибо, теперь всё сходится
BlackDaemon добавил 14.02.2017 в 04:40
Добавил финальный вариант патчера в шапку. Переписывать всё заново было влом, потому просто прикрутил выдёргивание ключа из .ird к тому, что было
Последний раз редактировалось BlackDaemon; 14.02.2017 в 04:40.
Причина: добавил, подумав
Репутация: 229 
(весьма и весьма положительная личность)
ErikPshat, нет, утилита сделана для тех, у кого есть пачка дисков для PS3, а консоль с оф. прошивкой или навернулась. Но есть возможность снять ISO-образ на ПК. С помощью данной утилиты в него зашивается ключ дешифровки и он через 3k3y iso tools дешифруется. Например, для запуска игры на эмуляторе RPCS3 (имея на руках только диск и возможность снять образ на ПК).
BlackDaemon, а-а-а, то есть, на Blu-Ray дисках игры вдобавок зашифрованы? И если на ПК сдампить с болванки ISO-образ, то в образе типа всё будет зашифровано и типа всё содержимое можно расшифровать?
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Репутация: 229 
(весьма и весьма положительная личность)
ErikPshat, да, всё верно (касается ретейл дисков). Не зашифрованы могут быть только некоторые промо/превью диски (которые запускают на дебаг консолях).
К сожалению не везде как вы сказали есть интернет позволяющий скачивать большие объемы- это раз. Ао вторых цензура сайтов, блокировка торрент, и невозможность использовать vpn. А поиграть хочется. Покупать дорого, а взять у друга это всегда приятно.
Репутация: 229 
(весьма и весьма положительная личность)
ErikPshat, это более продвинутый и автоматизированный проект от человека, который пересекается с RPCS3 Начиналось с моей утилитки, но решили более user-friendly сделать и автоматизировать процесс
Идея программы хорошая. Я давно о ней думал. Однако всё равно кто-то должен сделать IRD файл. А сделать это можно только с помощью специального устройства. Так что практический смысл не велик.
Однако всё равно кто-то должен сделать IRD файл. А сделать это можно только с помощью специального устройства.
А если просто сдампить образ в шифрованном виде и сделать на основе шифрованного образа IRD-файл с помощью Redump2IRD.exe, да и просто образ декриптовать с помощью этой темы: PS3-ISO-Rebuilder. По-моему так намного проще, будет и IRD, и декриптованный рабочий образ.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Это всё очень странно и не понятно. Что вообще делает Redump2IRD.exe? Просит ввести ключи шифрования Blu-Ray диска. А откуда я их знаю? Эти ключи только привод PS3 способен прочитать.
Я с таким же успехом могу написать универсальный взломщик всех существующих приставок. Только пользователь должен будет вручную вписать все необходимые ключи шифрования.
Последний раз редактировалось Smich; 21.10.2023 в 20:23.