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)

stasik007 22.04.2010 18:22

чтобы слушать надо соединять RX

ErikPshat 22.04.2010 18:27

lport3, всё, я понял.

То есть, последний байт в каждой строке никакой нагрузки не несёт.
Он только выступает, как корректирующий байт контрольной суммы.
И добавляется соответственно, чтобы уравнять контрольную сумму к первому байту.

Похоже, что так.

Надо бы посмотреть дамп батарейки. А что если туда вставляем серийник, а контрольная сумма не сходится. Отсюда происходит ошибка и сбой.

lport3 22.04.2010 18:42

Цитата:

Сообщение от ErikPshat (Сообщение 882657)
lport3, всё, я понял.

То есть, последний байт в каждой строке никакой нагрузки не несёт.
Он только выступает, как корректирующий байт контрольной суммы.
И добавляется соответственно, чтобы уравнять контрольную сумму к первому байту.

Похоже, что так.

Надо бы посмотреть дамп батарейки. А что если туда вставляем серийник, а контрольная сумма не сходится. Отсюда происходит ошибка и сбой.

Кроме последнего байта кс,
думаю что первый (кроме хидера) байт $06 - это просто положительный
ответ на запрос.
В длинном запросе наверняка есть направляющие адреса
на дамп в батерейке, поэтому не плохо былобы видеть дамп из
батарейки.
кс не может не сходится, это протокольная кс она служит
только для проверки целостности пакетов в протоколе связи.

Boryan 22.04.2010 18:58

stasik007, Выложи дамп своей батарейки сюда...я тебе говорил как его снимать.
ЗЫ Для инфы, что бы знали кто такой Стасик :) это мой коллега по работе :) Завтра ему передам 3000 для изучения...вот думаю логи будут очень интересные .... а сам буду продолжать аппаратно изучать 3000...

ANDPSP 22.04.2010 18:58

Цитата:

Сообщение от lport3 (Сообщение 882651)
запрос 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% примерно

Boryan 22.04.2010 19:06

ANDPSP, Привет! :) Завтра дам тебе что обещал :) А батарейка одна и та же была просто её режим ПСП тулом меняли туда сюда

lport3 22.04.2010 19:08

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

-----------
проседание одинаковое, протсто ацп видимо 10 бит.

ErikPshat 22.04.2010 19:47

stasik007, я так понял, серийник у батарейки 1A 17 E7 58

Обращение за серийником должно быть по адресу 0F 0E 13 12 + может быть адресная прибавка.

Только имейте ввиду, что дам от чужой батарейки - нельзя заливать в другую батарейку!

lport3 22.04.2010 20:13

0AF540D4 судя по первой странице, вот такой номер у батарейки.
-----------
вообще, по серьезному псп с батарейкой общается..))
крипт скорее всего, в длинных пакетах, единственная пахожесть,
начало на $8000, возможно 2 байта ключа, или направляющие.

ErikPshat 22.04.2010 20:23

lport3, 0AF540D4 сомневаюсь. Это-же дамп батарейки, а позиции серийника известны.
$8000 - мне кажется адресация памяти. Обычно по этому адресу кэшируются данные, вернее с 0х80000000.

Цитата:

Сообщение от stasik007 (Сообщение 882503)
Кто знает терминалку - чтоб в бинарник писала !??

Если в консольной терминалке, то команда вывода в файл:
Код:

> file.bin 2>&1

lport3 22.04.2010 20:29

Цитата:

Сообщение от stasik007 (Сообщение 882503)
нормальный старт:
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% и снять дамп. Потом разрядить её, пока не упадёт на одно деление и снова снять дамп, и ещё раз, разрядить на деление и опять снять дамп. После сравнения видно будет, в каком месте это меняется и записывается.

Так-же можно вычислить циклы заряда. Поставить на зарядку, будет гореть оранжевый огонёк и снять дамп. Как загориться красный огонёк, ещё раз снять дамп. Ещё когда горит зелёный, тоже снять дамп и все эти смещения можно вычислить.

