Boryan (20.04.2010 11:38) Тема: Обсуждение взлома батарейки Пандоры PSP-3000...
№ 1
Решил я развеять слухи о том что зыза 3000 преходит в сервисный режим с порта USB. Во первых, что бы активировался порт USB должен стартануть ЦП..., а он ну ни как не может это сделать на брикнутой консоли
Далее я просто зацепил крутой осциллограф к среднему выводу батарейки пандора и воткнул её в 3000 брик и записал их разговор. Известно, что со старой батарейкой 3000 не стартует....но ....смотрите сами http://www.youtube.com/watch?v=T4mQofU37sg, что записал осциллограф. Короче зыза общается с батарейкой упорно на предмет получения ключика для перехода в сервисмод. Делаем выводы....нужен ключик для перевода 3000 в сервис мод, но, он не FFFFFFFF.....а какой? какие будут предложения по подбору ключика? Кто силён в написании прог под винду. Нуно сварганить прогу что бы она по USB через микруху МАХ232 эмулировала флешку батарейки ....со всеми вытекающими последствиями. А точнее сгенерила ключик и дала команду электронному ключу на вкл батарейки....посмотрели... нет сервисмод у 3000....отключаем батарейку...генерим новый ключик ...и так далее до победного конца. Кто готов написать такую прогу? Электронную начинку я беру на себя .
Boryan добавил 20-04-2010 в 11:33
народ давай подтягивайтесь в тему. неужели не интересно мозгами поработать? Мои мысли по поводу батарейки для 3000....что могли в ней изменить Сони? Применить другой ключик...слишком просто...перебрать 4 байта учитывая что код только может быть типа 0хAA AA AA AA или 0хАВ АВ АВ АВ, это не сложно. Это не в правилах Сони...уж если рубить концы, то конкретно. Я думаю что они тупо увеличили код до 8 байт, и он так и остался 0хFF FF FF FF FF FF FF FF. Что это даёт? Во первых, процессор стандартной батарейки не может дать зызе код длиннее 4 байт, а вот их специальная батарейка может выдать код длинной 8 байт. В итоге... и волки сыты и овцы целы... Мужики, подумал я тут и понял эмулировать флешку батарейки пока рано. Нужно написать прогу снифер под винду, ну типа писать протокол обмена с батарейкой. Записать один протокол с 2000 а второй с 3000, и сравнить команды запроса на серийник, если они одинаковые то возможно ключик так и остался 4 байта, и тогда перебор нам поможет. А вот если разные...то нужно думать как заставить батарейку выдать 8 байт.....или тупо заставить прогу снифер поработать за батарейку и отвечать за неё ...ведь если будет записан протокол, то что нам составит труда выплюнуть его обратно с нужным нам ключиком?
Кто силён в написании таких прог?
Данные терминала с батарейки FAT-1800mAh во всех режимах на PSP-2000 и PSP-3000
Во вложении:

