PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   BaryonSweeper - эмулятор сервисной батарейки JigKick для анбрика PSP-3000 (https://www.pspx.ru/forum/showthread.php?t=111113)

khubik 11.01.2021 19:19

BaryonSweeper - эмулятор сервисной батарейки JigKick для анбрика PSP-3000
 
Вложений: 14


Baryon Sweeper

Эмулятор сервисного инструмента JigKick

с возможностью восстановления 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-090v2 (DATE CODE 8C, 8D, 9A, 9B) - поддерживается
  • TA-092 (DATE CODE 9B, 9C) - поддерживается начиная с R6
  • TA-093 (DATE CODE 9D, 0A, 0B, 0C) - поддерживается
  • 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 на диоде и резисторе

Вложение 17530

Более надёжные схемы на логических элементах И-НЕ
Схема переходника на однопроводный UART (K-Line) и подключение к USB-TTL для К561ЛА7, CD7400 и их полных аналогов

Вложение 17527

3.3 - 5V - питание
Ground - земля
PSP middle contact - однопроводная шина, идущая в средний контакт PSP
Не забывайте про цоколёвку микросхем (дуга слева). Не забудьте соединить резистором на 200-300 ом замкнутые нижние крайние две ноги с третьей справа верхней ногой.

Схема переходника на однопроводный UART (K-Line) и подключение к USB-TTL для CD4011 и её полных аналогов

Вложение 17524

Выполняется по аналогии с предыдущим за исключением чуть другого расположения выводов.

Если вы собрали всё правильно, убедились в наличии общей земли между адаптером, консолью и компьютером, желательно всё прозвонили - попробуйте запустить COM-терминал (например, Termite), подключиться к USB-TTL и вставить псевдобатарею (если у вас нет возможности чем-то заменить контактную группу батарейки, можете попробовать такой способ - использовать родную батарею, изолировав средний контакт и поместив на его место проводок от однопроводной шины). Если увидите пакеты типа 5A 02 01 A2 - поздравляем, собрали правильно, можете приступать к следующему шагу.
Если что-то не заработало - убедитесь в работоспособности USB-TTL адаптера, в правильности и надёжности подключения и в том, что земля адаптера соединена с землёй PSP - это обязательно! Если не заработает, можете попробовать поменять TX и RX местами - они могут быть перепутаны на самом адаптере :crazy:
В противном случае, собирайте один из двух вариантов с микросхемой.




Насчёт этого вам следует обратиться за инструкцией в любую из этих тем:


  1. Вставьте карту памяти (с обычной Пандорой или клоном официального JigKick по необходимости) в PSP.
  2. Подключите свой USB-TTL преобразователь, к которому прилажен переходник на однопроводный UART (K-line), ведущий в PSP.
  3. Скачайте и распакуйте архив с программой последней версии и откройте baryonswp.exe. Как правило, он лежит в папке baryonswp/bin/Release.
  4. Убедитесь, что земли всех звеньев в цепи связаны, иначе ничего не выйдет!
  5. Нажмите на кнопку Start Service и подключите вашу PSP. Соединение будет логироваться в Connection Monitor.
  6. Для запуска в сервисный режим укажите серийный номер FFFFFFFF.
    Если PSP или COM-порт будут отключаться при подключении батареи к PSP - вероятно, не хватает тока.
  7. В сервисном режиме дождитесь надписи "OK" на весь экран. Процесс восстановления завершён.

Всем удачного поднятия кладбищ, ждите вестей о более поздних моделях. В архиве с каждой версией- исходный код на растерзание.:blush:



Критические обновления (с поддержкой новых моделей) будут отмечены зелёным цветом.
  • pysweeper (Git) - https://github.com/khubik2/pysweeper
  • Baryon Sweeper R10 - Вложение 17599
    Что изменено:
    • Логирование эха настоящего ответа вместо ожидаемого
    • Исправлено форматирование ответа при выводе
    • Добавлен ключ 08 для PSP Slim (2000)
    • Уменьшено потребление ЦП
  • Baryon Sweeper R7 - Вложение 17548
    Что изменено:
    • Теперь чексуммы не выводятся одной цифрой вместо правильного хекс-байта
    • Добавлена возможность отключить оповещения о отсутствующих ключах
    • В случае отсутствия ключа 08 оповещение теперь другое, так как его отсутствие некритично
  • Baryon Sweeper R6 - Вложение 17546
    Что изменено:
    • Убран COM-монитор, по непонятной причине нарушавший работу эмулятора
    • Эмулятор переведён на старую схему ожидания сообщения в буфере
    • Добавлены ответы на запросы, необходимые для перехода к шифрозапросам 80-81 на TA-092 и выше
    • TA-092, похоже, случайно заработала :)
  • Baryon Sweeper R4 - Вложение 17544
    Что изменено:
    • Исправлены фактические ошибки:
      • Добавлен сколько-то правильный монитор COM порта
      • Бывший "монитор" переименован в Program Log
    • Теперь эмулятор ждёт только следующий байт в пакете, а не весь пакет целиком
    • Теперь входной и выходной буфер порт перед началом эмуляции очищаются
    • Обновлён About :)
  • Baryon Sweeper R3 - Вложение 17538
    Что изменено:
    • Исправлено неправильное поведение при запуске с пустой графой COM-порта
    • Добавлены кнопки для быстрого выбора режима эмулируемой батарейки
    • Мелкие исправления интерфейса
  • Baryon Sweeper R2 - Вложение 17534
    Что изменено:
    • Добавлена блокировка всех кнопок, кроме остановки во время работы
    • Добавлен ответ на запрос 0x16 (нужно для поддержки всех PSP-3000 в будущем)
    • Вторая часть ответа на 0х80 теперь случайна (аккуратная имитация поведения сервисной батарейки)
    • Обновлены благодарности в About, добавлена ссылка на английскую тему в Restore Guide
    • Добавлен вывод отладочных сообщений генератора ответов на шифрозапросы (галочка в правом нижнем углу)
    • Теперь случаи, в которых ключи для консоли отсутствуют, обрабатываются правильно
  • Baryon Sweeper R1 - начальный релиз (поддержка только TA-090) - Вложение 17521
