Решил я развеять слухи о том что зыза 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 байт.....или тупо заставить прогу снифер поработать за батарейку и отвечать за неё ...ведь если будет записан протокол, то что нам составит труда выплюнуть его обратно с нужным нам ключиком?
Код Описание Данные Ответ от батареи Примечание
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
мало сохранил - результат схож с запуском в режиме автозапуска ближе к концу дампа видно серийник 00000000 - при запуске в серво-режиме там ffffffff ...
Всё тоже но батарейка в режиме автозапуска :
stasik007, Спасибо! Молодца! Это с гипертерминала?
Я поясню мальца. Стас пришёл к выводу что серийники FF.... и 00..... не читаются самой зызой и ей они вообще по фигу А коды эти имеют значение для контроллера самой батарейки и дескать контроллер батарейки увидев эти коды в своей флешке тупо выдаёт определённую команду из своего списка зызе....в 3000 видать новые команды....Не знаю насколько верна эта версия...но Стас уверен что это так...
Последний раз редактировалось Boryan; 22.04.2010 в 02:06.
stasik007 добавил 22-04-2010 в 02:20
серийник увиденный на дампе передайтся примерно через 30 сек после начала общения с батарейкой - тоесть после того как всё стартанёт и обо всём договорится!
5A0201A2A505 - с этого начинается разговор в обычном режиме батарейки
A50A061EBB17 - сервис
A50A06F8D4EB - автозапуск
эти цифры одинаковы и при повторных запусках.
А ТEПЕРЬ, БРОСИВ ПЕРВЫЙ ВЗГЛЯД, ЕСТЬ ИДЕИ!... ?
Последний раз редактировалось stasik007; 22.04.2010 в 02:21.
Причина: добавил, подумав
5A0201A2A5050600D106785A0203A0A504061D10235A0B80028BB72A472664D440C7A5120648D869
81196B0DC3016FF008971..........................
старт с тойже батарейкой но в сервисном режиме:
A50A061EBB1728D3F40080EB5A0201A2A5050600D406755A0203A0A504061D10235A0B80029224A9
7C31DC6D962DA51206183B2AF3A1B7F344C0C22F8188.................................
06B5CB2076BCD594BF50
Всё тоже но батарейка в режиме автозапуска :
A50A06F8D4EBE74E2682E4D25A0201A2A5050600CF067A5A0203A0A504061910275A0B800239822F
569705F3E168A512061FF98C6BC9ECC............
Для начала разобрать что здесь кто кому говорит. Есть такая вот периодичность.
stasik007, Чем подслушал?
Последний раз редактировалось Klerikus; 22.04.2010 в 09:17.
5A0201A2A5050600D106785A0203A0A504061D10235A0B80028BB72A472664D440C7A5120648D869
81196B0DC3016FF008971..........................
старт с тойже батарейкой но в сервисном режиме:
A50A061EBB1728D3F40080EB5A0201A2A5050600D406755A0203A0A504061D10235A0B80029224A9
7C31DC6D962DA51206183B2AF3A1B7F344C0C22F8188.................................
06B5CB2076BCD594BF50
Всё тоже но батарейка в режиме автозапуска :
A50A06F8D4EBE74E2682E4D25A0201A2A5050600CF067A5A0203A0A504061910275A0B800239822F
569705F3E168A512061FF98C6BC9ECC............
Для начала разобрать что здесь кто кому говорит. Есть такая вот периодичность.
stasik007, Чем подслушал?
Обратил внимание на куски очень похожие 5A020. Похоже начало пакета. Возможно заголовок. Я бы даже сказал, что заголовок это именно 5A0, а дальше 2 байта это уже код операции наверное. 200B
а это начало старта в обычном режиме
5A0201A2
A5050600D10678
5A0203A0
A504061D1023
5A0B80028BB72A472664D440C7
получается что батарейка начинает свои фразы с А5 а зыза с 5А и фраза начинающаяся батарейкой с A50A06 является командой к запуску - ЭТО ФАКТ!
остаётся выяснить о чём болтает со своей батарейкой 3000 (на днях дадут - попробую)...
1-ый байт в фразе - это кто передает
2-ой байт в фразе - длина сообщения
последний байт в фразе - это чек сумм, его можно вычислить самому...
позже отпишу как вычислить если надо, пока занят слишком
ну а дальше само сообщение
Последний раз редактировалось dn3d; 22.04.2010 в 12:40.
Причина: добавил, подумав
в этом смущает только одно, нафига они в каждую батарейку запихнули такой мощный контроллер, а главное, который может стартовать псп в сервисном режиме. логичней было бы в пользовательских батарейках такой функциональности вообще не иметь, потому что она там никогда не понадобится по идее, а иметь только в сервисных.
Народ! Глубоко извиняюсь ! Не там впаял питание порта и часть данных проходила мимо!
вот старт в сервисном режиме - многое проясняется!
;-) и серийничек нашёлся!
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
это старт в сервисном режиме -приставка включается но кнопки не нажимал и она выключается
Последний раз редактировалось stasik007; 22.04.2010 в 13:50.
Причина: добавил, подумав
1-ый байт в фразе - это кто передает
2-ой байт в фразе - длина сообщения
последний байт в фразе - это чек сумм, его можно вычислить самому...
позже отпишу как вычислить если надо, пока занят слишком
ну а дальше само сообщение
dn3d,
алгоритм подсчёта контрольной то напиши всё же =)
Последний байт даже не чексумм, а скорее всего добавочный...
например взять два сообщения:
A50406080741
A504060F0041
Замечу, в этих сообщениях 1, 2 и последний байты одинаковые, а то что между ними в принципе отличается.
если сделать сумму байт начиная со 2-го то получим значение с которого начинается следующее сообщение (в нашем случае - это 5А).
З.Ы. если сумма получилась больше FF, то откидываем левую часть. Например:
есть сообщение A5120648D86981196B0DC3016FF00897110B7E4B, складываем байты начиная со 2-го, получаем число 065A, откидываем левую часть и получаем один байт со значением 5А, т.е. первый байт следующего сообщения.
З.Ы. Еще один пример, только уже начинается не с А5, а с 5А:
5A0A8188FCD79FB37D3A00B6
делаем сумму начиная со 2-го байта и получаем 5А5, откидываем левую часть и получается А5, тоже начало следующего сообщения.
Последний раз редактировалось dn3d; 22.04.2010 в 14:13.
Причина: немного подправил