Решил я развеять слухи о том что зыза 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
Есть практические идеи или это красивый набор слов?
Для одних это красивые слова а для других один самых популярных методов взлома
Boryan
Глупо с точки зрения безопасности хранить ключи или алгоритм в самой
батарейке. При таком подходе прошивку могут украсть еще на этапе
производства самой батарейки.
Я конечно извеняюсь, но почему не связаться с тем же максимум и не попросить их сделать декап и слив прошивки ? конечно это будет стоит денег, но не в них же трабл? Сливомский привод он же ломанул из максимуса. Декапил микроконтроллер и сливал прошивку с него.
Wesbam, вообще-то, абсолютно любую прошивку могут украсть в процессе производства. Специально для этого у производителей есть служба безопасности, которая следит чтобы такого не происходило.
И как ты себе представляешь переполнение буфера в сисконе? Ты владеешь хотя бы небольшим объемом знаний о работе железок..?
Boryan, на форуме много людей.
Ежедневно люди регистрируются ради того что бы спросить как прошить 3000 с прошей выше 5.03
Если создать кошелёк и повесит на главной(админу думают будут не против) что б кто сколько смог скинуть денег.
Всё же думаю заинтерисованные люди будут кидать деньги.
Денег нам не надо собирать через форум. У нас их у самих хватает.
Вот если бы кто-то бы сделал бы сервисную батарею на 3000, то не жалко было бы отдать свою однокомнатную квартиру в Москве, чтобы через 3 месяца купить трёхкомнатную.
Думаю Вы не теми извилинами думали, когда писали этот бред.
Денег нам не надо собирать через форум. У нас их у самих хватает.
Вот если бы кто-то бы сделал бы сервисную батарею на 3000, то не жалко было бы отдать свою однокомнатную квартиру в Москве, чтобы через 3 месяца купить трёхкомнатную.
Думаю Вы не теми извилинами думали, когда писали этот бред.
Откуда у вас столько брикнутых 3008 ? Вот у нас в городе их вообще нету!
Yokel, брикнутых та может и не много, а вот с прошивкой выше 5.03 их везде полно.
Хотя в свете хена 6.20-6.35(если релиз всё-таки состоится) это может быть неактуально какое-то время.
Процесс представляю себе так же как и в случае с обычной программой.
Контроллер питания ведь довольно плотно обменивается данными с батарейкой. Здесь только две проблемы. В syscon'e нет операционной системы, только прошивка, хоть он и связан с cpu. Не известно по какой архитектуре он построен.
Ну в последнем случае не все так глухо, врят ли инженеры сони изобретали что то новое.
Я хотел сказать что нужно пробовать все способы, а не зацикливаться
только на батарейках. К не счастью в этой теме серьезно работает только Борян.
Процесс представляю себе так же как и в случае с обычной программой.
Контроллер питания ведь довольно плотно обменивается данными с батарейкой. Здесь только две проблемы. В syscon'e нет операционной системы, только прошивка, хоть он и связан с cpu. Не известно по какой архитектуре он построен.
Ну в последнем случае не все так глухо, врят ли инженеры сони изобретали что то новое.
Я хотел сказать что нужно пробовать все способы, а не зацикливаться
только на батарейках. К не счастью в этой теме серьезно работает только Борян.
Методы для обычных программ с железками обычно не работают по одной простой причине... железка просто не позволит вам выйти за пределы диапазона адресов просто потому, что это физически не возможно... память ограничена количеством ячеек. А ПЗУ контроллера обычно физически совершенно отдельная от оперативки область защищенная со всех сторон.
А вот программе совершенно все равно какой адрес вы ей подсунете, т.к. оперативка у компа в любом случае больше, чем исполняемый файл программы. Поэтому дырявая программа вполне может перекинуть вас в раздел оперативки, где хранится она сама, а не только переменные.
А работает сейчас, по-большому счету, только Борян потому, что только у него на данный момент есть необходимые инструменты и/или связи.
Я уже говорил, что могу помочь с ковырянием дампа, а также своими знаниями и идеями...
ждём ребята дамп..осталось ещё чуть чуть..потерпите ..Всё оказалось гораздо сложнее...Я начал уважать котроллеры NEC По защите им нет равных ...все остальные маститые производителе котроллеров нервно курят в сторонке перед NEC
ждём ребята дамп..осталось ещё чуть чуть..потерпите ..Всё оказалось гораздо сложнее...Я начал уважать котроллеры NEC По защите им нет равных ...все остальные маститые производителе котроллеров нервно курят в сторонке перед NEC
Yokel, пока ещё в процессе...не всё так просто оказалось...метод отработанный на 501 стоящих на иммо автомобилей и мерсовских ключах ..не прокатил...в нашем 501 сразу с нулевоего адреса идёт инициализация портов ..и это всё обламывает...сейчас пробуем 9202 ковырнуть ...
hax0r, Заставить выполнить его свой код конечно нельзя.
С другой стороны у него есть оперативная память в которой содержаться переменные не обходимые для работы прошивки и данные, данные возможно с нашей батарейки.
почитал доки на контроллер 501, что тут выложены. У него есть защита от записи, защита от стирания, защита от изменения бута. Но есть две отличные команды - Verify и Cheksum. Обе позволяют работать с произвольной длиной данных, от 0 до 256 байт. Почему бы не попробовать с первой - метод перебора одного байта - пока не сойдется. а вторая - просто вычитает из 0000h значение ячейки (или последовательной группы ячеек) и возвращает это значение в качестве контрольной суммы. Адреса можно задавать произвольно ( в области блока 1к). И нигде в доках - ни слова о том, что Security Set - заапрещает эти команды!Общение в режиме программирования может идти по протоколу UART. схемка в архиве есть. написать программку для ПК знающему человеку довольно просто.
Alezhek, это мы уже более месяца назад прошли...не всё там так сладко как написанно в доках...нету там побайтной верефикации...мы тоже губы раскатали...но оказалось что верефикация возможна минимум 4 байта.. и так 4 вычислили и далее следующие 4 ...и так до второго пришествия.. Есть ещё вариант с бутлоадером...вычитать через него...но и там не всё так просто...бутлоадер позволяет только перезаписовать прошивку если это разрешенно секюрити битом...но и ещё позволяет переписать сам себя на новый...вот если в качестве нового бута написать свой который будет работать на чтение прошивки ...то возможно это проканает...но пока все чипы что мне были доступны имеют статус полной защиты ..в том числе и от перезаписи загрузчика...Есть пара чипов с фатки ..у них вроде бут открытый...но и тут засада..бут открыт на перезапись прошивки или перезапись самого себя? ...как это определить ни где в доках не написано...да и то что не активен бит перезаписи бута или прошивки не означает что в чипе прописан сам бутлоадер...Эту функцию в 501 используют в основном для внутрисхемного программирования..
Boryan добавил 17.12.2010 в 23:49
кто хочет попытать свои мозги вот дока на бутлоадер с примерами http://zalil.ru/30166878
Последний раз редактировалось Boryan; 17.12.2010 в 23:49.
Причина: добавил, подумав
Wesbam,почитай патенты сони, которые тут выложены. Там подробно описано как работает батарейка и подробно описан алгоритм рукопожатия. Для его реализации сискону от батарейки не нужно ничего, кроме правильного ответа. К тому же, судя по всему, прошивка батарейки-это кусок прошивки сискона...
Короче, никакое переполнение буфера не прокатит. Железки работают совсем не так как программы, поэтому и методы для них свои, железячные. Если хочешь разобраться в методах взлома, разберись сначала в устройстве контроллеров, их архитектуре, наборах комманд и возможностях. Они существенно отличаются от процессора для ПК.
странно немного... слушай, а может это ограничение софта программатора? пользуетесь фирменным программатором? Если свое сваять - типа как вы на к-лайне сделали читалку запросов-ответов от батарейки. Схема-та простая. Вопрос просто в написании своей программы для тех же запросов-ответов от 501.
Alezhek добавил 18.12.2010 в 01:24
Сообщение от Boryan
Alezhek...но и тут засада..бут открыт на перезапись прошивки или перезапись самого себя? ...как это определить ни где в доках не написано...да и то что не активен бит перезаписи бута или прошивки не означает что в чипе прописан сам бутлоадер...
Boryan добавил 17.12.2010 в 23:49
кто хочет попытать свои мозги вот дока на бутлоадер с примерами http://zalil.ru/30166878
как я понял - как такового там бутлоадера нет. просто область первых 1К (еще есть хитрая функция свапа - командой можно менять их местами со вторым участком памяти размером 1К) используется как таблица адресов переходов при РЕСЕТЕ или прерываниях. т.е. если запись бута разрешена - ты можешь писать в эту область.
Последний раз редактировалось Alezhek; 18.12.2010 в 01:24.
Причина: добавил, подумав
Alezhek, программатор давно сделан свой и прога уже давно написана (спасибо за это ANDPSP..полностью его труды) и с чипом делает многое...ковыряет его как может..но толку мало..удалось с помощью проги вытащить все данные о чипе..состояние бит защиты..ид микрухи которое включает все данные про неё..сканит чип на чистые\записанные блоки ..оказалось что в 501 забиты под завязку все 16К!!!ну и ещё много чего она делает...с помощью неё и определили что верефикация мин. 4 байта..Все возможные варианты ковыряния чипа опробованны..осталось только с бутом попробовать...Если есть желающие ( но пока их чота не нашлось) поковырять 501 ..то могу и прогу выложить и схему проггера...чип 501 для экспериментов и отработки методов взлома стоит 120 руб ...программатор что бы далеко не уходить от темы бат. реализован на знакомой многим PL2303 и на базе дата кабеля для сотовых...Кто сделал клайн ..доработать его далее до проггера пара пустяков..Но стоит ли повторять то что мы уже давно прошли и расковыряли? Хотя свежие мозги ни когда не мешают. Но сейчас единственное направление это ковырять бут.. Wesbam, В котроллере бат. копия куска от сискон... hax0r, тебе правильно сказал..и ковырять сикон вообще нет смысла...
Boryan добавил 18.12.2010 в 13:00 Alezhek,
как я понял - как такового там бутлоадера нет. просто область первых 1К (еще есть хитрая функция свапа - командой можно менять их местами со вторым участком памяти размером 1К) используется как таблица адресов переходов при РЕСЕТЕ или прерываниях. т.е. если запись бута разрешена - ты можешь писать в эту область.
А какже нет бута? Каким образом тогда прошивку внутрисхемно меняют в чипе если не через бут? Вот с бутом и нужно разобраться досконально..мож там и найдём дыру..
Последний раз редактировалось Boryan; 18.12.2010 в 13:00.
Причина: добавил, подумав