с возможностью восстановления PSP-3000 на базе TA-090 и TA-092
За чуть более, чем десять лет все пользователи PSP-3000 и позднее свыклись с тем, что их консоли не поддаются восстановлению в домашних условиях из соображений "безопасности" Сони. По сей день владельцы этих консолей боятся брика, как огня. Поскольку гарантия на все PSP уже закончилась, брикнутые PSP поздних моделей отправляются разве что на запчасти, либо в долгий ящик, откуда бы не вернулись никогда... если бы не существовала эта тема :)
Благодаря усердному труду известных хакеров сцены PlayStation (zecoxao, Proxima, Mathieu Hervais) на костях до недавнего времени закрытой темы по взлому батарейки Пандоры на PSP-3000 было продолжено дело Бори - были успешно сдамплены прошивки системных контроллеров некоторых поздних моделей, а из них были получены ключи системного контроллера, используемые для генерации шифрованных запросов 0x80 и 0x81, отсутствие которых в потребительских батарейках поставило крест на легкодоступной Пандоре. Proxima создал скрипт, позволяющий генерировать требуемые ответы.
Применить это к физическим PSP можно только при наличии эмулятора контроллера батарейки - того, что мы всей командой хотим Вам представить.
Видеоинструкция по анбрику PSP-3000 (доступны русские субтитры!)
Демонстрация работы BaryonSweeper на 3000 TA-090 (спасибо Yoti за снятие проклятья безэкрания!)
BaryonSweeper стал возможен благодаря:
M4j0r - помощь в эксплуатации глюка Voltage Fault Injection сискона;
Wildcard, Sean Shablack aka Kyp40 aka FBIsoBOT - Эксплуатация глюка и дамп сискона;
Proxima - обратная разработка прошивки сискона, скрипт генерации ответов на запросы аутентификации;
khubik - код эмулятора батарейки, порт скрипта генерации ответов, дизайн интерфейса;
dogecore - порт скрипта генерации ответов, починка потоков, код интерфейса;
Mathieu Hervais - код хоумбрю decrypt_os2, decrypt_sp;
SSL/Zerotolerance - возможность обратного шифрования для расшифрованных файлов;
zecoxao - порты decrypt_os2 и decrypt_sp на ПК, обеспечение платами, помощь в порте скрипта генерации ответов;
Yoti - улучшения decrypt_sp, MSID Dumper, PSP-3000 для тестов (<3), участие в теме взлома Пандоры PSP-3000;
EriKPshat - информация о JigKick, участие в теме взлома Пандоры PSP-3000, инструкции по созданию комплектов Пандоры, создание официального сервисного комплекта JigKisk PSP-100x/200x из дампа оригинальной сервисной карты;
Boryan, lport3, dx3d, stasik007 и многие другие из темы взлома Пандоры PSP-3000 - записи коммуникации батарейки и PSP, обратная разработка протокола коммуникации, схемы аппаратного обеспечения для взаимодействия с PSP и многое другое...
PSP-1000: поддерживаются все модели, необходимости в клоне официальной карты JigKick нет.
PSP-2000: поддерживаются все модели; клон официальной карты JigKick или DdC V9 необходим только TA-088v3 (DATE CODE 8C).
PSP-3000: частичная поддержка, матплатам от TA-093 и старше требуется официальной карты JigKick - 90v2 и 92 могут использовать DdC V9!
TA-095v1 (DATE CODE 0C, 0D) - поддерживается в pysweeper, требуется клон карты JigKick
TA-095v1 (DATE CODE отсутствует) - поддерживается в pysweeper, требуется клон карты JigKick
TA-095v2 (DATE CODE 1A, 1B, 1C, 1D) - поддерживается в pysweeper, требуется клон карты JigKick
PSP-N1000 (PSPgo) - не поддерживается
PSP-E1000 (PSP Street) - поддерживается, но отсутствует образ карты
Поддержка моделей, указанных в списке как неподдерживаемые ожидается и вводится по мере дампа и обратной разработки прошивок системных контроллеров. Точных дат нет, просим вас не требовать добавить новые консоли - это будет сделано сразу же, как только будут получены ключи для конкретной модели. Также идёт поиск решения проблемы с отсутствием дампов карт JigKick, способных восстанавливать консоли с минимальной версией прошивки 6.30 и выше - скорее всего, поддержка таких консолей появится в последнюю очередь.
Решение нашлось - уважаемые draanPSP и balika001 смогли создать собственную карту Пандоры со своим IPL, поэтому теперь зависимости от официальных карт JigKick у нас больше нет :p: https://twitter.com/balika011/status...917561345?s=20
Создание аппаратной части эмулятора батареи
Для изготовления потребуется конвертер из USB в TTL (подойдёт Arduino с замкнутыми RESET и GND), резистор на 10 кОм, диод 1N4148 и немножко креатива с тем, как подключить землю и сам однопроводный UART (он же K-Line) к PSP, причём не допустив к среднему контакту родную батарею PSP :)
Авторский метод - через жертвенную батарею либо изоляцию контакта на уже существующей. Не забудьте соединить земли USB-TTL с PSP, иначе ничего не заработает.
Альтернативу реализовал dee098 - вам не потребуется компьютер и USB-TTL-адаптер, лишь Arduino, что делает возможным реализацию портативного инструмента восстановления. Пока только для продвинутых пользователей, способных без посторонней помощи поменять ответы на требуемые запросы, скачать здесь - Вложение 17540
Если хотите превратить вариант с Arduino / ATMega328p в конечный продукт и у вас хватает на это усидчивости и терпения - Valera0141 с некоторой помощью от dee098 сделал свой проект портативной сервисной батарейки.
Что такое USB-TTL преобразователь?
USB-TTL преобразователь определяется в системе как последовательный порт, обеспечивая согласование уровней и, собственно, связь с устройствами, использующими UART (как в нашем случае). Может быть исполнен в схожести в флешкой или как кабель.
Коммуникация с устройствами происходит через пины RX (как правило - белый) и TX (как правило - зелёный). Также обязательно соединять землю. Для общения с PSP нам требуется объединить 2 провода в 1 - для этого необходимо сделать переходник на однопроводный UART. Схемы даны ниже.
Предельно простая схема переходника на однопроводный UART (K-Line) и подключение к USB-TTL на диоде и резисторе
3.3 - 5V - питание
Ground - земля
PSP middle contact - однопроводная шина, идущая в средний контакт PSP
Не забывайте про цоколёвку микросхем (дуга слева). Не забудьте соединить резистором на 200-300 ом замкнутые нижние крайние две ноги с третьей справа верхней ногой.
Схема переходника на однопроводный UART (K-Line) и подключение к USB-TTL для CD4011 и её полных аналогов
Выполняется по аналогии с предыдущим за исключением чуть другого расположения выводов.
Если вы собрали всё правильно, убедились в наличии общей земли между адаптером, консолью и компьютером, желательно всё прозвонили - попробуйте запустить COM-терминал (например, Termite), подключиться к USB-TTL и вставить псевдобатарею (если у вас нет возможности чем-то заменить контактную группу батарейки, можете попробовать такой способ - использовать родную батарею, изолировав средний контакт и поместив на его место проводок от однопроводной шины). Если увидите пакеты типа 5A 02 01 A2 - поздравляем, собрали правильно, можете приступать к следующему шагу.
Если что-то не заработало - убедитесь в работоспособности USB-TTL адаптера, в правильности и надёжности подключения и в том, что земля адаптера соединена с землёй PSP - это обязательно! Если не заработает, можете попробовать поменять TX и RX местами - они могут быть перепутаны на самом адаптере :crazy:
В противном случае, собирайте один из двух вариантов с микросхемой.
Насчёт этого вам следует обратиться за инструкцией в любую из этих тем:
Вставьте карту памяти (с обычной Пандорой или клоном официального JigKick по необходимости) в PSP.
Подключите свой USB-TTL преобразователь, к которому прилажен переходник на однопроводный UART (K-line), ведущий в PSP.
Скачайте и распакуйте архив с программой последней версии и откройте baryonswp.exe. Как правило, он лежит в папке baryonswp/bin/Release.
Убедитесь, что земли всех звеньев в цепи связаны, иначе ничего не выйдет!
Нажмите на кнопку Start Service и подключите вашу PSP. Соединение будет логироваться в Connection Monitor.
Для запуска в сервисный режим укажите серийный номер FFFFFFFF.
Если PSP или COM-порт будут отключаться при подключении батареи к PSP - вероятно, не хватает тока.
В сервисном режиме дождитесь надписи "OK" на весь экран. Процесс восстановления завершён.
Всем удачного поднятия кладбищ, ждите вестей о более поздних моделях. В архиве с каждой версией- исходный код на растерзание.:blush:
Критические обновления (с поддержкой новых моделей) будут отмечены зелёным цветом.
Where is the third wire of the positive battery @Yoti
zake добавил 13.01.2021 в 03:22
Where is the third wire of the positive battery cp2102 @Yoti @Kyp40
dee098
13.01.2021 04:31
Кто нибудь пробовал портировать алгоритм на микроконтроллеры ? Хотелось бы уместить это в корпусе от батарейки без всяких внешних проводов.
Yoti
13.01.2021 04:50
zake,
positive and negative from the power source 4.2V, middle and negative from the usb-uart. Four wires, three battery pins.
dee098,
недели не прошло, как способ довели до рабочего состояния. Естественно, все вокруг тут же побежали на МК портировать.
ErikPshat
13.01.2021 07:03
Вложений: 3
Цитата:
Сообщение от Yoti
(Сообщение 1230033)
ErikPshat,
мне CP2102 больше нравится.
Просто я загуглил и смотрю Prolofic PL2303 довольно простое и популярное решение. Там даже оффсайт с драйверами под Windows 7/8/10 нашёл. Да и стоят они копейки.
А у тебя что за платка там? Она есть в свободном доступе?
Вот это на оффсайте в открытом доступе: PL2303 Windows Driver Download USB to UART RS232 Serial
А насчёт CP2102 вот что я надыбал: Silicon Labs CP2102 USB to UART Bridge
То есть, это чип от фирмы Silicon Labs, который поднимает по USB мостик UART на COM Port. И вот драйвера с оффсайта:
Требуемые 2 компонента, чтобы 2 линии передачи-приёма TX ⇒ и RX ⇐ объединить в одну K-линию. То есть, передача и приём происходят по одной линии связи, где диод обратный ток на TX отсеивает, соответственно приём идёт на RX.
1) Диод - 1N4148 - Вложение 17532 - если посмотреть через лупу, то видно маркировку 1N48
2) Резистор - 0,25W 10K 1% - рассеиваемая мощность от 0,25 Вт, сопротивление 10 кОм, допуск погрешности 1%, возможно до 5%.
Маркировка из 5-ти цветных колец: 1-коричневый, 2-чёрный, 3-чёрный, 4-красный, 5-коричневый - Вложение 17535
Кто нибудь пробовал портировать алгоритм на микроконтроллеры ? Хотелось бы уместить это в корпусе от батарейки без всяких внешних проводов.
пытался сделать на арду но усердия немного не хватило на это. но если этим заниматься, надо идти до конца с повторением максимума из функционала заводского контроллерач чтобы не стыдно было но постоянку воткнуть
Valera0141
13.01.2021 18:08
Если проект доведут до ума, то готов перенести всё это на ардуино и разработать плату для изготовления компактного устройства. У самого есть в наличии psp с мат платой ta-093. Можно ли её оживить данным способом?
khubik
13.01.2021 19:15
Цитата:
Сообщение от Valera0141
(Сообщение 1230087)
Если проект доведут до ума, то готов перенести всё это на ардуино и разработать плату для изготовления компактного устройства. У самого есть в наличии psp с мат платой ta-093. Можно ли её оживить данным способом?
где довести до ума-то? если вы видите изъян или иной признак "неумного" поведения - говорите сразу, не заставляйте переспрашивать
поддаются восстановлению на данный момент только ta-090
dee098
13.01.2021 19:25
Вопрос по автобуту на PSP2000 и выше работает нормально но на PSP1000 (тестировал на 3х материнках) начинает стартовать и затыкается.Они еще не поддерживаются?
Цитата:
Initialized port COM6
Using serial number 00000000
Service ready. Please connect your PSP™.
5A 02 01 A2
A5 05 06 10C306 76
5A 02 0C 97
A5 06 06 00000000 4E
5A 0B 80 0023DA5564BC2DE551 45
A5 12 06 3882A70C0ACE1E2A AAAAAAAAAAAAAAAA 65
5A 0A 81 E587BF558BBE463E CD
A5 0A 06 785AA8BC4B94BC26 A5
Initialized port COM6
Using serial number 00000000
Service ready. Please connect your PSP™.
5A 02 01 A2
A5 05 06 10C306 76
5A 02 0C 97
A5 06 06 00000000 4E
5A 0B 80 004C2FA0A0FA3CF538 FC
A5 12 06 A886A5DD9FC82A8C AAAAAAAAAAAAAAAA 25
5A 0A 81 E587BF558BBE463E CD
A5 0A 06 785AA8BC4B94BC26 A5
Initialized port COM6
Using serial number 00000000
Service ready. Please connect your PSP™.
5A 02 01 A2
A5 05 06 10C306 76
5A 02 0C 97
A5 06 06 00000000 4E
5A 0B 80 00EDB4B3633B9956D5 64
A5 12 06 D45B0E0EE4FEF0A3 AAAAAAAAAAAAAAAA 32
5A 0A 81 E587BF558BBE463E CD
A5 0A 06 785AA8BC4B94BC26 A5
khubik
13.01.2021 20:08
Цитата:
Сообщение от dee098
(Сообщение 1230092)
Вопрос по автобуту на PSP2000 и выше работает нормально но на PSP1000 (тестировал на 3х материнках) начинает стартовать и затыкается.Они еще не поддерживаются?
работа автобута не проверялась на 1000, но на ключевые запросы отвечает правильно, по крайней мере 0х80. консоль не включается, даже с рычажка?
dee098
14.01.2021 00:08
Цитата:
Сообщение от khubik
(Сообщение 1230102)
консоль не включается, даже с рычажка?
Да. Не включается( ни с нуливым серийником или просто нормальным серийником).
zecoxao
14.01.2021 01:37
VIDEO (Brazil)
Valera0141
14.01.2021 06:48
Цитата:
Сообщение от khubik
(Сообщение 1230091)
где довести до ума-то? если вы видите изъян или иной признак "неумного" поведения - говорите сразу, не заставляйте переспрашивать
поддаются восстановлению на данный момент только ta-090
Я про то, что доделают работу со всеми моделями
poopman
14.01.2021 06:57
Any idea when newer motherboards like TA-093 will be supported?
Thanks
Valera0141
14.01.2021 12:53
Подскажите пожалуйста. Пробовал запустить на трёх псп (одна 3008 на ta-093 рабочая, другая такая же, только брикнутая во время прошивки, и третья 2008 рабочая непрошивайка на мамке ta-088) в сервисный режим (FFFFFFF) и автобут (00000000). Коды в терминале в ответ бегут, типо всё ок. Но ни одна из них не заводится, светодиод питания не загорается. Куда можно покапать? Пробоал на 2 акб, оба исправные. Так же пробовал подключить 3.7 вольт с источника питания на контакты батареи, но это не помогло. Я так понимаю, что ещё коды для этих плат не добыты?
megaman07
14.01.2021 15:25
Пока работает с та-090... скорей всего та, которая была в донорах у авторов... в исходниках софта алгоритм такой: считывание данных о приставке - формирование пакета перевода в сервис.режим и отправка. Для разных плат свои данные формирования пакетов, поэтому придется подождать...
dee098
14.01.2021 15:43
Цитата:
Сообщение от dee098
(Сообщение 1230092)
Вопрос по автобуту на PSP2000 и выше работает нормально но на PSP1000 (тестировал на 3х материнках) начинает стартовать и затыкается.Они еще не поддерживаются?
Если кому интересно для PSP1000 вторая половина ответа на Sys_con Challenge 1 не должена быть промаскированна AAAAAAAAAAAAAAAA и тогда тело заводится. Так что как раз таки 0x80 и отвечает не верно.
Рабочий пример на PSP1000
Если кому интересно для PSP1000 вторая половина ответа на Sys_con Challenge 1 не должена быть промаскированна AAAAAAAAAAAAAAAA и тогда тело заводится. Так что как раз таки 0x80 и отвечает не верно.
Рабочий пример на PSP1000
вторая часть ответа на запрос 0х80 может быть абсолютно любой - она не проверяется в контексте этого запроса, она используется только для генерации запроса 0х81. шифроответ - только первая часть. сам факт того, что вы у себя дошли до 0х81 означает, что 0х80 ошибки быть не может. раскомментируйте строчку 363 и скомпилируйте программу самостоятельно - сможете увидеть ожидаемый запрос 0х81. если не совпадает с тем, что приставка на самом деле выдаёт - скорее всего, используется другой алгоритм. если это случится - у нас нет на руках psp-1000 и дампа её сискона, чтобы это исправить.
khubik добавил 14.01.2021 в 16:12
Цитата:
Сообщение от Valera0141
(Сообщение 1230152)
Подскажите пожалуйста. Пробовал запустить на трёх псп (одна 3008 на ta-093 рабочая, другая такая же, только брикнутая во время прошивки, и третья 2008 рабочая непрошивайка на мамке ta-088) в сервисный режим (FFFFFFF) и автобут (00000000). Коды в терминале в ответ бегут, типо всё ок. Но ни одна из них не заводится, светодиод питания не загорается. Куда можно покапать? Пробоал на 2 акб, оба исправные. Так же пробовал подключить 3.7 вольт с источника питания на контакты батареи, но это не помогло. Я так понимаю, что ещё коды для этих плат не добыты?
I really, really advise against asking for ETAs since we don't know them either.
Whenever the guys get the boot block from 95's syscon dump, actually. PSP-3000 dumper guy got unlucky with the boards he ordered, so this may take a little longer, but we REd this board's new quirk and all we need now is the key.
khubik добавил 14.01.2021 в 16:13
Цитата:
Сообщение от Valera0141
(Сообщение 1230152)
Подскажите пожалуйста. Пробовал запустить на трёх псп (одна 3008 на ta-093 рабочая, другая такая же, только брикнутая во время прошивки, и третья 2008 рабочая непрошивайка на мамке ta-088) в сервисный режим (FFFFFFF) и автобут (00000000). Коды в терминале в ответ бегут, типо всё ок. Но ни одна из них не заводится, светодиод питания не загорается. Куда можно покапать? Пробоал на 2 акб, оба исправные. Так же пробовал подключить 3.7 вольт с источника питания на контакты батареи, но это не помогло. Я так понимаю, что ещё коды для этих плат не добыты?
Посмотрите в список поддерживаемых консолей, ради Бога. На данный момент поддерживается только TA-090!
khubik добавил 14.01.2021 в 16:24
Цитата:
Сообщение от megaman07
(Сообщение 1230161)
Пока работает с та-090... скорей всего та, которая была в донорах у авторов... в исходниках софта алгоритм такой: считывание данных о приставке - формирование пакета перевода в сервис.режим и отправка. Для разных плат свои данные формирования пакетов, поэтому придется подождать...
"данные формирования пакетов"? "пакет для перехода в сервисный режим"?
Пакеты на всех консолях формируются по одинаковому плану - отличаются только коды операции (и то добавлением всего одного опкона на платах старше 090). Врагом номер один, не дающим запускать приставку в сервисный режим являются различные для разных консолей наборы ключей, которые используются для генерации шифрозапросов 0х80 и 0х81 и проверки ответов на них. Про "пакет для перехода в сервисный режим" от истины ушли недалеко - это серийник 0xFFFFFFFF, который передаётся одним пакетом, правда, потом надо правильно ответить на 80-81. А с донорами сисконов в лице TA-092 и выше у нас действительно напряг.
dee098
14.01.2021 16:44
Цитата:
Сообщение от khubik
(Сообщение 1230171)
вторая часть ответа на запрос 0х80 может быть абсолютно любой - она не проверяется в контексте этого запроса, она используется только для генерации запроса 0х81. шифроответ - только первая часть. сам факт того, что вы у себя дошли до 0х81 означает, что 0х80 ошибки быть не может. раскомментируйте строчку 363 и скомпилируйте программу самостоятельно - сможете увидеть ожидаемый запрос 0х81. если не совпадает с тем, что приставка на самом деле выдаёт - скорее всего, используется другой алгоритм. если это случится - у нас нет на руках psp-1000 и дампа её сискона, чтобы это исправить.
Я не могу это проверить так как переписал код под питон (не люблю я винду, а питон он везде питон) и на вскидку заметил только это отличие.
И да PSP вешалась после 0x81
khubik
14.01.2021 20:38
Цитата:
Сообщение от dee098
(Сообщение 1230180)
Я не могу это проверить так как переписал код под питон (не люблю я винду, а питон он везде питон) и на вскидку заметил только это отличие.
И да PSP вешалась после 0x81
могу попробовать старый китайский способ и последние 8 байт ответа на 0х80 (то что у меня заменено на AAAAAAAA) заменить на двойное AES по методу Proxima, проверьте будет ли работать
dee098
14.01.2021 21:21
Цитата:
Сообщение от khubik
(Сообщение 1230240)
могу попробовать старый китайский способ и последние 8 байт ответа на 0х80 (то что у меня заменено на AAAAAAAA) заменить на двойное AES по методу Proxima, проверьте будет ли работать
Где скачать?
dee098 добавил 14-01-21 в 0:Jan p
Цитата:
Сообщение от khubik
(Сообщение 1230068)
пытался сделать на арду но усердия немного не хватило на это. но если этим заниматься, надо идти до конца с повторением максимума из функционала заводского контроллерач чтобы не стыдно было но постоянку воткнуть
Если возможно глянулбы твои наработки под ардуину может доведу до рабочего.
В любом случае хотел под него писать но Си не Питон прийдется попариться.
khubik
14.01.2021 23:59
Цитата:
Сообщение от dee098
(Сообщение 1230253)
Где скачать?
dee098 добавил 14-01-21 в 0:Jan p
Если возможно глянулбы твои наработки под ардуину может доведу до рабочего.
В любом случае хотел под него писать но Си не Питон прийдется попариться.
Уже можно пробовать. Только там не двойной AES, а рандом - как и должно быть.
Мои наработки под Ардуино закончились на приёме и парсе пакета - думаю, вы это в силах сделать самостоятельно.
dee098
15.01.2021 00:23
Да парсить не проблема. Меня скорее волнует какую либу юзать по AES и влезит это все с ключами в 32К если компилить под Arduino или лучше сразу писать под gcc и не париться.
zecoxao
15.01.2021 01:14
anyone test on TA092 yet? (if you have board)
please test!
thanks!
dee098
15.01.2021 09:59
Цитата:
Сообщение от khubik
(Сообщение 1230298)
Уже можно пробовать. Только там не двойной AES, а рандом - как и должно быть.
Мои наработки под Ардуино закончились на приёме и парсе пакета - думаю, вы это в силах сделать самостоятельно.