PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   Обсуждение взлома батарейки Пандоры PSP-3000... (https://www.pspx.ru/forum/showthread.php?t=87238)

Boryan 20.04.2010 11:38

Обсуждение взлома батарейки Пандоры 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
// Вот разложил поточнее, что выложил stasik007:

/* Старт с нормальной батарейкой серийник 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


Во вложении:
  1. "psp_bat" программа от dn3d по преобразованию ответов терминала в читабельный вид:
    • Копируете весь код терминала в верхнее мемо поле и нажимаете "Convert".
    • "Save to txt" - сохранить результат в txt файл. Все лишние символы и пробелы удаляются автоматом.
  2. "Open Source Pandora Battery Tool 0.60" - программа для FULL-дампа/записи флеш EEPROM батареи и смены серийников (режимов).
EEPROM DATA Battery

dimon-dlx 20.04.2010 13:03

А если использовать встроенный в Винду ком монитор? И кабель от телефона на PL2303 проблема правда в том что интерфейс СОМ порта испоьзует минимум 2 сигнала Rx Tx. А у батарейки 1 вывод кажется работает по шине I2c... Нужен переходник...

Boryan 20.04.2010 13:26

это конечно можно....но думаю проще знающему чело написать прогу снифер....жаль что ни кто не желает этого сделать....Я тут тупо сижу серийники на батарейке меняю ...ну типа ищу иголку в стогу сена....но сдаётся мне ключик не 4 байта...

Klerikus 20.04.2010 14:58

Boryan, ну не верю я, что для перевода в сервисный режим нужно только правильный серийник подобрать. Не верю! Сони уже раз попалилась с этим и я думаю более кардинально навернула защиту. Только сменить серийник - смешно, та же дател уже давно бы забрутила.
А вообще тема интересная, хоть и немножко бессмысленая.
Для того чтобы написать прогу необходимо знать по какому интерфейсу общается псп и батарея (есть ли фото разобраной батареи, может там есть какие-то маркировки? свою ковырять желания нет) и частоту с какой они общаются (это ты можешь замерить).
Если там UART, а скорей всего так и есть, то все просто: подключаемся посередине, читаем от псп - передаем батарее и наоборот, не забывая все запоминать :). Если там нормальная защита и учитываются таймауты, можем обламаться.
dimon-dlx, наличие двух проводников для rx и tx вовсе не обязательно. Можно и по одному гонять через стартовые биты. Во многих устройствах, где известен порядок передачи данных так и делают.

Boryan 20.04.2010 15:40

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 вешаем Rx com-порта компа на средний провод и землю, запускаем FSM и hyperterminal подсоединяем батарею и слушаем. Кто что кому говорил прийдется самому разбираться, но можно сразу увидеть одинаково ли общаются разные версии мат.плат с батареями.
Разное питание на ножках BOOT0 и BOOT1 обычно переключает откуда стартовать код. По крайней мере для микроконтроллеров именно так(не знаю есть ли такие ножки у проца псп). А вот в этом "стартовом коде" просто обязаны быть дополнительные проверки и защиты.
Если бы их не было бы, то можно было подать вручную нужные напряжения и было бы нам счастье. И перепаять контроллер питания можно было бы несмотря на разные распиновки и размеры корпуса. Подпаяться правильно всегда можно и все бы работало.

Wes64 20.04.2010 19:05

780102H-контролёр в старой пандоре, http://www.semiconductorstore.com/pd...78F0101_UM.PDF - читаем, думаем.

lport3 21.04.2010 01:40

Цитата:

Сообщение от Klerikus (Сообщение 882203)
Boryan, сейчас вот подумал: берем free serial monitor вешаем Rx com-порта компа на средний провод и землю, запускаем FSM и hyperterminal подсоединяем батарею и слушаем. Кто что кому говорил прийдется самому разбираться, но можно сразу увидеть одинаково ли общаются разные версии мат.плат с батареями.
Разное питание на ножках BOOT0 и BOOT1 обычно переключает откуда стартовать код. По крайней мере для микроконтроллеров именно так(не знаю есть ли такие ножки у проца псп). А вот в этом "стартовом коде" просто обязаны быть дополнительные проверки и защиты.
Если бы их не было бы, то можно было подать вручную нужные напряжения и было бы нам счастье. И перепаять контроллер питания можно было бы несмотря на разные распиновки и размеры корпуса. Подпаяться правильно всегда можно и все бы работало.

Не знаю что может эта программа (лом качать пробовать),
но замечу, что мониторить ком недостаточно,
что бы в буфере ком что то было надо делать чтение ком,
и это не все , что бы правильно читать надо знать скорость,битность,четность... (хотя это осциком можно вычислить).

Boryan 21.04.2010 20:52

Продолжаю аппаратно изучать 3000.....залез глубоко:)..и обнаружил что я ошибался, контроллер питания тут вообще не причём. За всё отвечает маленькая микруха типа системного контроллера. Она занимается опросом кнопок и джойстиков, зажиганием светодиодов, выдаёт на ЦП нужные тайминги, в ней зашиты часы зызы, и самое интересное с батарейкой разговаривает именно она по двум ножка Rx и Tx. Ну есно далее в мелкой схемке Rx и Tx объединены в один провод идущий к батарейке.... А по Tx ещё помимо запросов к батарейке, говорит контроллеру питания что ему делать. Она и сечёт код пришедший с батарейки...если с батарейки идёт код не FF или 00 (пандоровский) то один запрос к батарейке и один ответ от неё и контроллер питания готов к старту. А вот если на запрос идёт ответ пандоры...то запросы повторяются несколько раз....типа ей на хватает 4 байт от пандоры и она ждёт дополнения и посему вновь посылает запросы....ну и не дождавшись ответа даёт команду на блокировку контроллера питания. ну вот как то так....ТА90 короче видит и различает коды пандоры....но они для неё короткие....мало 4 байта ей...

Yoti 21.04.2010 21:45

Boryan,
т.е. она побайтно запрашивает серийник? Проверь поведение на ffffff12 и ff001234?

Boryan 21.04.2010 21:58

как запрашивает она я не знаю по осцилу не отследишь....но все коды кроме 0хFFFFFFFF и 0х00000000 для неё обычный серийник и на запрос получив ответ отличный от них хоть на один байт, запросов больше не посылает и переводит контроллер питания в дежурный режим. А вот если получает 4 байта от кода пандоры то посылает новые запросы и не дождавшись нужного ответа блокирует контроллер питания наглухо. Это можно и тупо проверить на 3000 вставив пандору в неё вы ни каким образом не включите зызу...потому как котроллер питания заблокирован

Yoti 21.04.2010 22:10

В принципе, есть идея... Надо глянуть...
Но всё же количество запросов с моими кодами напиши)

Boryan 21.04.2010 22:16

Yoti, Ок но только завтра...сёня уже с ног валюсь...башка пухнет от инфы которую её переваривать нужно...устал чутка...Но согласись тема интересная :) Есть где поковырять...пусть предыдущая в тупик упёрлась...:) но было интересно :) А вдруг тут повезёт :)

Yoti 21.04.2010 22:26

Boryan,
бой проигран, но война не окончена! Батарейку надо допилить)))

Boryan 21.04.2010 22:42

вчера одну уже пилил :)...случайно в неё в голом виде (распотрошёная) ткнул пинцетом и проткнул ..дыму было прилично :)

Yoti 21.04.2010 23:04

Boryan,
убийца!
Ты себе можешь позволить загубленый аккум, надеюсь? (Ещё один.)

Boryan 21.04.2010 23:33

сегодня на работе уже подарили 5 шт нулёвых :)

Yoti 21.04.2010 23:37

Boryan,
мне бы такую работу... Подарил бы кто карту и аккум, собрал бы из ник комплект пандоры да на полку положил)))
Yoti has reached 500 messages!

Ins|der 22.04.2010 00:29

молодцы ребят, я верю, что с вашим упорством вы добьетесь результата :good:
в любом случае ваши изыскания очень интересно читать

p.s. сорри за оффтоп

Boryan 22.04.2010 01:44

Цитата:

Сообщение от Yoti (Сообщение 882481)
Boryan,
мне бы такую работу... Подарил бы кто карту и аккум, собрал бы из ник комплект пандоры да на полку положил)))
Yoti has reached 500 messages!

Дааа :) видать не повезло тебе с работой раз карты и батарейки не дарят :scratch_one-s_head:

stasik007 22.04.2010 01:51

перехватил разговор батарейки на та-88v2
 
нормальный старт:
Код:

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

>>Думаем, мозгуем...

завтра получше передамплю

Кто знает терминалку - чтоб в бинарник писала !??

Boryan 22.04.2010 01:58

stasik007, Спасибо! Молодца! Это с гипертерминала?
Я поясню мальца. Стас пришёл к выводу что серийники FF.... и 00..... не читаются самой зызой и ей они вообще по фигу :) А коды эти имеют значение для контроллера самой батарейки и дескать контроллер батарейки увидев эти коды в своей флешке тупо выдаёт определённую команду из своего списка зызе....в 3000 видать новые команды....Не знаю насколько верна эта версия...но Стас уверен что это так...

stasik007 22.04.2010 02:20

да - Realterm

stasik007 добавил 22-04-2010 в 02:20
серийник увиденный на дампе передайтся примерно через 30 сек после начала общения с батарейкой - тоесть после того как всё стартанёт и обо всём договорится!
5A0201A2A505 - с этого начинается разговор в обычном режиме батарейки
A50A061EBB17 - сервис
A50A06F8D4EB - автозапуск
эти цифры одинаковы и при повторных запусках.

А ТEПЕРЬ, БРОСИВ ПЕРВЫЙ ВЗГЛЯД, ЕСТЬ ИДЕИ!... ?

Yoti 22.04.2010 02:36

Первый байт занятный: прям таки либо норм идёт, либо ***** вперёд :-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

Цитата:

Сообщение от Klerikus (Сообщение 882535)
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

Цитата:

Сообщение от t0rm3nt0r (Сообщение 882536)
Я бы даже сказал, что заголовок это именно 5A0

Ну это уже как полтора землекопа, дели по другому :)

t0rm3nt0r 22.04.2010 09:36

Цитата:

Сообщение от Klerikus (Сообщение 882538)
Ну это уже как полтора землекопа, дели по другому :)

Хз... А вдруг именно 3 байта? Кто-бы дал протоколы почитать.

Жгу. Согласен... Не проснулся еще.

Заголовок значит 5A... Все равно структуру пакета не вычислить...

Klerikus 22.04.2010 09:38

Цитата:

Сообщение от t0rm3nt0r (Сообщение 882539)
Хз... А вдруг именно 3 байта? Кто-бы дал протоколы почитать.

ЖЖош. xx - 1 байт. 5A0 - 1,5 байта.
Цитата:

Сообщение от stasik007 (Сообщение 882506)
примерно через 30 сек после начала общения с батарейкой

Что-то долго как то 30 сек, не так ли?

stasik007 22.04.2010 10:57

переделаю

dn3d 22.04.2010 11:22

Цитата:

Сообщение от stasik007 (Сообщение 882553)
а это начало старта в обычном режиме
5A0201A2
A5050600D10678
5A0203A0
A504061D1023
5A0B80028BB72A472664D440C7

получается что батарейка начинает свои фразы с А5 а зыза с 5А и фраза начинающаяся батарейкой с A50A06 является командой к запуску - ЭТО ФАКТ!
остаётся выяснить о чём болтает со своей батарейкой 3000 (на днях дадут - попробую)...

1-ый байт в фразе - это кто передает
2-ой байт в фразе - длина сообщения
последний байт в фразе - это чек сумм, его можно вычислить самому...
позже отпишу как вычислить если надо, пока занят слишком
ну а дальше само сообщение

stasik007 22.04.2010 12:12

переделаю

pronvit 22.04.2010 12:43

крууто, неожиданный поворот.

в этом смущает только одно, нафига они в каждую батарейку запихнули такой мощный контроллер, а главное, который может стартовать псп в сервисном режиме. логичней было бы в пользовательских батарейках такой функциональности вообще не иметь, потому что она там никогда не понадобится по идее, а иметь только в сервисных.

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

это старт в сервисном режиме -приставка включается но кнопки не нажимал и она выключается

Ins|der 22.04.2010 13:28

Цитата:

Сообщение от dn3d (Сообщение 882557)
1-ый байт в фразе - это кто передает
2-ой байт в фразе - длина сообщения
последний байт в фразе - это чек сумм, его можно вычислить самому...
позже отпишу как вычислить если надо, пока занят слишком
ну а дальше само сообщение

точно :good:
картина проясняется)

Ins|der добавил 22-04-2010 в 13:28
Цитата:

Сообщение от stasik007 (Сообщение 882562)
2-----service-----------
A50A0612706FD41AF4AF7256
5A0201A2
A5050600FD064C
5A0203A0
A504062C1014
5A0B8002CFCF4E253BB6A5E889
A512066709ECAB97F35D7492A62BD117ACC830F1
5A0A81C05B2298EFFAE7561F
A50A06BB910275205FA594CF 00


Yoti 22.04.2010 13:36

dn3d,
алгоритм подсчёта контрольной то напиши всё же =)

dn3d 22.04.2010 14:12

Цитата:

Сообщение от Yoti (Сообщение 882580)
dn3d,
алгоритм подсчёта контрольной то напиши всё же =)

Последний байт даже не чексумм, а скорее всего добавочный...
например взять два сообщения:
A50406080741
A504060F0041
Замечу, в этих сообщениях 1, 2 и последний байты одинаковые, а то что между ними в принципе отличается.
если сделать сумму байт начиная со 2-го то получим значение с которого начинается следующее сообщение (в нашем случае - это 5А).
З.Ы. если сумма получилась больше FF, то откидываем левую часть. Например:
есть сообщение A5120648D86981196B0DC3016FF00897110B7E4B, складываем байты начиная со 2-го, получаем число 065A, откидываем левую часть и получаем один байт со значением 5А, т.е. первый байт следующего сообщения.
З.Ы. Еще один пример, только уже начинается не с А5, а с 5А:
5A0A8188FCD79FB37D3A00B6
делаем сумму начиная со 2-го байта и получаем 5А5, откидываем левую часть и получается А5, тоже начало следующего сообщения.

Ins|der 22.04.2010 14:44

stasik007, позволь я замечу, там не совсем правильное разбиение:

Цитата:

A512063671EF
A5D3322FD957FE8FD63C761B640F
- это одна команда, 18 байт

Цитата:

A50A06
5AC2A00F8D6788BC4700
- здесь тоже, 10 байт)

и т.д.

Ins|der добавил 22-04-2010 в 14:44
dn3d, тогда 00 на конце означает, что ничего добавлять не нужно.
здорово, спасибо!


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

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