PDA

Просмотр полной версии : Что да как (история взлома IPL)


Yoti
13.02.2025, 01:38
Источники информации:

https://www.psdevwiki.com/psp/index.php?title=Motherboards
https://www.psdevwiki.com/psp/Vulnerabilities#iplloader


Описание процесса:
Написано на скорую руку, требует уточнений

Первым в цепочке загрузки выступает SysCon (https://www.psdevwiki.com/psp/Baryon)

SysCon общается с аккумулятором (или иным схожим устройством)

Серийный номер 00000000 для АВТОзагрузки из NAND
Блок информации временно опущен из описания
Серийный номер FFFFFFFF для загрузки с КП

Старый набор ключей для Tachyon с 00140000 по 00600000 (Baryon 00263100) [1000/2000]
Ключи присутствуют в официальных аккумуляторах PSP-110 (1000)
Ключи присутствуют в официальных аккумуляторах PSP-S110 (2000/3000) [уточнить!]
Новый набор ключей для Tachyon 00600000 (Baryon версии новее 00263100) [ранние 3000]
Самый новый набор ключей для Tachyon версии 00720000+ [свежие 3000, N1000 и E1000]

Другой серийный номер для загрузки из NAND
Тут тоже присутствует обмен ключами, но это уже не так интересно

В случае успеха обмена данными отправляет указ Pre-IPL

Пропустить часть проверок (XOR) и загрузиться с КП
Выполнить все проверки и загрузиться из NAND


Далее передаётся управление в Pre-IPL (https://www.psdevwiki.com/psp/Iplloader) (существует три версии Pre-IPL)

Первая (https://www.psdevwiki.com/psp/Iplloader#First_version) для Tachyon с 00140000 по 00300000 от 20040420
Платы с 079 (1000) по 081 (1000) - минимум проверок, включая игнор даунгрейда
Вторая (https://www.psdevwiki.com/psp/Iplloader#Second_version) для Tachyon с 00400000 по 00500000 от 20050104
Платы с 082 (1000) по 088v2 (2000) - чуть больше проверок, включая даунгрейд
Третья (https://www.psdevwiki.com/psp/Iplloader#Third_version) для Tachyon с 00600000 по 00900000 от 20070910
Платы с 088v3 (2000) по 097 (E1000) - максимум проверок
Дамп получен Davee при помощи глитч атаки

Непосредственно IPL выполняет загрузку

С карты памяти

Для Tachyon XXX проверка обходится при помощи предварительно подобранного блока (https://www.psdevwiki.com/psp/Initial_Program_Loader#Bruteforce_forger)
Для Tachyon XXX проверка обходится при помощи XXX
Для Tachyon XXX проверка обходится при помощи XXX

Из NAND памяти
Для Tachyon 0x140000-0x500000 проверка обходится при помощи крафтового Пандора блока
Для Tachyon 0x600000-0x900000 проверка обходится при помощи load addr или xor hash