Источник: https://t.co/jI0HeeGaks

Kyp40 11.01.2021 20:44

Поздравляю! Это отлично работает у меня.


https://i114.fastpic.ru/big/2021/011...36f795617b.jpg

khubik 11.01.2021 20:50

PSP-3000 удалось восстановить? )

Kyp40 11.01.2021 20:53

Конечно. TA-90. И через батарейка - но это другая история... ;)

khubik 11.01.2021 20:58

видео удалось снять? если не сложно - сделай

temon02 11.01.2021 21:52

Эпохальное событие!

Kyp40 11.01.2021 22:44

Извините за плохое качество.



khubik 11.01.2021 22:54

Качество хорошее. Жалко, только, экрана нет. Пока сойдёт)

Kyp40 11.01.2021 23:26

Не имел времени выставить на нем дисплей. Значить имело смысл убить все эти платы, когда делал дампы сисконов.

Надеюсь, что до 10 дней буду сделаю и на остальных. ;)

khubik 11.01.2021 23:42

Цитата:

Сообщение от Kyp40 (Сообщение 1229971)
Не имел времени выставить на нем дисплей. Значить имело смысл убить все эти платы, когда делал дампы сисконов.

Надеюсь, что до 10 дней буду сделаю и на остальных. ;)

какие дампить собрался?

Kyp40 11.01.2021 23:49

На TA-090 и ТА-096 сделал я. Увидишь...

pazany 12.01.2021 19:00

Мои поздравления команде. Действительно крутая работа!
Ps. Аж с главной wololo в этот топик попал :)

ErikPshat 12.01.2021 23:14

Цитата:

Сообщение от pazany (Сообщение 1230012)
Ps. Аж с главной wololo в этот топик попал :)

https://wololo.net/2021/01/12/psp-re...battery-style/

Yoti 13.01.2021 00:04

Цитата:

Сообщение от Kyp40 (Сообщение 1229959)
Это отлично работает у меня.

Отличная схема!

ErikPshat 13.01.2021 00:28

Цитата:

Сообщение от Yoti (Сообщение 1230027)
Отличная схема!

Это что-то типа этого? - http://www.prolific.com.tw/US/ShowPr...id=225&pcid=41

Yoti 13.01.2021 01:24

ErikPshat,
мне CP2102 больше нравится.

zake 13.01.2021 03:22

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. И вот драйвера с оффсайта:

Silicon Labs Virtual COM Port (VCP) Universal Driver for WindowsТребуемые 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

Вложение 17536



Саму готовую платку CP2102 USB to UART можно выбрать из этих от 80 рублей - https://market.yandex.ru/search?text...offers-first=0
Можно и за 159 руб хорошую :)


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

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