Решил я развеять слухи о том что зыза 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
aaa111, с побайтной верефикацией обломались Я в доки глубоко невникал..но мы с одним челом попробовали..он написал прогу попробовали ей перебирать ...он твёрдо утверждает что там нет побайтной верефикации ..только поблочная 256 байт
Это бездоказательные выводы - насчет отсутствия побайтной верификации, была бы работа только с блоком (256 байт) никто не делал бы команду передачи данных произвольной длины (от 1 байта до 256) - просто челу этому не хватает либо времени либо желания довести тесты до конца - предложили же нормальные варианты - проверить чип на пустые блоки, верифицировать первый байт каждого блока на 00 или FF, или же в подтверждение своей догадки - верифицировать полностью пустой блок - все 256 байт - если догадки верны то должен быть положительный ответ, которого таки не получили от чипа.
Ну и накрайняк поделиться исходниками, чтобы другие могли продолжить тестирование...
А для остальных желающих помочь и хорошо програмящих на Си или Дельфи ссылка на исходники на Си для работы с программатором для Nec, там реализовано все и верификация в том числе, только метод соединения программатора и компа не UART а трехпроводной, но это не будет большой проблемой перенастроить если кто то напишет тестовую прогу - от нее нужен минимум - стабильное соединение с чипом, потом пробная верификация данных - хорошо бы из Москвы был бы кто нить - проще общаться будет для достижения результата, а то практика показала что на расстоянии это все весьма затруднительно...
Во первых, это не длина верифицируемого пакета, а всего лишь
длина пакета. Протокол такой.
Во вторых, о каких тестах речь.. это не тесты это дрочил..во.
В третьих, я никому не должен ничего доказывать (цитата -"подтверждение
своей догадки...")
В четвертых, мне исходников не жалко, там кода на 10 строк, только
требовать от меня не надо их, я тебе ничего не должен.
lport3, ладно не кипятись сам пойми ценность наших трудов..полгода копали по крупицам и всё коту под хвост? Вот и вспылили мальца Я ни когда не сдамся пока не сделаю что задумал... уже выяснили у представителя нэк в России что реально нет побайтной верефикации. Но продолжить работу в направлении написания софтины для поблочной записи/стирания чипа думаю стоит!
теперь я знаю как рождаются батарейки После подробного изучения протоколов программирования контроллеров серии 78К0/Кх2 и 78К0/Кх1+ а так же 78К0S/Кх1+, и подробного изучения схем батареек... у меня есть мнение, что при производстве готовая, но мёртвая батарейка программируется по центральному контакту!!! Но! По специальному протоколу (не путать с тем протоколом что мы снимали со среднего вывода уже готовой батарейки) в конце программирования ставятся биты защиты от перезаписи контроллера и стирания...но это реализованно не во всех батарейках....в старых фактках с контроллерами 501 биты защиты не ставят!!! Из это следует... что если сильно постараться, то можно написать софтину, которая по уже созданному нами клайну будет перешивать батарейку на нужную нам сервисную 3000 Но есть и второй вариант, это брать новый чистый чип и заливать в него новую модернизированную прошивку и перепаивать его на батарейку. Дело за малым Скоро у меня будет дамп от оригинальной японской батарейки слимки...ну а делее работа..работа...и ещё раз работа по созданию новой модернизированной прошивки...и в итоге будет финал!
Boryan добавил 10-11-2010 в 02-52
И ещё я выяснил ..что у NEC есть специальная библиотека (типа загрузчика) которая грузится в boot область ( 256х3 она есть во всех контроллерах) контроллера и тогда у контроллера появляется функция чтения : Но люди пытались у нэков выпросить эти библиотеки..есно безполезно.
Последний раз редактировалось Boryan; 10.11.2010 в 14:52.
Причина: добавил, подумав
на мой вгляд будет проше взять чистый нек ,залить туда прошивку и перепоять,чем пытаться снять зашиту...темболее что цена чапа око 130р.И еще вопрос зачем тебе дамп с японки??
dron11, для японии PSP делают в японии, а для остального мира - китае.
Значит в японской батарее 100% прошивка сони, а не китайцев. А китайский оригинал давольно трудно отличить от подделки..
.Ы этого я не знал,шас заглянул под батарейку 2008 там как и ожидалось написано сделано в китае,заглянул под батарейку 3008,а вот там написано сделано в японии),не знаю где покупали эту псп,досталась в дар с убитой материнкой...
dron11 добавил 10-11-2010 в 03-11
ну я понял что нужен алгоритм,но вот только зачем именно с японки не доперло)
Последний раз редактировалось dron11; 10.11.2010 в 15:11.
Причина: добавил, подумав
dron11,япония, вообще, достаточно закрытая страна... большинство(если не все) товаров для внутреннего рынка производится внутри страны) и визы у них фиг допросишься)
dron11, нее лично у меня этого добра хватает А японка батарейка умеет отвечать на те команды на которые китайка не отвечает Для инфы...вот структура команд запроса от psp для перевода Та90-92. в сервис :01-0C-80D9-81-01-80D9-81-01-80D9-81....а вот тоже самое но для ТА93: 01-0C-0D-08-16-800D-8004-8097-81-01-8097-81-01-8097-81....на 16 команду умеют отвечать только японские батарейки ....
Boryan, дамп то с японки как собраешься снимать? методом который описывал выше? И что же за чип стоит в японке? все тот же 501 нек? что-то я сомневаюсь что в 3000 батарейках все тот же нек ставят
во всех батарейках зызок используются только контроллеры NEC...не важно китайских или японских...в японках стоят 501 чипы.....метод снятия прошивки я описывал выше...но есть и другие варианты...но это уже для другой темы...нам сейчас важно добыть алгоритм.
Boryan, так я все таки не понял, ты выше писал что на 501 чипах не ставят бит защиты, а как ты это понял то? То есть выходит что в 501 контроллере защиты (по твоим словам) нет? С какой батареи ты пытаешься снять дамп? со старой фатовской? или новой 3000?
В NEC понятие бита защиты несколько другое...это не как в АВРках и ПИКах...там бит защиты ставится для защиты от чтения ....в нэках вообще нет функции чтения. В нэк можно только писать и стирать записанное...вот и есть несколько вариантов бит защиты...полная защита -чип не стереть не переписать нельзя...после её установки чип станет одноразовым...что записал в него тем и пользуйся...есть бит защиты от перезаписи...от стирания ..от записи блока и т.д.....от разрешения записи в бут область. Для чего это сделано? Ну типа эти чипы могут работать без внешнего еепрома....для этого используя свою флеху....вот эти биты и позволяют сконфигурировать так защиту что бы прога была защищенна от стирания а остальная часть флехи доступная для всех функций....не стоит забывать что нэки -это индустриальные контроллеры а не бытовуха как авэрки и пики... Читать буду 501 из японки..
Alex706, да всё я понял Я в начале решил про биты защиты написать ...ну типа публику просвятить. Состояние битов защиты я проверяю специальной прогой ..она читает конфигурацию битов защиты...прошиву буду тянуть со слимовской на 501....на японках стоит полный бит защиты....на фатках батарейках в том же 501 стоит только один бит защиты от перезаписи...но слимки интереснее..я выше писал почему...
Ilya_45, работаем в отлиичии от многих и не задаём глупых вопросов
Извините конечно за критику, но не у всех есть возможности и нужные познания чтобы хотябы что-то делать. К тому же не стоит одевать заранее корону, пока не достигнут конечный результат. А когда искомый результат всетаки будет достигнут, тогда можно будет сказать - вот я сделал, а вы все бездельники ничем даже не помогли. В тему пословица - Не говори ГОП, пока не перепрыгнул.