Boryan добавил 20-04-2010 в 11:33
народ давай подтягивайтесь в тему. неужели не интересно мозгами поработать? Мои мысли по поводу батарейки для 3000....что могли в ней изменить Сони? Применить другой ключик...слишком просто...перебрать 4 байта учитывая что код только может быть типа 0хAA AA AA AA или 0хАВ АВ АВ АВ, это не сложно. Это не в правилах Сони...уж если рубить концы, то конкретно. Я думаю что они тупо увеличили код до 8 байт, и он так и остался 0хFF FF FF FF FF FF FF FF. Что это даёт? Во первых, процессор стандартной батарейки не может дать зызе код длиннее 4 байт, а вот их специальная батарейка может выдать код длинной 8 байт. В итоге... и волки сыты и овцы целы... Мужики, подумал я тут и понял эмулировать флешку батарейки пока рано. Нужно написать прогу снифер под винду, ну типа писать протокол обмена с батарейкой. Записать один протокол с 2000 а второй с 3000, и сравнить команды запроса на серийник, если они одинаковые то возможно ключик так и остался 4 байта, и тогда перебор нам поможет. А вот если разные...то нужно думать как заставить батарейку выдать 8 байт.....или тупо заставить прогу снифер поработать за батарейку и отвечать за неё ...ведь если будет записан протокол, то что нам составит труда выплюнуть его обратно с нужным нам ключиком?
Кто силён в написании таких прог?
Терминал PSP-2000
Расшифровка кодов
Во вложении:
- "psp_bat" программа от dn3d по преобразованию ответов терминала в читабельный вид:
- Копируете весь код терминала в верхнее мемо поле и нажимаете "Convert".
- "Save to txt" - сохранить результат в txt файл. Все лишние символы и пробелы удаляются автоматом.
- "Open Source Pandora Battery Tool 0.60" - программа для FULL-дампа/записи флеш EEPROM батареи и смены серийников (режимов).
EEPROM DATA Battery
Klerikus (20.04.2010 14:58) Тема:
№ 4
Boryan, ну не верю я, что для перевода в сервисный режим нужно только правильный серийник подобрать. Не верю! Сони уже раз попалилась с этим и я думаю более кардинально навернула защиту. Только сменить серийник - смешно, та же дател уже давно бы забрутила.
А вообще тема интересная, хоть и немножко бессмысленая.
Для того чтобы написать прогу необходимо знать по какому интерфейсу общается псп и батарея (есть ли фото разобраной батареи, может там есть какие-то маркировки? свою ковырять желания нет) и частоту с какой они общаются (это ты можешь замерить).
Если там UART, а скорей всего так и есть, то все просто: подключаемся посередине, читаем от псп - передаем батарее и наоборот, не забывая все запоминать
. Если там нормальная защита и учитываются таймауты, можем обламаться.
dimon-dlx, наличие двух проводников для rx и tx вовсе не обязательно. Можно и по одному гонять через стартовые биты. Во многих устройствах, где известен порядок передачи данных так и делают.
А вообще тема интересная, хоть и немножко бессмысленая.
Для того чтобы написать прогу необходимо знать по какому интерфейсу общается псп и батарея (есть ли фото разобраной батареи, может там есть какие-то маркировки? свою ковырять желания нет) и частоту с какой они общаются (это ты можешь замерить).
Если там UART, а скорей всего так и есть, то все просто: подключаемся посередине, читаем от псп - передаем батарее и наоборот, не забывая все запоминать

dimon-dlx, наличие двух проводников для rx и tx вовсе не обязательно. Можно и по одному гонять через стартовые биты. Во многих устройствах, где известен порядок передачи данных так и делают.
Boryan (20.04.2010 15:40) Тема:
№ 5
Klerikus, а я уверен что дело только в серийнике
сейчас я аппаратно ковыряю две матери TA88V3 и TA90.....разница только в одной микросхеме контроллере питания. Маркировка MB44C015 в TA88V3 и MB44C018 в TA90 функционально и схемотически обе микрухи одинаковые....изменён размер корпуса и распиновка...ну это понятно что бы не заменили одну на другую. Эти микрухи отвечают за всё питание зызы...они же подключены к среднему выводу батарейки и секут код и в соответствии с кодом включают разные комбинации питания. Эти микрухи управляют Ключами питания коих дофига в зызе....на TA88 в сервисном режиме часть ключей питания молчит....это проц воспринимает как переход в сервисный режим. Так что всё дело в микрухе контроллера питания....что могла сони изменить в новом контроллере? только длину ключа или сам ключик....других вариантов я не вижу


