Обсуждение взлома батарейки Пандоры PSP-3000...
Вложений: 5
Решил я развеять слухи о том что зыза 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 байт.....или тупо заставить прогу снифер поработать за батарейку и отвечать за неё ...ведь если будет записан протокол, то что нам составит труда выплюнуть его обратно с нужным нам ключиком? Кто силён в написании таких прог? Терминал PSP-2000 Расшифровка кодов Во вложении:
EEPROM DATA Battery |
А если использовать встроенный в Винду ком монитор? И кабель от телефона на PL2303 проблема правда в том что интерфейс СОМ порта испоьзует минимум 2 сигнала Rx Tx. А у батарейки 1 вывод кажется работает по шине I2c... Нужен переходник...
|
это конечно можно....но думаю проще знающему чело написать прогу снифер....жаль что ни кто не желает этого сделать....Я тут тупо сижу серийники на батарейке меняю ...ну типа ищу иголку в стогу сена....но сдаётся мне ключик не 4 байта...
|
Boryan, ну не верю я, что для перевода в сервисный режим нужно только правильный серийник подобрать. Не верю! Сони уже раз попалилась с этим и я думаю более кардинально навернула защиту. Только сменить серийник - смешно, та же дател уже давно бы забрутила.
А вообще тема интересная, хоть и немножко бессмысленая. Для того чтобы написать прогу необходимо знать по какому интерфейсу общается псп и батарея (есть ли фото разобраной батареи, может там есть какие-то маркировки? свою ковырять желания нет) и частоту с какой они общаются (это ты можешь замерить). Если там UART, а скорей всего так и есть, то все просто: подключаемся посередине, читаем от псп - передаем батарее и наоборот, не забывая все запоминать :). Если там нормальная защита и учитываются таймауты, можем обламаться. dimon-dlx, наличие двух проводников для rx и tx вовсе не обязательно. Можно и по одному гонять через стартовые биты. Во многих устройствах, где известен порядок передачи данных так и делают. |
Klerikus, а я уверен что дело только в серийнике :) сейчас я аппаратно ковыряю две матери TA88V3 и TA90.....разница только в одной микросхеме контроллере питания. Маркировка MB44C015 в TA88V3 и MB44C018 в TA90 функционально и схемотически обе микрухи одинаковые....изменён размер корпуса и распиновка...ну это понятно что бы не заменили одну на другую. Эти микрухи отвечают за всё питание зызы...они же подключены к среднему выводу батарейки и секут код и в соответствии с кодом включают разные комбинации питания. Эти микрухи управляют Ключами питания коих дофига в зызе....на TA88 в сервисном режиме часть ключей питания молчит....это проц воспринимает как переход в сервисный режим. Так что всё дело в микрухе контроллера питания....что могла сони изменить в новом контроллере? только длину ключа или сам ключик....других вариантов я не вижу :)
|
А что если на более низком уровне ввести ROM в сервисный режим либо попросту обнулить его и установить прошивку скажем 5.03? Ведь насколько я понимаю у любого контроллера или микросхемы памяти есть возможность обнуления. Опираюсь на знаниях AVR и PIC
|
Boryan, сейчас вот подумал: берем free serial monitor вешаем Rx com-порта компа на средний провод и землю, запускаем FSM и hyperterminal подсоединяем батарею и слушаем. Кто что кому говорил прийдется самому разбираться, но можно сразу увидеть одинаково ли общаются разные версии мат.плат с батареями.
Разное питание на ножках BOOT0 и BOOT1 обычно переключает откуда стартовать код. По крайней мере для микроконтроллеров именно так(не знаю есть ли такие ножки у проца псп). А вот в этом "стартовом коде" просто обязаны быть дополнительные проверки и защиты. Если бы их не было бы, то можно было подать вручную нужные напряжения и было бы нам счастье. И перепаять контроллер питания можно было бы несмотря на разные распиновки и размеры корпуса. Подпаяться правильно всегда можно и все бы работало. |
780102H-контролёр в старой пандоре, http://www.semiconductorstore.com/pd...78F0101_UM.PDF - читаем, думаем.
|
Цитата:
но замечу, что мониторить ком недостаточно, что бы в буфере ком что то было надо делать чтение ком, и это не все , что бы правильно читать надо знать скорость,битность,четность... (хотя это осциком можно вычислить). |
Продолжаю аппаратно изучать 3000.....залез глубоко:)..и обнаружил что я ошибался, контроллер питания тут вообще не причём. За всё отвечает маленькая микруха типа системного контроллера. Она занимается опросом кнопок и джойстиков, зажиганием светодиодов, выдаёт на ЦП нужные тайминги, в ней зашиты часы зызы, и самое интересное с батарейкой разговаривает именно она по двум ножка Rx и Tx. Ну есно далее в мелкой схемке Rx и Tx объединены в один провод идущий к батарейке.... А по Tx ещё помимо запросов к батарейке, говорит контроллеру питания что ему делать. Она и сечёт код пришедший с батарейки...если с батарейки идёт код не FF или 00 (пандоровский) то один запрос к батарейке и один ответ от неё и контроллер питания готов к старту. А вот если на запрос идёт ответ пандоры...то запросы повторяются несколько раз....типа ей на хватает 4 байт от пандоры и она ждёт дополнения и посему вновь посылает запросы....ну и не дождавшись ответа даёт команду на блокировку контроллера питания. ну вот как то так....ТА90 короче видит и различает коды пандоры....но они для неё короткие....мало 4 байта ей...
|
Boryan,
т.е. она побайтно запрашивает серийник? Проверь поведение на ffffff12 и ff001234? |
как запрашивает она я не знаю по осцилу не отследишь....но все коды кроме 0хFFFFFFFF и 0х00000000 для неё обычный серийник и на запрос получив ответ отличный от них хоть на один байт, запросов больше не посылает и переводит контроллер питания в дежурный режим. А вот если получает 4 байта от кода пандоры то посылает новые запросы и не дождавшись нужного ответа блокирует контроллер питания наглухо. Это можно и тупо проверить на 3000 вставив пандору в неё вы ни каким образом не включите зызу...потому как котроллер питания заблокирован
|
В принципе, есть идея... Надо глянуть...
Но всё же количество запросов с моими кодами напиши) |
Yoti, Ок но только завтра...сёня уже с ног валюсь...башка пухнет от инфы которую её переваривать нужно...устал чутка...Но согласись тема интересная :) Есть где поковырять...пусть предыдущая в тупик упёрлась...:) но было интересно :) А вдруг тут повезёт :)
|
Boryan,
бой проигран, но война не окончена! Батарейку надо допилить))) |
вчера одну уже пилил :)...случайно в неё в голом виде (распотрошёная) ткнул пинцетом и проткнул ..дыму было прилично :)
|
Boryan,
убийца! Ты себе можешь позволить загубленый аккум, надеюсь? (Ещё один.) |
сегодня на работе уже подарили 5 шт нулёвых :)
|
Boryan,
мне бы такую работу... Подарил бы кто карту и аккум, собрал бы из ник комплект пандоры да на полку положил))) Yoti has reached 500 messages! |
молодцы ребят, я верю, что с вашим упорством вы добьетесь результата :good:
в любом случае ваши изыскания очень интересно читать p.s. сорри за оффтоп |
Цитата:
|
перехватил разговор батарейки на та-88v2
нормальный старт:
Код:
5A0201A2A5050600D106785A0203A0A504061D10235A0B80028BB72A472664D440C7A5120648D869 Код:
A50A061EBB1728D3F40080EB5A0201A2A5050600D406755A0203A0A504061D10235A0B80029224A9 Всё тоже но батарейка в режиме автозапуска : Код:
A50A06F8D4EBE74E2682E4D25A0201A2A5050600CF067A5A0203A0A504061910275A0B800239822F завтра получше передамплю Кто знает терминалку - чтоб в бинарник писала !?? |
stasik007, Спасибо! Молодца! Это с гипертерминала?
Я поясню мальца. Стас пришёл к выводу что серийники FF.... и 00..... не читаются самой зызой и ей они вообще по фигу :) А коды эти имеют значение для контроллера самой батарейки и дескать контроллер батарейки увидев эти коды в своей флешке тупо выдаёт определённую команду из своего списка зызе....в 3000 видать новые команды....Не знаю насколько верна эта версия...но Стас уверен что это так... |
да - Realterm
stasik007 добавил 22-04-2010 в 02:20 серийник увиденный на дампе передайтся примерно через 30 сек после начала общения с батарейкой - тоесть после того как всё стартанёт и обо всём договорится! 5A0201A2A505 - с этого начинается разговор в обычном режиме батарейки A50A061EBB17 - сервис A50A06F8D4EB - автозапуск эти цифры одинаковы и при повторных запусках. А ТEПЕРЬ, БРОСИВ ПЕРВЫЙ ВЗГЛЯД, ЕСТЬ ИДЕИ!... ? |
Первый байт занятный: прям таки либо норм идёт, либо ***** вперёд :-D
Э-э-э, либо спиной вперёд. Можно ещё перепиливание дорожки вспомнить... Может, теперь допаивание нужно?)) |
Почитал док на контроллер - мощная штука - и памяти о оперативки на любые заморочки хватит!
одно непонятно на чьём языке они общаются - может чтото-типа "infolitium language" |
5A0201A2A5050600D106785A0203A0A504061D10235A0B80028BB72A472664D440C7A5120648D869
81196B0DC3016FF008971.......................... старт с тойже батарейкой но в сервисном режиме: A50A061EBB1728D3F40080EB5A0201A2A5050600D406755A0203A0A504061D10235A0B80029224A9 7C31DC6D962DA51206183B2AF3A1B7F344C0C22F8188................................. 06B5CB2076BCD594BF50 Всё тоже но батарейка в режиме автозапуска : A50A06F8D4EBE74E2682E4D25A0201A2A5050600CF067A5A0203A0A504061910275A0B800239822F 569705F3E168A512061FF98C6BC9ECC............ Для начала разобрать что здесь кто кому говорит. Есть такая вот периодичность. stasik007, Чем подслушал? |
Цитата:
t0rm3nt0r добавил 22-04-2010 в 09:22 Klerikus, он ответил чем снимал. http://realterm.sourceforge.net/ |
Цитата:
|
Цитата:
Жгу. Согласен... Не проснулся еще. Заголовок значит 5A... Все равно структуру пакета не вычислить... |
Цитата:
Цитата:
|
переделаю
|
Цитата:
2-ой байт в фразе - длина сообщения последний байт в фразе - это чек сумм, его можно вычислить самому... позже отпишу как вычислить если надо, пока занят слишком ну а дальше само сообщение |
переделаю
|
крууто, неожиданный поворот.
в этом смущает только одно, нафига они в каждую батарейку запихнули такой мощный контроллер, а главное, который может стартовать псп в сервисном режиме. логичней было бы в пользовательских батарейках такой функциональности вообще не иметь, потому что она там никогда не понадобится по идее, а иметь только в сервисных. |
Народ! Глубоко извиняюсь ! Не там впаял питание порта и часть данных проходила мимо!
вот старт в сервисном режиме - многое проясняется! ;-) и серийничек нашёлся! 5A0201A2 A50506109B069E 5A020C97 A50606FFFFFFFF52 - вот 5A0B80083928B0F04C188233F8 A512063671EF A5D3322FD957FE8FD63C761B640F 5A0201A2 A50506109B069E 5A020C97 A50606FFFFFFFF52 - и ещё 5A0B8002D477A9CB839CDE2B31 A5120683AD3F2EEFA4816FAE048766A9CB5A4372 5A0A81886D025B877B4CCBAF A50A060FC1B2AFCE4DEDAA67 5A0201A2 A50506009B06AE 5A0B80021AAF79B4CE9C7A0D31 A51206B93650DA26639A6A1FF746D24307F91813 5A0A8158E5287FAA35F9C599 A50A06F3D2A10A930DDC114D 5A0201A2 A50506009B06AE 5A0203A0 A504063B1005 5A0B800270EB0BE2F36F6726E1 A5120625352473BA34D8370BC9359EF0F2407D0E 5A0A81D77EE2958FFC85BF7F A50A06 5AC2A00F8D6788BC4700 5A0201A2 A50506109B069E 5A020C97 A50606FFFFFFFF52 и ещё! 5A0B80083E31C0FDDCD352F1F4 A512063C17D4316E1F306A94972C84DFFD77E1B4 5A0201A2 A50506109B069E 5A020C97 A50606FFFFFFFF52 и опять! 5A0B8002F73AA830F04902458F A512060CC5292D865F26D74D8610458A6215FC14 5A0A81CA591E5A3E97A3B750 A50A068534E47463C406C64600 это старт в сервисном режиме -приставка включается но кнопки не нажимал и она выключается |
Цитата:
картина проясняется) Ins|der добавил 22-04-2010 в 13:28 Цитата:
|
dn3d,
алгоритм подсчёта контрольной то напиши всё же =) |
Цитата:
например взять два сообщения: A50406080741 A504060F0041 Замечу, в этих сообщениях 1, 2 и последний байты одинаковые, а то что между ними в принципе отличается. если сделать сумму байт начиная со 2-го то получим значение с которого начинается следующее сообщение (в нашем случае - это 5А). З.Ы. если сумма получилась больше FF, то откидываем левую часть. Например: есть сообщение A5120648D86981196B0DC3016FF00897110B7E4B, складываем байты начиная со 2-го, получаем число 065A, откидываем левую часть и получаем один байт со значением 5А, т.е. первый байт следующего сообщения. З.Ы. Еще один пример, только уже начинается не с А5, а с 5А: 5A0A8188FCD79FB37D3A00B6 делаем сумму начиная со 2-го байта и получаем 5А5, откидываем левую часть и получается А5, тоже начало следующего сообщения. |
stasik007, позволь я замечу, там не совсем правильное разбиение:
Цитата:
Цитата:
и т.д. Ins|der добавил 22-04-2010 в 14:44 dn3d, тогда 00 на конце означает, что ничего добавлять не нужно. здорово, спасибо! |
Текущее время: 12:40. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.