Таким образом круг поисков сузится.

lport3 22.04.2010 20:56

А я думал, он дал дамп с эфками в номере,
а "номер поменялся" - имеется ввиду после пандоры.
Чтобы понять что-куда в протоколе надо десятки логов,
и и-то это определит только направление для поиска.
То, что лежит в еепроме - полбеды, есть контроллер а у него
своя прошивка. Вот если ее слить и раздизить, тогда
считай дело в шляпе. А так, видится мне это малоперспективным.

ErikPshat 22.04.2010 21:14

lport3, вот смотри. Упирается всё в том, что мы пока точно не знаем, какой серийник должен быть в ответе. Не знаем какой длины и возможно вообще сменили в 3000 его месторасположение.

А если мы запишем серийник и снимем дамп памяти батареи, то будем знать каждый байтик.

Теперь, мы терминалом снимем такой-же опрос батареи, но уже на 3000 модели. И точно так-же, как я выше разложил всё по полочкам, разложим разговор терминала.

Мы точно вычислим, какую область памяти батареи отсылается в ответе в качестве серийника. И найдём в дампе эти байты. То есть, мы уже теоретически точно можем подтвердить местонахождение и длину серийника.

А по коду запросов-ответов можем составить картину сервисных ответов или обычных, сравнив с уже имеющимися.
Я уже прикинул, что коды идут однобайтовые (3-ий байт). И их не так уж много. В ответ возвращается код 06, а за ним данные, не считая последнего байта.

Рассмотрим первую строку: 5A 02 01 A2
Тут всё ясно...
  • 5A - хедер запроса
  • 02 - длина строки в байтах
  • 01 - однобайтный код запроса (они пронумерованы по спецификации)
  • A2 - последний байт корректирующей контрольной суммы
Заметь, в ответ всегда батарея вставляет код 06

Серийник батареи запрашивается кодом

Кодом 80 запрашивается может заряд батареи и в ответ получает 16-байтный код. Скорее всего код двубайтный 80 08.

После второго опроса серийника уже запрашивается другой код 80 02, т.е. вероятно после второй проверки, убедившись в правильности, срабатывает следующая инструкция.

Кодом 81 08 возможно запрашивается цикл заряда и возвращается 8-байтный код.

Затем переходит на другую схожую инструкцию 81 0A

И остались коды 02, 03, 04, 07, 09 и 0B. Вот и вся арифметика =)

lport3 22.04.2010 21:42

Из того что я увидел в логах выше.
адрес псп - 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

Цитата:

Сообщение от lport3 (Сообщение 882731)
$01 - напряжение батарейки, возможно

Вот на 01 возвращается ответ 10 C2 06

Что это может значить?

P.S. И вы не против, если я закреплю разложенную таблицу терминала в шапку, чтобы сравниваться с ней, а не листать страницы туда-сюда?

lport3 22.04.2010 22:13

то что команда $01 это напряжение батарейти,
только предположение.
Цитата:

--------------------
кстати, так и не сказали мне какое напряжение, ток на батарейке?
если вы параметры батарейки скажете, мне будет проще,
псп сейчас рядом нет, чтобы посмотреть. Если будут известны параметры
то возможно я смогу описать команду 01 точнее.

ErikPshat 22.04.2010 22:28

Цитата:

Сообщение от ErikPshat (Сообщение 882734)
Вот на 01 возвращается ответ 10 C2 06

На 3-ий раз в ответ приходит 00 C2 06
После этого, запрос на серийник не посылается, пропускается.

А 2 последних ответа уже отвечает, что 00 C1 06

Странные цифры =)

ivan_helsin 22.04.2010 23:03

Сорри, что вклиниваюсь, но, ребят, а вы параллельно будете обследовать аккум от ta-88v3 ?


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

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