KakojtoChuvak (20.04.2010 17:06) Тема:
№ 6
А что если на более низком уровне ввести ROM в сервисный режим либо попросту обнулить его и установить прошивку скажем 5.03? Ведь насколько я понимаю у любого контроллера или микросхемы памяти есть возможность обнуления. Опираюсь на знаниях AVR и PIC
Klerikus (20.04.2010 17:12) Тема:
№ 7
Boryan, сейчас вот подумал: берем free serial monitor вешаем Rx com-порта компа на средний провод и землю, запускаем FSM и hyperterminal подсоединяем батарею и слушаем. Кто что кому говорил прийдется самому разбираться, но можно сразу увидеть одинаково ли общаются разные версии мат.плат с батареями.
Разное питание на ножках BOOT0 и BOOT1 обычно переключает откуда стартовать код. По крайней мере для микроконтроллеров именно так(не знаю есть ли такие ножки у проца псп). А вот в этом "стартовом коде" просто обязаны быть дополнительные проверки и защиты.
Если бы их не было бы, то можно было подать вручную нужные напряжения и было бы нам счастье. И перепаять контроллер питания можно было бы несмотря на разные распиновки и размеры корпуса. Подпаяться правильно всегда можно и все бы работало.
Разное питание на ножках BOOT0 и BOOT1 обычно переключает откуда стартовать код. По крайней мере для микроконтроллеров именно так(не знаю есть ли такие ножки у проца псп). А вот в этом "стартовом коде" просто обязаны быть дополнительные проверки и защиты.
Если бы их не было бы, то можно было подать вручную нужные напряжения и было бы нам счастье. И перепаять контроллер питания можно было бы несмотря на разные распиновки и размеры корпуса. Подпаяться правильно всегда можно и все бы работало.
Wes64 (20.04.2010 19:05) Тема:
№ 8
780102H-контролёр в старой пандоре, http://www.semiconductorstore.com/pd...78F0101_UM.PDF - читаем, думаем.
lport3 (21.04.2010 01:40) Тема:
№ 9Сообщение от Klerikus
Boryan, сейчас вот подумал: берем free serial monitor вешаем Rx com-порта компа на средний провод и землю, запускаем FSM и hyperterminal подсоединяем батарею и слушаем. Кто что кому говорил прийдется самому разбираться, но можно сразу увидеть одинаково ли общаются разные версии мат.плат с батареями.
Разное питание на ножках BOOT0 и BOOT1 обычно переключает откуда стартовать код. По крайней мере для микроконтроллеров именно так(не знаю есть ли такие ножки у проца псп). А вот в этом "стартовом коде" просто обязаны быть дополнительные проверки и защиты.
Если бы их не было бы, то можно было подать вручную нужные напряжения и было бы нам счастье. И перепаять контроллер питания можно было бы несмотря на разные распиновки и размеры корпуса. Подпаяться правильно всегда можно и все бы работало.
Разное питание на ножках BOOT0 и BOOT1 обычно переключает откуда стартовать код. По крайней мере для микроконтроллеров именно так(не знаю есть ли такие ножки у проца псп). А вот в этом "стартовом коде" просто обязаны быть дополнительные проверки и защиты.
Если бы их не было бы, то можно было подать вручную нужные напряжения и было бы нам счастье. И перепаять контроллер питания можно было бы несмотря на разные распиновки и размеры корпуса. Подпаяться правильно всегда можно и все бы работало.
но замечу, что мониторить ком недостаточно,
что бы в буфере ком что то было надо делать чтение ком,
и это не все , что бы правильно читать надо знать скорость,битность,четность... (хотя это осциком можно вычислить).
Boryan (21.04.2010 20:52) Тема:
№ 10
Продолжаю аппаратно изучать 3000.....залез глубоко
..и обнаружил что я ошибался, контроллер питания тут вообще не причём. За всё отвечает маленькая микруха типа системного контроллера. Она занимается опросом кнопок и джойстиков, зажиганием светодиодов, выдаёт на ЦП нужные тайминги, в ней зашиты часы зызы, и самое интересное с батарейкой разговаривает именно она по двум ножка Rx и Tx. Ну есно далее в мелкой схемке Rx и Tx объединены в один провод идущий к батарейке.... А по Tx ещё помимо запросов к батарейке, говорит контроллеру питания что ему делать. Она и сечёт код пришедший с батарейки...если с батарейки идёт код не FF или 00 (пандоровский) то один запрос к батарейке и один ответ от неё и контроллер питания готов к старту. А вот если на запрос идёт ответ пандоры...то запросы повторяются несколько раз....типа ей на хватает 4 байт от пандоры и она ждёт дополнения и посему вновь посылает запросы....ну и не дождавшись ответа даёт команду на блокировку контроллера питания. ну вот как то так....ТА90 короче видит и различает коды пандоры....но они для неё короткие....мало 4 байта ей...

Boryan (21.04.2010 21:58) Тема:
№ 12
как запрашивает она я не знаю по осцилу не отследишь....но все коды кроме 0хFFFFFFFF и 0х00000000 для неё обычный серийник и на запрос получив ответ отличный от них хоть на один байт, запросов больше не посылает и переводит контроллер питания в дежурный режим. А вот если получает 4 байта от кода пандоры то посылает новые запросы и не дождавшись нужного ответа блокирует контроллер питания наглухо. Это можно и тупо проверить на 3000 вставив пандору в неё вы ни каким образом не включите зызу...потому как котроллер питания заблокирован