Просмотр полной версии : Обсуждение взлома батарейки Пандоры PSP-3000...
Страницы :
[
1]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Решил я развеять слухи о том что зыза 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 байт.....или тупо заставить прогу снифер поработать за батарейку и отвечать за неё ...ведь если будет записан протокол, то что нам составит труда выплюнуть его обратно с нужным нам ключиком?
Кто силён в написании таких прог?
// Вот разложил поточнее, что выложил stasik007 (https://www.pspx.ru/forum/showpost.php?p=882612&postcount=42):
/* Старт с нормальной батарейкой серийник 4f 20 df 89
Подключаю батарейку:
00
5A02 01 A2
A505 06 10C206 77
5A02 0C 97 - запрос серийника
A506 06 204F89DF 77 - серийник
5A0B 80 08364CAFF8EFE8E9A5 84
A512 06 EFDDEDA268B1F15CF705F1F16FFADDE2 7B
5A02 01 A2
A505 06 10C206 77
5A02 0C 97 - запрос серийника
A506 06 204F89DF 77 - серийник
5A0B 80 02129A117169ADE46F 81
A512 06 CEE3A231846B7A3CACC16A81AE99A14F 8A
5A0A 81 08EC25077C96EB55 A8
A50A 06 3D71D0DDA5AC498D C8
5A02 01 A2
A505 06 00C206 87
5A0B 80 0208FA21BD9B0CF433 6A
A512 06 649C9CC965D9AA823804FA537F84ADC7 73
5A0A 81 0A99549CC666111A 30
A50A 06 1DF65042207C3621 B2
00
Включаю приставку:
5A02 01 A2
A505 06 10C206 77
5A02 03 A0
A504 06 3610 0A
5A02 0C 97 - запрос серийника
A506 06 204F89DF 77 - серийник
5A0B 80 082ED10418C5A517A7 CF
A512 06 956EC42197FA58395A3D01B7EBB74C36 C5
5A02 01 A2
A505 06 10C206 77
5A02 03 A0
A504 06 3610 0A
5A02 0C 97 - запрос серийника
A506 06 204F89DF 77 - серийник
5A0B 80 0265727014369503DA 15
A512 06 D3D208AC828AC4285A1F1BE8389276A2 93
5A0A 81 62861C9CE0618781 31
A50A 06 3E02027DA5B052A3 41
5A02 01 A2
A505 06 00C206 87
5A02 07 9C
A504 06 0807 41
5A02 0B 98
A504 06 0F00 41
5A02 09 9A
A504 06 0104 4B
5A02 02 A1
A503 06 1B 36
5A02 04 9F
A504 06 9AFF B7
5A02 03 A0
A504 06 3110 0F
5A02 01 A2
A505 06 00C206 87
5A02 09 9A
A504 06 3603 17
5A02 02 A1
A503 06 1B 36
5A02 04 9F
A504 06 81FF D0
5A02 03 A0
A504 06 2C10 14
5A02 01 A2
A505 06 00C106 88
5A02 03 A0
A504 06 2C10 14
5A0B 80 028C1358AFF19A5594 FE
A512 06 903ECAB191ACE9B53336455CD35DC860 BC
5A0A 81 9F3777774C64553C 15
A50A 06 64D75EC38A197E7B 52
5A02 01 A2
A505 06 00C106 88
5A02 09 9A
A504 06 3603 17
5A02 02 A1
A503 06 1B 36
00
*/Код Описание Данные Ответ от батареи Примечание
0x01 запрос оставшегося заряда нет energyleft_mAh:u16
0x02 запрос температуры нет temperature:u8 cercius degree, min/max value unknown
0x03 запрос напряжения нет voltage_mV:u16
0x04 запрос тока нет current_mA:short positive if charging battery
0x07 запрос ёмкости нет capacity_mAh:u16
0x09 запрос оставшегося времени нет timeleft_min:u16 XMB showing not this value
0x0c запрос серийного номера нет serialno:u32 suspected
0x80 запрос аутентификации? 9byte 16byte encrypted data/reply
0x81 запрос аутентификации? 8byte 8byte encrypted data/reply
0x05 ответ от батареи нет NAK, BCC error and so on??
0x06 ответ от батареи да ACK, with reply dataДанные терминала с батарейки FAT-1800mAh во всех режимах на PSP-2000 и PSP-3000 (https://www.pspx.ru/forum/showpost.php?p=882921&postcount=152)
Во вложении:
"psp_bat" программа от dn3d (https://www.pspx.ru/forum/showpost.php?p=882913&postcount=145) по преобразованию ответов терминала в читабельный вид:
Копируете весь код терминала в верхнее мемо поле и нажимаете "Convert".
"Save to txt" - сохранить результат в txt файл. Все лишние символы и пробелы удаляются автоматом.
"Open Source Pandora Battery Tool 0.60" - программа для FULL-дампа/записи флеш EEPROM батареи и смены серийников (режимов).
EEPROM
12151
dimon-dlx
20.04.2010, 13:03
А если использовать встроенный в Винду ком монитор? И кабель от телефона на PL2303 проблема правда в том что интерфейс СОМ порта испоьзует минимум 2 сигнала Rx Tx. А у батарейки 1 вывод кажется работает по шине I2c... Нужен переходник...
это конечно можно....но думаю проще знающему чело написать прогу снифер....жаль что ни кто не желает этого сделать....Я тут тупо сижу серийники на батарейке меняю ...ну типа ищу иголку в стогу сена....но сдаётся мне ключик не 4 байта...
Klerikus
20.04.2010, 14:58
Boryan, ну не верю я, что для перевода в сервисный режим нужно только правильный серийник подобрать. Не верю! Сони уже раз попалилась с этим и я думаю более кардинально навернула защиту. Только сменить серийник - смешно, та же дател уже давно бы забрутила.
А вообще тема интересная, хоть и немножко бессмысленая.
Для того чтобы написать прогу необходимо знать по какому интерфейсу общается псп и батарея (есть ли фото разобраной батареи, может там есть какие-то маркировки? свою ковырять желания нет) и частоту с какой они общаются (это ты можешь замерить).
Если там UART, а скорей всего так и есть, то все просто: подключаемся посередине, читаем от псп - передаем батарее и наоборот, не забывая все запоминать :). Если там нормальная защита и учитываются таймауты, можем обламаться.
dimon-dlx, наличие двух проводников для rx и tx вовсе не обязательно. Можно и по одному гонять через стартовые биты. Во многих устройствах, где известен порядок передачи данных так и делают.
Klerikus, а я уверен что дело только в серийнике :) сейчас я аппаратно ковыряю две матери TA88V3 и TA90.....разница только в одной микросхеме контроллере питания. Маркировка MB44C015 в TA88V3 и MB44C018 в TA90 функционально и схемотически обе микрухи одинаковые....изменён размер корпуса и распиновка...ну это понятно что бы не заменили одну на другую. Эти микрухи отвечают за всё питание зызы...они же подключены к среднему выводу батарейки и секут код и в соответствии с кодом включают разные комбинации питания. Эти микрухи управляют Ключами питания коих дофига в зызе....на TA88 в сервисном режиме часть ключей питания молчит....это проц воспринимает как переход в сервисный режим. Так что всё дело в микрухе контроллера питания....что могла сони изменить в новом контроллере? только длину ключа или сам ключик....других вариантов я не вижу :)
KakojtoChuvak
20.04.2010, 17:06
А что если на более низком уровне ввести ROM в сервисный режим либо попросту обнулить его и установить прошивку скажем 5.03? Ведь насколько я понимаю у любого контроллера или микросхемы памяти есть возможность обнуления. Опираюсь на знаниях AVR и PIC
Klerikus
20.04.2010, 17:12
Boryan, сейчас вот подумал: берем free serial monitor (http://www.serial-port-monitor.com/Download/free-serial-port-monitor.exe) вешаем Rx com-порта компа на средний провод и землю, запускаем FSM и hyperterminal подсоединяем батарею и слушаем. Кто что кому говорил прийдется самому разбираться, но можно сразу увидеть одинаково ли общаются разные версии мат.плат с батареями.
Разное питание на ножках BOOT0 и BOOT1 обычно переключает откуда стартовать код. По крайней мере для микроконтроллеров именно так(не знаю есть ли такие ножки у проца псп). А вот в этом "стартовом коде" просто обязаны быть дополнительные проверки и защиты.
Если бы их не было бы, то можно было подать вручную нужные напряжения и было бы нам счастье. И перепаять контроллер питания можно было бы несмотря на разные распиновки и размеры корпуса. Подпаяться правильно всегда можно и все бы работало.
780102H-контролёр в старой пандоре, http://www.semiconductorstore.com/pdf/newsite/nec/UPD78F0101_UM.PDF - читаем, думаем.
Boryan, сейчас вот подумал: берем free serial monitor (http://www.serial-port-monitor.com/Download/free-serial-port-monitor.exe) вешаем Rx com-порта компа на средний провод и землю, запускаем FSM и hyperterminal подсоединяем батарею и слушаем. Кто что кому говорил прийдется самому разбираться, но можно сразу увидеть одинаково ли общаются разные версии мат.плат с батареями.
Разное питание на ножках BOOT0 и BOOT1 обычно переключает откуда стартовать код. По крайней мере для микроконтроллеров именно так(не знаю есть ли такие ножки у проца псп). А вот в этом "стартовом коде" просто обязаны быть дополнительные проверки и защиты.
Если бы их не было бы, то можно было подать вручную нужные напряжения и было бы нам счастье. И перепаять контроллер питания можно было бы несмотря на разные распиновки и размеры корпуса. Подпаяться правильно всегда можно и все бы работало.
Не знаю что может эта программа (лом качать пробовать),
но замечу, что мониторить ком недостаточно,
что бы в буфере ком что то было надо делать чтение ком,
и это не все , что бы правильно читать надо знать скорость,битность,четность... (хотя это осциком можно вычислить).
Продолжаю аппаратно изучать 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. сорри за оффтоп
Boryan,
мне бы такую работу... Подарил бы кто карту и аккум, собрал бы из ник комплект пандоры да на полку положил)))
Yoti has reached 500 messages!
Дааа :) видать не повезло тебе с работой раз карты и батарейки не дарят :scratch_one-s_head:
stasik007
22.04.2010, 01:51
нормальный старт:
5A0201A2A5050600D106785A0203A0A504061D10235A0B80028BB72A472664D440C7A5120648D869
-
81196B0DC3016FF00897110B7E4B5A0A819C9244C6C4B89103D2A50A06CB4E30A90999E21EB6005A
-
0201A2A5050610D106685A02079CA504060807415A020B98A504060F00415A02099AA504068904C3
-
5A0202A1A5030620315A02049FA50406A5FFAC5A0203A0A5040614102C5A0201A2A5050610D10668
-
5A02099AA504064D03005A0202A1A5030620315A02049FA5040682FFCF5A0203A0A504060F10315A
-
0201A2A5050610D006695A0203A0A504060F10315A020C97A50606F50AD4403B5A0B8008821A0E26
-
98D8134D72A512067359028E72950C431F3A0ECB0388486B205A0201A2A5050610D006695A0203A0
-
A504060F10315A020C97A50606F50AD4403B5A0B8002260D66DC6FFD8E3D6CA51206050111C5DF5C
-
3BC39A0009825DA86798045A0A810D4DCF959F0E4D84DEA50A068183DF89C6C6BEFD975A0201A2A5
-
050600D006795A02099AA504065003FD5A0202A1A503061F325A02049FA5040682FFCF5A0203A0A5
-
04060A10365A0201A2A5050600CF067A5A0203A0A504060A10365A0B8002D2EF58544F39870795A5
-
120602DD9D9E5F7E16AD400B142D656D4E607C5A0A8188FCD79FB37D3A00B6A50A065A603307C24E
-
50AE48
старт с тойже батарейкой но в сервисном режиме:
A50A061EBB1728D3F40080EB5A0201A2A5050600D406755A0203A0A504061D10235A0B80029224A9
-
7C31DC6D962DA51206183B2AF3A1B7F344C0C22F8188FE87689C5A0A81ECC200556050323DF8A50A
-
06B5CB2076BCD594BF50
мало сохранил - результат схож с запуском в режиме автозапуска ближе к концу дампа видно серийник 00000000 - при запуске в серво-режиме там ffffffff ...
Всё тоже но батарейка в режиме автозапуска :
A50A06F8D4EBE74E2682E4D25A0201A2A5050600CF067A5A0203A0A504061910275A0B800239822F
-
569705F3E168A512061FF98C6BC9ECC72AFD9803B52F54F478515A0A81AF288324A70A9C1738A50A
-
068C7317047896CDCD885A0201A2A5050600CF067A5A02079CA504060807415A020B98A504060F00
-
415A02099AA504060A04425A0202A1A503061F325A02049FA504069AFFB75A0203A0A5040614102C
-
005A0201A2A5050610CF066A5A02099AA504063603175A0202A1A503061F325A02049FA5040684FF
-
CD5A0203A0A504060A10365A0201A2A5050610CE066B5A0203A0A504060A10365A020C97A5060600
-
0000004E5A0B800800355354323AC524E1A51206DD1F33A46A1A52D97CC8111CB1980955A85A0201
-
A2A5050610CE066B5A0203A0A504060A10365A020C97A50606000000004E5A0B800257872141E9AF
-
DC72F2A51206AF3AFD42AA558D8A7BBA420322EC85C6315A0A81E36EEB3506D1B17DA4A50A064AFD
-
E582911875D7A75A0201A2A5050600CE067B5A02099AA504065403F95A0202A1A503061F3200
>>Думаем, мозгуем...
завтра получше передамплю
Кто знает терминалку - чтоб в бинарник писала !??
stasik007, Спасибо! Молодца! Это с гипертерминала?
Я поясню мальца. Стас пришёл к выводу что серийники FF.... и 00..... не читаются самой зызой и ей они вообще по фигу :) А коды эти имеют значение для контроллера самой батарейки и дескать контроллер батарейки увидев эти коды в своей флешке тупо выдаёт определённую команду из своего списка зызе....в 3000 видать новые команды....Не знаю насколько верна эта версия...но Стас уверен что это так...
stasik007
22.04.2010, 02:20
да - Realterm
stasik007 добавил 22-04-2010 в 02:20
серийник увиденный на дампе передайтся примерно через 30 сек после начала общения с батарейкой - тоесть после того как всё стартанёт и обо всём договорится!
5A0201A2A505 - с этого начинается разговор в обычном режиме батарейки
A50A061EBB17 - сервис
A50A06F8D4EB - автозапуск
эти цифры одинаковы и при повторных запусках.
А ТEПЕРЬ, БРОСИВ ПЕРВЫЙ ВЗГЛЯД, ЕСТЬ ИДЕИ!... ?
Первый байт занятный: прям таки либо норм идёт, либо ***** вперёд :-D
Э-э-э, либо спиной вперёд.
Можно ещё перепиливание дорожки вспомнить...
Может, теперь допаивание нужно?))
stasik007
22.04.2010, 02:39
Почитал док на контроллер - мощная штука - и памяти о оперативки на любые заморочки хватит!
одно непонятно на чьём языке они общаются - может чтото-типа "infolitium language"
Klerikus
22.04.2010, 09:12
5A0201A2A5050600D106785A0203A0A504061D10235A0B80028BB72A472664D440C7A5120648D869
81196B0DC3016FF008971..........................
старт с тойже батарейкой но в сервисном режиме:
A50A061EBB1728D3F40080EB5A0201A2A5050600D406755A0203A0A504061D10235A0B80029224A9
7C31DC6D962DA51206183B2AF3A1B7F344C0C22F8188.................................
06B5CB2076BCD594BF50
Всё тоже но батарейка в режиме автозапуска :
A50A06F8D4EBE74E2682E4D25A0201A2A5050600CF067A5A0203A0A504061910275A0B800239822F
569705F3E168A512061FF98C6BC9ECC............
Для начала разобрать что здесь кто кому говорит. Есть такая вот периодичность.
stasik007, Чем подслушал?
t0rm3nt0r
22.04.2010, 09:22
5A0201A2A5050600D106785A0203A0A504061D10235A0B80028BB72A472664D440C7A5120648D869
81196B0DC3016FF008971..........................
старт с тойже батарейкой но в сервисном режиме:
A50A061EBB1728D3F40080EB5A0201A2A5050600D406755A0203A0A504061D10235A0B80029224A9
7C31DC6D962DA51206183B2AF3A1B7F344C0C22F8188.................................
06B5CB2076BCD594BF50
Всё тоже но батарейка в режиме автозапуска :
A50A06F8D4EBE74E2682E4D25A0201A2A5050600CF067A5A0203A0A504061910275A0B800239822F
569705F3E168A512061FF98C6BC9ECC............
Для начала разобрать что здесь кто кому говорит. Есть такая вот периодичность.
stasik007, Чем подслушал?
Обратил внимание на куски очень похожие 5A020. Похоже начало пакета. Возможно заголовок. Я бы даже сказал, что заголовок это именно 5A0, а дальше 2 байта это уже код операции наверное. 20 0B
t0rm3nt0r добавил 22-04-2010 в 09:22
Klerikus, он ответил чем снимал. http://realterm.sourceforge.net/
Klerikus
22.04.2010, 09:34
Я бы даже сказал, что заголовок это именно 5A0
Ну это уже как полтора землекопа, дели по другому :)
t0rm3nt0r
22.04.2010, 09:36
Ну это уже как полтора землекопа, дели по другому :)
Хз... А вдруг именно 3 байта? Кто-бы дал протоколы почитать.
Жгу. Согласен... Не проснулся еще.
Заголовок значит 5A... Все равно структуру пакета не вычислить...
Klerikus
22.04.2010, 09:38
Хз... А вдруг именно 3 байта? Кто-бы дал протоколы почитать.
ЖЖош. xx - 1 байт. 5A0 - 1,5 байта.
примерно через 30 сек после начала общения с батарейкой
Что-то долго как то 30 сек, не так ли?
stasik007
22.04.2010, 10:57
переделаю
а это начало старта в обычном режиме
5A0201A2
A5050600D10678
5A0203A0
A504061D1023
5A0B80028BB72A472664D440C7
получается что батарейка начинает свои фразы с А5 а зыза с 5А и фраза начинающаяся батарейкой с A50A06 является командой к запуску - ЭТО ФАКТ!
остаётся выяснить о чём болтает со своей батарейкой 3000 (на днях дадут - попробую)...
1-ый байт в фразе - это кто передает
2-ой байт в фразе - длина сообщения
последний байт в фразе - это чек сумм, его можно вычислить самому...
позже отпишу как вычислить если надо, пока занят слишком
ну а дальше само сообщение
stasik007
22.04.2010, 12:12
переделаю
крууто, неожиданный поворот.
в этом смущает только одно, нафига они в каждую батарейку запихнули такой мощный контроллер, а главное, который может стартовать псп в сервисном режиме. логичней было бы в пользовательских батарейках такой функциональности вообще не иметь, потому что она там никогда не понадобится по идее, а иметь только в сервисных.
stasik007
22.04.2010, 13:07
Народ! Глубоко извиняюсь ! Не там впаял питание порта и часть данных проходила мимо!
вот старт в сервисном режиме - многое проясняется!
;-) и серийничек нашёлся!
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
это старт в сервисном режиме -приставка включается но кнопки не нажимал и она выключается
1-ый байт в фразе - это кто передает
2-ой байт в фразе - длина сообщения
последний байт в фразе - это чек сумм, его можно вычислить самому...
позже отпишу как вычислить если надо, пока занят слишком
ну а дальше само сообщение
точно :good:
картина проясняется)
Ins|der добавил 22-04-2010 в 13:28
2-----service-----------
A50A0612706FD41AF4AF7256
5A0201A2
A5050600FD064C
5A0203A0
A504062C1014
5A0B8002CFCF4E253BB6A5E889
A512066709ECAB97F35D7492A62BD117ACC830F1
5A0A81C05B2298EFFAE7561F
A50A06BB910275205FA594CF 00
dn3d,
алгоритм подсчёта контрольной то напиши всё же =)
dn3d,
алгоритм подсчёта контрольной то напиши всё же =)
Последний байт даже не чексумм, а скорее всего добавочный...
например взять два сообщения:
A50406080741
A504060F0041
Замечу, в этих сообщениях 1, 2 и последний байты одинаковые, а то что между ними в принципе отличается.
если сделать сумму байт начиная со 2-го то получим значение с которого начинается следующее сообщение (в нашем случае - это 5А).
З.Ы. если сумма получилась больше FF, то откидываем левую часть. Например:
есть сообщение A5120648D86981196B0DC3016FF00897110B7E4B, складываем байты начиная со 2-го, получаем число 065A, откидываем левую часть и получаем один байт со значением 5А, т.е. первый байт следующего сообщения.
З.Ы. Еще один пример, только уже начинается не с А5, а с 5А:
5A0A8188FCD79FB37D3A00B6
делаем сумму начиная со 2-го байта и получаем 5А5, откидываем левую часть и получается А5, тоже начало следующего сообщения.
stasik007, позволь я замечу, там не совсем правильное разбиение:
A512063671EF
A5D3322FD957FE8FD63C761B640F - это одна команда, 18 байт
A50A06
5AC2A00F8D6788BC4700 - здесь тоже, 10 байт)
и т.д.
Ins|der добавил 22-04-2010 в 14:44
dn3d, тогда 00 на конце означает, что ничего добавлять не нужно.
здорово, спасибо!
stasik007
22.04.2010, 15:20
старт с нормальной батарейкой серийник 4f20df89:
подключаю батарейку
005A0201A2
A5050610C20677
5A020C97
A50606204F89DF77 - серийник
5A0B8008364CAFF8EFE8E9
A584A51206EFDDEDA268B1F15CF705F1F16FFADDE27B5A0201A2A5050610C206775A020C97A50606 204F89DF77
5A0B8002129A117169ADE46F81A51206CEE3A231846B7A3CACC16A81AE99A14F8A5A0A8108EC2507
7C96EB55A8A50A063D71D0DDA5AC498DC85A0201A2A5050600C206875A0B800208FA21BD9B0CF433
6AA51206649C9CC965D9AA823804FA537F84ADC7735A0A810A99549CC666111A30A50A061DF65042
207C3621B200
включаю приставку
5A0201A2
A5050610C20677
5A0203A0
A5040636100A
5A020C97
A50606204F89DF77 - серийник
5A0B80082ED10418C5A517A7CF
A51206956EC42197FA58395A3D01B7EBB74C36C5
5A0201A2
A5050610C20677 - серийник
5A0203A0
A5040636100A
5A020C97
A50606204F89DF77
5A0B800265727014369503DA15
A51206D3D208AC828AC4285A1F1BE8389276A2935A0A8162861C9CE061878131A50A063E02027DA5 B052A3415A0201A2
A5050600C206875A02079CA504060807415A020B98A504060F00415A02099AA5040601044B5A0202
A1A503061B365A02049FA504069AFFB75A0203A0A5040631100F5A0201A2A5050600C206875A0209
9AA504063603175A0202A1A503061B365A02049FA5040681FFD05A0203A0A504062C10145A0201A2
A5050600C106885A0203A0A504062C10145A0B80028C1358AFF19A5594FEA51206903ECAB191ACE9
B53336455CD35DC860BC5A0A819F3777774C64553C15A50A0664D75EC38A197E7B525A0201A2A505
0600C106885A02099AA504063603175A0202A1A503061B3600
старт с нормальной батарейкой серийник 4f20df89
A50606204F89DF77 - серийник
странно, местами меняет байты
stasik007, это ты 2000ю зызу мучаешь?
и, прости за дилетантство, что такое "режим автозапуска"?
stasik007
22.04.2010, 16:53
что такое "режим автозапуска"? - Autoboot mode - это когда серийник 00000000 - приставка включается как только вставлена батарейка (удобно при ремонте)
ErikPshat
22.04.2010, 16:58
Ничё себе вы навычисляли.
Получается 5А - это запрос, А5 - это ответ. Следующий байт действительно длина.
Теперь нужно сами команды побайтно разложить =)
Я в шоке!
Ins|der, серийник записан в микрухе не сплошным текстом, а тоже кусками.
00000000 - режим автозапуска при вставке батареи.
FFFFFFFF - сервисный режим в предыдущих пандорах.
у меня есть догадка, что 3-ий байт в сообщении - это команда...
Например: сообщение зызы 5A 02 0С A2 - вернуть серийник батарейки
сообщение батарейки A5 06 06 204F89DF 77
P.S. у батарейки этот 3-ий байт всегда равен 06. Скорее всего это команда, что дальше будут данные
Ins|der,
серийник так хранится:
12345678
0x0e : 34
0x0f : 12
0x12 : 78
0x13 : 56
stasik007
22.04.2010, 17:14
мысль:
серийник выдаётся коммандой A50606 а вот после серийника код очень интересный - похоже инструкция к загрузке (опробовал с разными флешками - везде тоже)
A50606000000004E - автозапуск -- 4E
A50606FFFFFFFF52 - сервис ------ 52
A50606204F89DF77 - нормальный --77
Да уж .... нет слов просто...тут кажись Стасик опечаталсястарт с нормальной батарейкой серийник 4f20df89:
A5050610C20677 - серийник
5A0203A0
A5040636100A
5A020C97
A50606204F89DF77
серийник должен быть в последней строчке куска... а вообще количество вхождений серийника в обычном, сервисном и режиме автозапуска всегда совпадает ? И написал бы как железячно проделываешь опыт - как и чем консоль к компу подключаешь для анализа - если это доступно для простых обывателей то мы попробовали бы тоже самое со своими батарейками и разными кончолями - может вырисовалась бы общая картинка...
И самое интересное - прослушать это же общение на 3000 консоли хотя бы и с обычной батарейкой, да и с сервисной тоже интересно - может быть индикатор и не загорается зеленым а общение идет - ведь не зря Борян писал что консоль несколько раз опрашивает серийник...
Контрольная сумма еще проще
FF=A5+5A
---------
$A5(1й байт)=$FF - сумма следующих байт пакета (8бит).
контрольный байт для коррекции кс - явно последний в пакете.
ErikPshat
22.04.2010, 17:29
lport3, а можно пример на длинной строке, а то что-то не совсем понятно.
Нужен опрос от 3000 модели, кто может сделать?
A50606000000004E - автозапуск -- 4E A50606FFFFFFFF52 - сервис ------ 52 A50606204F89DF77 - нормальный --77
нет, выяснили уже, что последний байт добавочный, вроде контрольной суммы, а второй - длина, просто команда длиной 6 байт у нас одна - выдать серийник батареи)
A51206956EC42197FA58395A3D01B7EBB74C36C5
A5 = FF - (12+06+95+6E+C4+21+97+FA+58+39+5A+3D+01+B7+
EB+B7+4C+36+C5 = 085A (8bit = 5A) )
stasik007
22.04.2010, 17:42
слушаю простой фигнёй - собирал давно на 1 транзисторе для пс2 - по терминалке лог диагностики смотрел
отсюда схему брал
http://nnoble.nerim.net/ee-sio/ps2-ee-sio.html -
надобы всё переделать на максе - времени нет..
а свою схему не могу найти - хард накрылся давно где это было - погуглить надо мож где есть - 1 транзистор и 2 сопротивления - но это только слушать а на максе можно и туда и обратно!
stasik007 добавил 22-04-2010 в 17:42
нет, выяснили уже, что последний байт добавочный, вроде контрольной суммы, а второй - длина, просто команда длиной 6 байт у нас одна - выдать серийник батареи)
нет! тут последний байт не добавочный и меняется он только если перешить режим работы батарейки - на 3 батарейках экспериментировал.
завтра утром у меня будет 3000 - сравним , обдумаем
Хм если я правильно понял то 5A020C97 - это команда консоли на запрос серийника батарейки ?
завтра тоже возьму свою 3000,
прочитаю нормально и выложу логи.
stasik007 - последний байт это кс,
поверь мне, я делаю приборы и программы для
диагностики автомобилей.
stasik007
22.04.2010, 17:50
Хм если я правильно понял то 5A020C97 - это команда консоли на запрос серийника батарейки ?
да
stasik007, разве?
06+06+20+4F+89+DF+77=5A
06+06+00+00+00+00+4E=5A
06+06+FF+FF+FF+FF+52=5A
вроде бы все органично вписывается в алгоритм)
хотя может чего не понимаю..
ErikPshat
22.04.2010, 18:03
// Вот разложил поточнее, что выложил Стасик:
/* Старт с нормальной батарейкой серийник 4f 20 df 89
Подключаю батарейку:
00
5A 02 01 A2
A5 05 06 10 C2 06 77
5A 02 0C 97
A5 06 06 20 4F 89 DF 77 - серийник
5A 0B 80 08 36 4C AF F8 EF E8 E9 A5 84
A5 12 06 EF DD ED A2 68 B1 F1 5C F7 05 F1 F1 6F FA DD E2 7B
5A 02 01 A2
A5 05 06 10 C2 06 77
5A 02 0C 97
A5 06 06 20 4F 89 DF 77 - серийник
5A 0B 80 02 12 9A 11 71 69 AD E4 6F 81
A5 12 06 CE E3 A2 31 84 6B 7A 3C AC C1 6A 81 AE 99 A1 4F 8A
5A 0A 81 08 EC 25 07 7C 96 EB 55 A8
A5 0A 06 3D 71 D0 DD A5 AC 49 8D C8
5A 02 01 A2
A5 05 06 00 C2 06 87
5A 0B 80 02 08 FA 21 BD 9B 0C F4 33 6A
A5 12 06 64 9C 9C C9 65 D9 AA 82 38 04 FA 53 7F 84 AD C7 73
5A 0A 81 0A 99 54 9C C6 66 11 1A 30
A5 0A 06 1D F6 50 42 20 7C 36 21 B2
00
Включаю приставку:
5A 02 01 A2
A5 05 06 10 C2 06 77
5A 02 03 A0
A5 04 06 36 10 0A
5A 02 0C 97
A5 06 06 20 4F 89 DF 77 - серийник
5A 0B 80 08 2E D1 04 18 C5 A5 17 A7 CF
A5 12 06 95 6E C4 21 97 FA 58 39 5A 3D 01 B7 EB B7 4C 36 C5
5A 02 01 A2
A5 05 06 10 C2 06 77
5A 02 03 A0
A5 04 06 36 10 0A
5A 02 0C 97
A5 06 06 20 4F 89 DF 77 - серийник
5A 0B 80 02 65 72 70 14 36 95 03 DA 15
A5 12 06 D3 D2 08 AC 82 8A C4 28 5A 1F 1B E8 38 92 76 A2 93
5A 0A 81 62 86 1C 9C E0 61 87 81 31
A5 0A 06 3E 02 02 7D A5 B0 52 A3 41
5A 02 01 A2
A5 05 06 00 C2 06 87
5A 02 07 9C
A5 04 06 08 07 41
5A 02 0B 98
A5 04 06 0F 00 41
5A 02 09 9A
A5 04 06 01 04 4B
5A 02 02 A1
A5 03 06 1B 36
5A 02 04 9F
A5 04 06 9A FF B7
5A 02 03 A0
A5 04 06 31 10 0F
5A 02 01 A2
A5 05 06 00 C2 06 87
5A 02 09 9A
A5 04 06 36 03 17
5A 02 02 A1
A5 03 06 1B 36
5A 02 04 9F
A5 04 06 81 FF D0
5A 02 03 A0
A5 04 06 2C 10 14
5A 02 01 A2
A5 05 06 00 C1 06 88
5A 02 03 A0
A5 04 06 2C 10 14
5A 0B 80 02 8C 13 58 AF F1 9A 55 94 FE
A5 12 06 90 3E CA B1 91 AC E9 B5 33 36 45 5C D3 5D C8 60 BC
5A 0A 81 9F 37 77 77 4C 64 55 3C 15
A5 0A 06 64 D7 5E C3 8A 19 7E 7B 52
5A 02 01 A2
A5 05 06 00 C1 06 88
5A 02 09 9A
A5 04 06 36 03 17
5A 02 02 A1
A5 03 06 1B 36
00
*/
слушаю простой фигнёй - собирал давно на 1 транзисторе для пс2 - по терминалке лог диагностики смотрел
отсюда схему брал
http://nnoble.nerim.net/ee-sio/ps2-ee-sio.html -
надобы всё переделать на максе - времени нет..
Так а если у меня есть кабель на базе PL2303 - когда то на мобиле прошивку менял - пришлось паять мини-USB - я могу эту хрень использовать ? Что мне нужно сделать для этого - зацепить TX и RX на цетральный контакт разъема для батарейки ? а питание будет с батарейки ведь браться - так ?
И еще отвлеченный вопрос - на 3000 миниUSB односторонний или двусторонний - сколько в нем контактов никто не озадачивался ? Просто чтобы получить доступ к мобиле нужна была обратная сторона миниUSB...
запрос 01 это проверка заряда,
в логе даже видно как напряжение меняется
вначале и в конце
вначале с201(49665) потом с100(49408)
можно было бы вычислить множитель,
но я не знаю нормальный заряд батарейки в псп)
--------
00 в начале и конце это брэйки порта для открытия сессии
stasik007
22.04.2010, 18:22
чтобы слушать надо соединять RX
ErikPshat
22.04.2010, 18:27
lport3, всё, я понял.
То есть, последний байт в каждой строке никакой нагрузки не несёт.
Он только выступает, как корректирующий байт контрольной суммы.
И добавляется соответственно, чтобы уравнять контрольную сумму к первому байту.
Похоже, что так.
Надо бы посмотреть дамп батарейки. А что если туда вставляем серийник, а контрольная сумма не сходится. Отсюда происходит ошибка и сбой.
lport3, всё, я понял.
То есть, последний байт в каждой строке никакой нагрузки не несёт.
Он только выступает, как корректирующий байт контрольной суммы.
И добавляется соответственно, чтобы уравнять контрольную сумму к первому байту.
Похоже, что так.
Надо бы посмотреть дамп батарейки. А что если туда вставляем серийник, а контрольная сумма не сходится. Отсюда происходит ошибка и сбой.
Кроме последнего байта кс,
думаю что первый (кроме хидера) байт $06 - это просто положительный
ответ на запрос.
В длинном запросе наверняка есть направляющие адреса
на дамп в батерейке, поэтому не плохо былобы видеть дамп из
батарейки.
кс не может не сходится, это протокольная кс она служит
только для проверки целостности пакетов в протоколе связи.
stasik007, Выложи дамп своей батарейки сюда...я тебе говорил как его снимать.
ЗЫ Для инфы, что бы знали кто такой Стасик :) это мой коллега по работе :) Завтра ему передам 3000 для изучения...вот думаю логи будут очень интересные .... а сам буду продолжать аппаратно изучать 3000...
запрос 01 это проверка заряда,
в логе даже видно как напряжение меняется
вначале и в конце
вначале с201(49665) потом с100(49408)
можно было бы вычислить множитель,
но я не знаю нормальный заряд батарейки в псп)
--------
00 в начале и конце это брэйки порта для открытия сессии
снова опечатка ???? - вначале с210 (49680) потом с200 (49664)- из-за нее сразу не въехал о чем речь - потом разложил запросы ответы и понял...
с сервисной батарейкой
5A 02 01 A2
A5 05 06 10 9B 06 9E
5A 02 01 A2
A5 05 06 10 9B 06 9E
5A 02 01 A2
A5 05 06 00 9B 06 AE
и с обычной
5A 02 01 A2
A5 05 06 10 C2 06 77
5A 02 01 A2
A5 05 06 10 C2 06 77
5A 02 01 A2
A5 05 06 00 C2 06 87
Но вот заряд ли это - странно что на двух разных батарейках одинаковое проседание 10(16) - неужели первичное включение столько энергии сжирает или тут что то другое....
К Стасу вопрос - какая батарейка была лучше заряжена на момент эксперемента и снятия инфы... Если мы правы то сервисная была более разряжена чем обычная...
stasik007
22.04.2010, 19:05
вот дамп - только серийник поменялся после того как я запандорил и распандорил
0807FFFF320DFFFF50000A000B00171AFFFF58E7FFFF640296030807FFFFFFFFFFFF0F000807FFFF 0000640000FF00000000B804FFFFFFFFFFFFFFFFFFFFFFFF050F1E32411E283741555F5A57555361 5E5C5A5864625E5B596764615E5C6C6B696661375A5F555F55503CF600DA00BF00F600DA00BF00B5 01480111018B91959EA2A8C2D200050A141E32505E940374034D032003ED02B5027A023D020002C5 018C0158012901FF00DA00BA00E14B5A581964F401646408190805054682D237461E643237C82832 415E5F60050F1E32411E23282F374155887469646289776C68648B7D6E6A668C84736C698D887873 6E908C878179918F8B8682FFE700E700
сервисная батарейка 100%
обычная 60-75% примерно
ANDPSP, Привет! :) Завтра дам тебе что обещал :) А батарейка одна и та же была просто её режим ПСП тулом меняли туда сюда
ANDPSP,посмотри логи с первой страницы и
станет более понятно, что stasik007 (java******:insertNick('stasik007',%20'882671');) просто не заряжал батарейку..
впрочем не настаиваю, надо более внимательно посмотреть.
-----------
проседание одинаковое, протсто ацп видимо 10 бит.
ErikPshat
22.04.2010, 19:47
stasik007, я так понял, серийник у батарейки 1A 17 E7 58
Обращение за серийником должно быть по адресу 0F 0E 13 12 + может быть адресная прибавка.
Только имейте ввиду, что дам от чужой батарейки - нельзя заливать в другую батарейку!
0AF540D4 судя по первой странице, вот такой номер у батарейки.
-----------
вообще, по серьезному псп с батарейкой общается..))
крипт скорее всего, в длинных пакетах, единственная пахожесть,
начало на $8000, возможно 2 байта ключа, или направляющие.
ErikPshat
22.04.2010, 20:23
lport3, 0AF540D4 сомневаюсь. Это-же дамп батарейки, а позиции серийника известны.
$8000 - мне кажется адресация памяти. Обычно по этому адресу кэшируются данные, вернее с 0х80000000.
Кто знает терминалку - чтоб в бинарник писала !??Если в консольной терминалке, то команда вывода в файл:
> file.bin 2>&1
нормальный старт:
5A0201A2A5050600D106785A0203A0A504061D10235A0B80028BB72A472664D440C7A5120648D869
81196B0DC3016FF00897110B7E4B5A0A819C9244C6C4B89103D2A50A06CB4E30A90999E21EB6005A
0201A2A5050610D106685A02079CA504060807415A020B98A504060F00415A02099AA504068904C3
5A0202A1A5030620315A02049FA50406A5FFAC5A0203A0A5040614102C5A0201A2A5050610D10668
5A02099AA504064D03005A0202A1A5030620315A02049FA5040682FFCF5A0203A0A504060F10315A
0201A2A5050610D006695A0203A0A504060F1031 5A020C97 A50606F50AD4403B 5A0B8008821A0E26
98D8134D72A512067359028E72950C431F3A0ECB0388486B205A0201A2A5050610D006695A0203A0
A504060F10315A020C97A50606F50AD4403B5A0B8002260D66DC6FFD8E3D6CA51206050111C5DF5C
3BC39A0009825DA86798045A0A810D4DCF959F0E4D84DEA50A068183DF89C6C6BEFD975A0201A2A5
050600D006795A02099AA504065003FD5A0202A1A503061F325A02049FA5040682FFCF5A0203A0A5
04060A10365A0201A2A5050600CF067A5A0203A0A504060A10365A0B8002D2EF58544F39870795A5
120602DD9D9E5F7E16AD400B142D656D4E607C5A0A8188FCD79FB37D3A00B6A50A065A603307C24E
50AE48
старт с тойже батарейкой но в сервисном режиме:
............
>>Думаем, мозгуем...
завтра получше передамплю
Кто знает терминалку - чтоб в бинарник писала !??
вот пост с первой страницы, серийник видно..
ErikPshat
22.04.2010, 20:34
lport3, так это байты с терминала. Там серийник уже складывается по другому.
А здесь он выложил дамп чипа памяти батарейки. Он состоит из 256 байт.
Серийник записывается по адресу 0х0F, 0х0E, 0х13, 0х12
Он же говорит, что сначала пандорил, а потом распандорил и прописался уже другой серийник.
В памяти батареки постоянно меняются данные. Они там записываются и корректируются со временем, чтобы делать калибровку батареи по мере старения.
Так-же, у меня были данные, где записываются данные о циклах заряда/разряда и состоянии заряда батареи. Просто винт сгорел и всё потерялось. Но это не трудно заново вычислить...
Нужно зарядить батарею на 100% и снять дамп. Потом разрядить её, пока не упадёт на одно деление и снова снять дамп, и ещё раз, разрядить на деление и опять снять дамп. После сравнения видно будет, в каком месте это меняется и записывается.
Так-же можно вычислить циклы заряда. Поставить на зарядку, будет гореть оранжевый огонёк и снять дамп. Как загориться красный огонёк, ещё раз снять дамп. Ещё когда горит зелёный, тоже снять дамп и все эти смещения можно вычислить.
Таким образом круг поисков сузится.
А я думал, он дал дамп с эфками в номере,
а "номер поменялся" - имеется ввиду после пандоры.
Чтобы понять что-куда в протоколе надо десятки логов,
и и-то это определит только направление для поиска.
То, что лежит в еепроме - полбеды, есть контроллер а у него
своя прошивка. Вот если ее слить и раздизить, тогда
считай дело в шляпе. А так, видится мне это малоперспективным.
ErikPshat
22.04.2010, 21:14
lport3, вот смотри. Упирается всё в том, что мы пока точно не знаем, какой серийник должен быть в ответе. Не знаем какой длины и возможно вообще сменили в 3000 его месторасположение.
А если мы запишем серийник и снимем дамп памяти батареи, то будем знать каждый байтик.
Теперь, мы терминалом снимем такой-же опрос батареи, но уже на 3000 модели. И точно так-же, как я выше разложил всё по полочкам, разложим разговор терминала.
Мы точно вычислим, какую область памяти батареи отсылается в ответе в качестве серийника. И найдём в дампе эти байты. То есть, мы уже теоретически точно можем подтвердить местонахождение и длину серийника.
А по коду запросов-ответов можем составить картину сервисных ответов или обычных, сравнив с уже имеющимися.
Я уже прикинул, что коды идут однобайтовые (3-ий байт). И их не так уж много. В ответ возвращается код 06, а за ним данные, не считая последнего байта.
Рассмотрим первую строку: 5A 02 01 A2
Тут всё ясно...
5A - хедер запроса
02 - длина строки в байтах
01 - однобайтный код запроса (они пронумерованы по спецификации)
A2 - последний байт корректирующей контрольной суммы
Заметь, в ответ всегда батарея вставляет код 06
Серийник батареи запрашивается кодом 0С
Кодом 80 запрашивается может заряд батареи и в ответ получает 16-байтный код. Скорее всего код двубайтный 80 08.
После второго опроса серийника уже запрашивается другой код 80 02, т.е. вероятно после второй проверки, убедившись в правильности, срабатывает следующая инструкция.
Кодом 81 08 возможно запрашивается цикл заряда и возвращается 8-байтный код.
Затем переходит на другую схожую инструкцию 81 0A
И остались коды 02, 03, 04, 07, 09 и 0B. Вот и вся арифметика =)
Из того что я увидел в логах выше.
адрес псп - 5A, адрес батарейки A5.
общая контрольная сумма пакета FF.
Описание пакета в протоколе -
1.адрес
2.длина пакета(-1)
3.команда запроса(для псп), ответ (для батейки)
4.байт коррекции суммы пакета до FF
Команда запроса в псп -
1. команда чтения локальных идентификаторов, 1 байт.
2. команда обработки динамическими средствами.
Первые 2 байта команды являются неким ключем,
определение ключа > $80$00
Ответ батарейки -
1. первый байт $06 - предположительно, позитивный
ответ.
Предполагаю, команда
$0C - серийник батарейки (почти точно).
$01 - напряжение батарейки, возможно
используется как напоминание связь
онлайн (это мое предположение)
Остальное пока что не понятно.
--------------------
кстати, так и не сказали мне какое напряжение, ток на батарейке?
ErikPshat
22.04.2010, 22:02
$01 - напряжение батарейки, возможноВот на 01 возвращается ответ 10 C2 06
Что это может значить?
P.S. И вы не против, если я закреплю разложенную таблицу терминала в шапку, чтобы сравниваться с ней, а не листать страницы туда-сюда?
то что команда $01 это напряжение батарейти,
только предположение.
--------------------
кстати, так и не сказали мне какое напряжение, ток на батарейке?
если вы параметры батарейки скажете, мне будет проще,
псп сейчас рядом нет, чтобы посмотреть. Если будут известны параметры
то возможно я смогу описать команду 01 точнее.
ErikPshat
22.04.2010, 22:28
Вот на 01 возвращается ответ 10 C2 06На 3-ий раз в ответ приходит 00 C2 06
После этого, запрос на серийник не посылается, пропускается.
А 2 последних ответа уже отвечает, что 00 C1 06
Странные цифры =)
ivan_helsin
22.04.2010, 23:03
Сорри, что вклиниваюсь, но, ребят, а вы параллельно будете обследовать аккум от ta-88v3 ?
Внесу свою лепту в благое дело старым добрым копипастом. Нагуглил данную информацию(!!!требуется ее проверка, инфа 2007 года!!!):
Packet Types:
type descri ption data reply from battery remark
0x01 request status none unknown_flag:u8
energyleft_mAh:u16
0x02 request temperature none temperature:u8 cercius degree, min/max value unknown
0x03 request voltage none voltage_mV:u16
0x04 request current none current_mA:short positive if charging battery
0x07 request capacity none capacity_mAh:u16
0x09 request timeleft none timeleft_min:u16 XMB showing not this value
0x0c request serialno none serialno:u32 suspected
0x80 request auth? 9byte 16byte encrypted data/reply
0x81 request auth? 8byte 8byte encrypted data/reply
type descri_ption data remark
0x05 reply from battery none NAK, BCC error and so on??
0x06 reply from battery * ACK, with reply data
На сколько вижу дампы протокола, таблица типов подходит. Единственное - непонятен алгоритм "рукопожатия" 0x80 - 0x81
ErikPshat
22.04.2010, 23:11
ivan_helsin, а что там расследовать. Там контроллёры питания одинаковые, что и на предыдущих матплатах. Так что аккумуляторы одинаково реагируют. Разница только в PRE-IPL проца на 88v3, который контролирует IPL пандоры на подлинность. А в 3000 другой контроллёр питания.
Saros, ух ты, это похоже на что-то. Проверка серийника совпадает по 0С
мда.
Saros, гдеж ты был 2 часа назад...гы
все совпадает, кроме $04 , по моему это
16 бит статуса зарядки батареи, в %
На сколько вижу дампы протокола, таблица типов подходит. Единственное - непонятен алгоритм "рукопожатия" 0x80 - 0x81
ну тут врят ли кто то скажет (соньковцы не в счет )).
все совпадает, кроме $04 , по моему это
16 бит статуса зарядки батареи, в %
Не соглашусь. Пример из дампа:
запрос
5A 02 04 9F
ответ
A5 04 06 9A FF B7
0xFF9A - многовато для %, а current_mA:short- в самый раз
Не соглашусь. Пример из дампа:
запрос
5A 02 04 9F
ответ
A5 04 06 9A FF B7
0xFF9A - многовато для %, а current_mA:short- в самый раз
FF9A/FFFF*100=99,..%
Впрочем, не настаиваю )
Это не самое интересное, главное, что длинные сессии
все криптованные, а значит, эта метода не имеет большого интереса.
Согласен, но результат дампа 3000-ой заслуживает внимания
Saros прав, похоже мы тут придумываем велосипед: http://forums.ps2dev.org/viewtopic.php?p=57634#57634
(для тех, кто не силен в английском: подробно рассказывается о том, как была создана Пандора)
хотя тема все-равно нуждается в развитии =)
Ребят только что Стас был у меня и я дал ему 3000. Через часок ждите лог батарейки с 3000 :)
Стас все ждут тебя :)
Boryan добавил 23-04-2010 в 00:52
Сорри, что вклиниваюсь, но, ребят, а вы параллельно будете обследовать аккум от ta-88v3 ?
Нету и не бывает АКБ для 2000 и 3000 и уж тем более для ревизий материнских плат :)
stasik007
23.04.2010, 01:25
добавил, подумав ПЕРЕДЕЛАЛ ПЕРВЫЙ ДАМП - Т**ЕРЬ ВСЁ С ОДНОЙ БАТАРЕЙКИ
3000===========30000========normal mode
connect battery serial - 0x3C0FB5E8
005A0201A2A50506100807305A020C97A506060F3CE8B5665A0B800A5EDD24BD1FAD15749FA51206
602E7B6CBAC1966E0F70A4BE1B71FBFCEA5A0201A2A50506100807305A020C97A506060F3CE8B566
5A0B8004E31135708809FDA748A51206A3F83CAC4078B2CB762256D2586D6AC2D95A0A811DF1367B
B45A90C7F6A50A0657A99BC4A88CA6E62B5A0201A2A50506000807405A0B8004EC919942D764D38D
23A5120630F2A3409FBDEAA7F15AAFEF25025792575A0A8172C9F2DD336099E202A50A06E511FC35
CD8B54EF8800
power on
5A0201A2A50506100807305A0203A0A504064510FB5A020C97A506060F3CE8B5665A0B800A16A25E
9ECDA0F77682A51206A988AACE43C2B3C06C4EE1730A8C31ED5F5A0201A2A50506100807305A0203
A0A504064510FB5A020C97A506060F3CE8B5665A0B80043BA522830074830E8CA5120663A988C046
B1BD68CC0CCFC8A1364A89B95A0A81063324BAB902721ABCA50A06D0334493071615330B
00
stasik007 добавил 23-04-2010 в 01:25
SERVICE MODE
CONNECT BATTERY
5A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D9C831D9C81C1D8429C1A51206FA
1A4CA5E46184DA2C5E52CFEE8CC2C6ED5A0201A2A50506100707315A020C97A50606FFFFFFFF525A
0B80D969E5C14C988C80350DA51206243826E65DC2CD99E58489AEA94C7392BB5A0201A2A5050610
0707315A020C97A50606FFFFFFFF525A0B80D9C0FCFE119DE93DAE05A51206724258A8B31FF0D8DB
155DA9BB9B3018605A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D9D1ECA40451
98BFBD77A512061D0D809D7165532B4215E6F4A1321F8FF55A0201A2A50506100707315A020C97A5
0606FFFFFFFF525A0B80D9E581B9AE4E48C04AD4A512060AE741F44C7B2BC7A05E9BF31890B44A31
5A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D9429979D16FCAB970BAA51206AC
CD4E05A1F8DE29C44ABC365F43F70C315A0201A2A50506100707315A020C97A50606FFFFFFFF525A
0B80D94BFB64EF6F9221FF87A5120687E8DA93C57D7A279B5ACF3AECB6264D705A0201A2A5050610
0707315A020C97A50606FFFFFFFF525A0B80D9FAD52E9C88F787C8DAA512060131E5A757321EC456
CB7EAF286A3114F45A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D92C4D5E2FCA
0C19FA52A51206ECA0CFDF1F70DDAB19C8308DAA5D1359E05A0201A2A50506100707315A020C97A5
0606FFFFFFFF525A0B80D969C88730B8D6CE52ABA512064B4FAE9C29D5E9D830D258A79DE2B5C2A8
5A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D9FE55C83A54CA3FBCD3A51206D2
74C8F7AA5A1C30EAAB1FCEBAE64D700E5A0201A2A50506100707315A020C97A50606FFFFFFFF525A
0B80D98B805814E2783E37FBA51206BD0CB4F6B29F55052212BF22D1CD5831E85A0201A2A5050610
0707315A020C97A50606FFFFFFFF525A0B80D9E20139E8D85719876EA51206BFC3C400E76474E828
80C0760B95F404DF5A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D9AC01EC14CD
3ECBD4EAA5120612941D64AAD7FCA6D9112D917BD77D1C655A0201A2A50506100707315A020C97A5
0606FFFFFFFF525A0B80D9595DB82326E74BAEAAA51206FDA8B9B77B284D99C2E1910AB85DBC9EF7
5A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D98B4BCE3CAD1E4396BDA512063E
3FD172E2A2385731A5B371BD093FC3AD5A0201A2A50506100707315A020C97A50606FFFFFFFF525A
0B80D9A242F580F8582E5E0CA512064EF14C7989B6320407C67003088DD84AD25A0201A2A5050610
0707315A020C97A50606FFFFFFFF525A0B80D95C5693CDBF3191109EA512065E55D47B0513A8AE60
2CE8A413E1F6D1FF5A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D93BF6AE6DA1
560F618EA51206E8B9E7AA81EE052FCD1772CF24ED3DE7135A0201A2A50506100707315A020C97A5
0606FFFFFFFF525A0B80D925BAFE264208B072D2A512060C257BFF0719D301609E8046E152FC852B
5A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D9B185F1453E41A71B94A51206DB
A5449168C61901585AABF80FADDE12A45A0201A2A50506100707315A020C97A50606FFFFFFFF525A
0B80D91CA99014E364D2D3ECA51206EB7A6C62B5DD7063204F359A82693715355A0201A2A5050610
0707315A020C97A50606FFFFFFFF525A0B80D9992CF94D557CF8026BA51206D3FA891C236A18BD13
62B95A4B7819CA405A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D9B30A03705C
B1E3F928A51206CA3A651C0BB0E78D9B1EA6DC78AC75C8F25A0201A2A50506100707315A020C97A5
0606FFFFFFFF525A0B80D986FA98B3F070CB1F2CA51206108E4AA908BC42D1F4E523ECEFDB1E56B4
5A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D9661942E20888CE53EDA512066B
B6CA77EC96E820DBF2483AB93BB662FB5A0201A2A50506100707315A020C97A50606FFFFFFFF525A
0B80D9E8724B673F042F2A99A51206054B593FA194D01599B0CE00F13EE8D73B5A0201A2A5050610
0707315A020C97A50606FFFFFFFF525A0B80D9430FB0B611BE45E392A512066CA78E5EF9455FB724
8189359C8A94735F5A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D9617677D1B8
CAEA2294A5120638CEA21B45D46DA4833E0D135A8657B08D5A0201A2A50506100707315A020C97A5
0606FFFFFFFF525A0B80D9B34F847D9232908C5EA51206687C1F0DE0A87ECC2C5E52CFEE8CC2C6B3
5A0201A2A50506100707315A020C97A50606FFFFFFFF525A0B80D910DC394A2A11DE1D9CA51206D3
563ED3F1BC2990E58489AEA94C73920800
=========================================================================
====3000=======3000==========AUTOBOOT=SN=00000000
5A0201A2A50506100807305A020C97A50606000000004E5A0B80D993EAA3AAD2BB0C4B93A512060C
9AA8179FF33C032EFC650352D37C31A85A0201A2A50506100807305A020C97A50606000000004E5A
0B80D9928992A2EC0197F777A51206A65F9F3DB76879FDC44A94A42137B8FD795A0201A2A5050610
0807305A020C97A50606000000004E5A0B80D9912EE503C3D4EF20F4A5120631D33A090DB77A7542
67D20257C002FBB75A0201A2A50506100807305A020C97A50606000000004E5A0B80D9D594A5D6B8
CE8CB695A51206F8DBEFF0CF4E32D4C716BAF8A54D9BDB765A0201A2A50506100807305A020C97A5
0606000000004E5A0B80D92151979CFDCE2DABF9A512061354E301823BFA223668819A0A51F46BAB
5A0201A2A50506100807305A020C97A50606000000004E5A0B80D9C5EBF69F1E4F48DA6DA512062E
5E4E89E3CFF7DADFEAF659A464D0FB715A0201A2A50506100807305A020C97A50606000000004E5A
0B80D9497828D161382E4080A5120621AAB3E7A04F9C70F6E5AC9914F2697DD65A0201A2A5050610
0807305A020C97A50606000000004E5A0B80D9D387A864F680A9DDDFA5120636C909099A3BB63271
88B2509FB22649B95A0201A2A50506100807305A020C97A50606000000004E5A0B80D9ED611DB1AC
68F7B961A5120661488D73502D2ED731C3C4BFF14BE9BBC05A0201A2A50506100807305A020C97A5
0606000000004E5A0B80D9F2666C7615A6C35534A5120625E76C052F3E8CAA688A4E2876C729ADA7
5A0201A2A50506100807305A020C97A50606000000004E5A0B80D940B1F02F71C2C7D166A512069D
87C98C157976536C75DB2404EB807BA85A0201A2A50506100807305A020C97A50606000000004E5A
0B80D957A06DA5EAC8F50F82A512064BD27AF36DD0AF44AA6B9CDB7CB64108815A0201A2A5050610
0807305A020C97A50606000000004E5A0B80D955DE87C34AEFD8466DA512061FCDE896117018FFE3
FBD8A5867CB71D0F5A0201A2A50506100807305A020C97A50606000000004E5A0B80D92064CCD3A8
D62497E5A512062A6B587F7376E2259FFB6BB2143F271D985A0201A2A50506100807305A020C97A5
0606000000004E5A0B80D98CE557BAF359744BB4A51206926EE2871DAE78EB99E57B0B33957C7FE4
5A0201A2A50506100807305A020C97A50606000000004E5A0B80D97A6F89B2F916CD2E13A51206C7
5632593D29B03C59AE45929A646F4EAF5A0201A2A50506100807305A020C97A50606000000004E5A
0B80D9883F4A2DE04050FD96A512060A73C54816F390F6B0AD2FDCA970FB5B525A0201A2A5050610
0807305A020C97A50606000000004E5A0B80D956671569E37E268BF4A51206ACEB26F359D830BC92
F49532F3A911215A5A0201A2A50506100807305A020C97A50606000000004E5A0B80D9CAB27AD9F3
BCE336AAA51206EF0F4156D6FB046FCFCAE3FE12DED7BB6D5A0201A2A50506100807305A020C97A5
0606000000004E5A0B80D99CA69F7F92B0DFEDD3A512068DD9711A5241AB820389F16A13DA740C3D
5A0201A2A50506100807305A020C97A50606000000004E5A0B80D94E39BBB26135CE5297A5120699
218F2F8086470ED9FB171C680AF620E05A0201A2A50506100807305A020C97A50606000000004E5A
0B80D9B37C99961D1294EB35A51206D81714B1BA0D248E3A9B360F3BDA08C5195A0201A2A5050610
0807305A020C97A50606000000004E5A0B80D9C071DFBDB487376D95A512061BD4EAA7315CF2C106
984BF2C7754E110C5A0201A2A50506100807305A020C97A50606000000004E5A0B80D9B3BE699DC4
C720E13EA512069E42E98E2903E1D2A777334E07CC560E365A0201A2A50506100807305A020C97A5
0606000000004E5A0B80D9E6F46C9A9E94230705A5120695C837CE73D450FDDD9C5EF059589C8BAD
5A0201A2A50506100807305A020C97A50606000000004E5A0B80D940542DDCDB14B29370A512064D
C54B1C63FB90C481476D421CEE211B5A5A0201A2A50506100807305A020C97A50606000000004E5A
0B80D952B612147E9ABE310CA51206D991A38AF4694479CB19880359F0B03FEA5A0201A2A5050610
0807305A020C97A50606000000004E5A0B80D9E72426A21EBB73889AA51206D3593C3DD810A4FF4B
D9BAE9E5609D4B1E5A0201A2A50506100807305A020C97A50606000000004E5A0B80D98733E0B0A4
47B17CDFA5120657E22A7533EB01FAFDEA68AD5CD4029A895A0201A2A50506100807305A020C97A5
0606000000004E5A0B80D9536AD3C1927002D517A51206A6506DF35390BF349FFB6BB2143F271DC8
5A0201A2A50506100807305A020C97A50606000000004E5A0B80D965BA35F93C7DF3B791A5120679
620B3D044CD0D399E57B0B33957C7F6500
Стас выложи хекс с автобут батарейкой
Перевод в читаемый вид.
PSP-3000 с нормальной батарейкой.
Вставили АКК:
5A02 01 A2
A505 06 10F50248
5A02 0C 97
A506 06 A6B5C25ED3
5A0B 80 0ACE1E537CF79B52A0D1
A512 06 95A09C5118088D72A8AB64331A96B1E4D2
5A02 01 A2
A505 06 10F50248
5A02 0C 97
A506 06 A6B5C25ED3
5A0B 80 041E6855C3F5F0DCE1D6
A512 06 A58728AE08F07243A86ED563AD15C8D9E2
5A0A 81 75A6003A4656AFBEBC
A50A 06 D9378A8AD832EF9A93
5A02 01 A2
A505 06 00F50258
5A0B 80 045EB82EAB8066B9D2B6
A512 06 E0B4E8D460E5DE486884153DE7782E4E6E
5A0A 81 0FA1BEE2C2D3C40170
A50A 06 512457136FFD90B1BE00
Включили приставку:
5A02 01 A2
A505 06 10F50248
5A02 03 A0
A504 06 3F0E03
5A02 0C 97
A506 06 A6B5C25ED3
5A0B 80 0AD333BDA53475575553
A512 06 2D190FCAD0867FD9F85337715CBFE2A5 E0
5A02 01 A2
A505 06 10F50248
5A02 03 A0
A504 06 3F0E03
5A02 0C 97
A506 06 A6B5C25ED3
5A0B 80 04E501FF5C44836DFAA7
A512 06 6370E4490FF204B8E164AF51005910B225
5A0A 81 6520A0B70EFCE482CE
A50A 06 F1B654EE4326007187
stasik007
23.04.2010, 01:43
A50606A6B5C25ED3 - СЕРИЙНИК А ПОТОМ D3! А БЫЛО 77 НА 2000
A50606A6B5C25ED3 - СЕРИЙНИК А ПОТОМ D3!
ЧТОБЫ Н**ЫЛО ПУТАНИЦЫ - БАТАРЕЙКИ РАЗНЫЕ ИСПОЛЬЗОВАЛ
A50606A6B5C25ED3 - СЕРИЙНИК А ПОТОМ D3! А БЫЛО 77 НА 2000
A50606A6B5C25ED3 - СЕРИЙНИК А ПОТОМ D3!
ЧТОБЫ Н**ЫЛО ПУТАНИЦЫ - БАТАРЕЙКИ РАЗНЫЕ ИСПОЛЬЗОВАЛ
это норм. последний байт - чексум. на 2-й странице про него. сейчас пересчитал - все сходится
stasik007
23.04.2010, 01:57
точно - подцепил 2000 - с этой батарейкой A50606A6B5C25ED3 - тоже - самое
непонятка зачем 3000 столько много базарит с сервисной и автобут батарейкой :( Какие мысли по этому поводу?
Про сервис моде 3000: сразу видно, что что-то крутится 31 раз подряд. И что процесс "рукопожатия" НЕЗАВЕРШЕН! Примерный перевод языка PSP -акк
5A02 01 ЗЫЗ: Живой?
A505 06 Ак: Живой
5A02 0C ЗЫЗ:Дай серийник
A505 06 Ак: Держи
5A0B 80 ЗЫЗ: А ты кто? )
A512 06 Ак: Я Ак
Дальше должно быть 5A0A 81(продолжение знакомства), ан нет, ЗЫЗа что-то палит...
5A02 01
A505 06
...... и все по кругу. ИМХО ответ на 0х80 - кривой
Saros, нада их подружить канкретна :)
Boryan добавил 23-04-2010 в 02:19
Зыза не зря столько много базарит....хочет ведь собака подружиться с батарейкой ....:)
эх... мнеб хотябы бинарники контроллеров(в любом виде) =))
еслиб я писал этот хэндшейк, то такого-бы туда понаворотил... т.ч. простой логикой тут не обойтись
чую зыза просит от батарейки 8 байт FF....
Boryan добавил 23-04-2010 в 02:22
Saros, да где их взять то :(
vBulletin® v3.8.7, Copyright ©2000-2025, vBulletin Solutions, Inc. Перевод: zCarot