Решил я развеять слухи о том что зыза 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
пффф.. я тут немножко сбился с темы
контроллер питания, отвечающий за обработку запросов от приставки и выдачу инфы, установлен на мат. плате или в самой батарее? и отличается ли он на 3000x psp?
Сообщение от ErikPshat
Я думаю, что серийник постоянно запрашивается, потому что идёт обращение к карте, но не находит нужный загрузчик и опять идёт обращение к серийнику и поять поиск загрузчика.
да вообще неясно, почему даже при обычной загрузке по несколько раз просит.
кстати, а в какой конкретно момент выдается команда на обращение к карте памяти в сервисном режиме (код), никто не пытался проследить?
Последний раз редактировалось Ins|der; 23.04.2010 в 14:22.
Вообще странно, что на такой серийник FFFFFFFF, программа не продолжает выполнятся, как в обычном случае, а зацикливается на этом.
Причём код 80 явно связан с серийником.
А после 80 почему-то всегда в 9-байтном запросе идёт вначале D9
Отсюда я предполагаю, что здесь код запроса идёт не 80, а 80D9, а далее идёт 8-байтная команда.
Эрик, ты про 5 и 11 строчки для 3000 консоли ?
Если да, то вряд ли, хотя кто знает...
Потому что у 2000 в этих пунктах 8008 и 8002 - что тоже интересно почему они меняются - скорее всего запрос именно 80 а вот данные опрашиваются разные для первого и второго раза, хотя почему на 3000 одинаковый байт D9 - может просто совпадение ...
на 3000 одинаковый байт D9 - может просто совпадение ...
Посмотри мой спойлер в предыдущем сообщении и ты увидишь, что D9 после 80 - совсем не совпадение.
А как тогда расценить 9-байтный код возврата?
Это получается, как 8 с половиной килограмма =)
В том-то и дело, что код не просто 80, а двубайтный 8008, 8002, 80D9.
Я про спойлер выше в моём сообщении.
Сообщение от stasik007
====3000=======3000==========AUTOBOOT=SN=00000000
Странно, что при автобуте аналогичная история, как с сервисной. бесконечно идёт запрос серийника.
А при автобуте 00000000 PSP-3000 всё-таки включается автоматически при вставке батареи (без касания рычажка включения)?????
Сообщение от Ins|der
контроллер питания, отвечающий за обработку запросов от приставки и выдачу инфы, установлен на мат. плате или в самой батарее? и отличается ли он на 3000x psp?
Контроллёр питания другой на матплате 3000.
А батарейки они все одинаковые, хоть для 2000, хоть для 3000.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 23.04.2010 в 14:29.
а батарейка одна и та-же? А то может мы обмозговываем результаты от разных батареек, так конечно ни к чему не прийдём.
у меня предложение к авторам систематизировать всю выложенную информацию, типа: модель PSP (2000/3000), модель батареи (2000/3000), серийный номер (оригинал/измененный), дамп батареи, режим запуска (обычный/сервисный/автозапуск), так нам было бы намного проще в ней разбираться =)
код строки ответа
Сообщение от ANDPSP
нет обнуления в 16 строчке и вместо дальнейшего общения опять идет запрос серийника....
такое ощущение, что код во второй строке (2 байта) рандомный, типа сессии (не меняется на протяжении "разговора"):
01 5A0201A2
02 A50506109B069E
а вот обнуление в 16 строке действительно важно, на мой взгляд)
Последний раз редактировалось Ins|der; 23.04.2010 в 15:55.
ANDPSP, а батарейка одна и та-же? А то может мы обмозговываем результаты от разных батареек, так конечно ни к чему не прийдём.
Это к Стасу вопрос - я лишь его логи анализирую, тот что на 1 странице и последний от 3000 консоли...
ANDPSP добавил 23-04-2010 в 14:41
Сообщение от Ins|der
такое ощущение, что код во второй строке (2 байта) рандомный, типа сессии (не меняется на протяжении "разговора"):
01 5A0201A2
02 A50506109B069E
а вот обнуление в 16 строке действительно важно, на мой взгляд)
Да и еще интересно что для всех вариантов запуска на PSP2000 предпоследний байт 06 а для PSP3000 07 - вот только не понятно он такой для сервисного режима или вообще...
То есть, получается, если 10 обнуляется на 00 при ответе, то прекращается запрос серийника и идёт переход в сервисный режим?
А где предпоследний байт другой?
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 23.04.2010 в 14:51.
в предыдущем посте привел раскладку из поста Saros - там лог старта PSP3000 на обычной батарейке, видишь первые строчки
01 5A0201A2
02 A5050610F50248
а вот старт PSP3000 на сервисной батарейке(или это та же но переведенная в сервисный режим - нужно уточнить у Стаса)
01 5A0201A2
02 A5050610070731
ну и почти самый первый лог от запуска сервисной батарейки на PSP2000
01 5A0201A2
02 A50506109B069E
так какой вывод ? что корректирующих байтов чтобы FF получить не один а два ? но же не так...
ANDPSP добавил 23-04-2010 в 15:04
Сообщение от Ins|der
глупый вопрос: лог в шапке, он для какой консоли? =)
Это Эрик прикреплял - я понял что это запуск обычной батарейки на PSP2000...
5A02 01 A2
A505 06 10C206 77
и самое интересное что пресловутый предпоследний байт все тот же 06, поэтому я и подумал что это некая не меняющаяся величина для разных консолей, а вот на PSP3000 этого не наблюдается....
Последний раз редактировалось ANDPSP; 23.04.2010 в 15:05.
Причина: добавил, подумав
ANDPSP, значит получается, что 10 - это ответ об обычном статусе батареи.
Когда он меняется на 00, то батарея переходит в сервисный режим.
Предпоследний 02, 07, 06 - врядли имеет отношение к корректирующей чексумме, т.к. разница в среднем байте велика (F5, 07 и 9B), а предпоследний байт изменяется только на единицу или несколько единиц.
Скорее это коды ответов в зависимости от модели платы и режима запуска.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 23.04.2010 в 15:12.
значение поменялось, значит оно непостоянное (не сессия) и не зависит от обнуления байта
вывод о рандомности можно сделать, имея на руках логи с разных консолей и батарей
Последний раз редактировалось Ins|der; 23.04.2010 в 15:41.
логично (для сони) было бы сделать, чтобы сервисный режим запускался при определенном ответе на запросы 80/81. тогда не очень понятно, что тут можно сделать, они слишком длинные, чтобы их брутфорсить, а данные в запросах, скорее всего, случайные.
возможно, конечно, что эти запросы вообще используются только для подтверждения оригинальности батареи, а к пандоре отношения не имеют. тогда в плюс к серийнику нужен еще какой-то установленный флаг для сервисного режима. тогда надо собрать схемку, которая позволит посылать в ответ любые данные, а запросы 80/81 пересылать на батарею.
но сомнительно, что сони не усилила грамотно тут защиту.
сегодня ещё раз сниму все дампы с 1 батарейкой переводя её в разные режимы и на разных платах - чтобы развеять сомнения
stasik007, спасибо
было бы здорово)
а вообще идеально: имея на руках две консоли 2000, две консоли 3000 и пару батарей, прогнать их во всех режимах.
тогда картина была бы полной и возможно обнаружилась бы закономерность =)
Ins|der добавил 23-04-2010 в 15:51
Сообщение от stasik007
серийник 0xFA14C1FA НОРМА
это одна и та же батарейка?
Последний раз редактировалось Ins|der; 23.04.2010 в 15:51.
Причина: добавил, подумав
ANDPSP, значит получается, что 10 - это ответ об обычном статусе батареи.
Когда он меняется на 00, то батарея переходит в сервисный режим.
А вот и нет... если посмотришь внимательнее на свой закрепленный спойлер в шапке - там лог PSP2000 с обычной батарейкой - значит ни о каком сервисном режиме и речи нет но обнуление есть....
Если кому пригодится, то вот программка http://slil.ru/29005813 при помощи которой можн обыстро привести запросы и ответы зызы с батарейкой к понятному нам виду.
Мана: просто вставляете текст в мемо поле и нажимаете Convert. Потом можно сохранить результат в txt файл. Все лишние символы и пробелы удаляются автоматом.
З.Ы. Не сердчайте, если в ней есть ошибки написал на скорую руку
Последний раз редактировалось ErikPshat; 24.04.2010 в 08:30.
stasik007, нужно сделать 4 дампа на одной батарее с разными серийниками:
PSP-2000
0xFA14C1FA (норма)
0х12345678 (норма)
0х00000000 (авто)
0хFFFFFFFF (сервис)
PSP-3000
0xFA14C1FA (норма)
0х12345678 (норма)
0х00000000 (авто)
0хFFFFFFFF (сервис)
То есть, два посыла с нормальными, но разными серийниками, чтобы увидеть, есть ли разница при одинаковом режиме, но разными серийниками.
Лучше все эти данные одной батареи собрать в отдельный пост.
+ обязательно приложить дамп EEPROM этой батареи, а то уже запутались, где какой дамп.
В общем, чтобы всё было в одном месте. Каждый результат в отдельном спойлере. Если что, я посижу, разложу схему по строчкам, чтобы тебе время не тратить зря.
А вот и прога появилась =)
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 23.04.2010 в 16:28.