Решил я развеять слухи о том что зыза 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, я бы попробовал поковырять, если выложите схему и прогу.
Щас вот доки читаю по буту...
Кстати, 16 января еду к родителям.. и, возможно, нарою азотной кислоты ~60% концентрации примерно 100-200мл. Должна была остаться с тех времен, как я в школе увлекался химией и взрывчатыми веществами)))) , если они ее не выкинули... Если надо-скажите)
Последний раз редактировалось hax0r; 18.12.2010 в 13:47.
забираете тут http://zalil.ru/30168950 ..проги..доки..схемы..архив запаролен...за паролем ко мне в личку
Boryan добавил 18.12.2010 в 15:13
Сообщение от hax0r
Boryan,нужно не левшой быть, а иметь хороший микроскоп) и знать куда ткнуть проводком)) Мое дело предложить..
Спасибо.
..в том то и дело ткнуть проводок...да не один...и как это сделать? ты реально можешь это представить? как ткнутый мизерный проводок (где ещё такой тонюсенький взять)закрепить на мизерной контактной площадке? Я вот это даже не могу представить
Boryan добавил 18.12.2010 в 15:28 Alezhek, hax0r, вам пароль уже скинул..см личку
Boryan добавил 18.12.2010 в 15:32
При ковырянии чипа АККУРАТНЕЕ С СЕКЮРИТИ БИТАМИ при установке защиты от стирания чипа...чип станет ОДНОРАЗОВЫМ....и дорога ему только в девас ..если прошит нужной прогой ..либо на помойку..
Последний раз редактировалось Boryan; 18.12.2010 в 15:32.
Причина: добавил, подумав
hax0r, Сони не выпускает ни какую тех. документацию по своим консолям.
Ты правильно написал про то что сискону нужен правильный ответ,только
нужен он от сервис батарейки а не от простой.
Программы для контроллеров пишут обычные люди, которые ошибаются,
это и используют взломщики. Контролеры avr я сам программирую, причем уже достаточно давно
В том-то и дело, что по сискону вообще никакой документации нет. Как ты хочешь с ним общаться? Даже банально подключить его к программатору не сможешь, т.к. распиновку не знаешь и управляющие сигналы. Или ты по к-лайну по линии батарейки хочешь ему сказать что-нибудь? Так его на этот порт только правильный ответ устроит. И разговаривает он не только с сервисной батареей... попробуй китайку к псп-3к подключить-даже включить не сможешь.
Если ты программируешь AVR, зачем же тогда про переполнение написал? Там оно точно так же не реализуемо. В оперативке у контроллера ничего кроме переменных и промежуточных значений нет.
Не нужно пытаться сравнивать железку и программу. Это абсолютно разные вещи.
В общем, меня утомил этот бесплодный спор... Если есть конкретные предложения - то все присутствующие будут рады их выслушать.
Wesbam, самое интересное а ты знаешь в каком формате хранятся данные в сисконе? Ну заставишь ты его выплюнуть дамп свой и чего ты там интересно увидишь в этом дампе ...ты знаешь что сискон не только с бат общается...он обслуживает все кнопки, выключатели и переключатели, все светодиоды зажигает...кучу клоков на psp выдаёт...в нём встроен таймер и ещё куча всего....я предстваляю как он тебе дамп выдаст и чего в нём можно будет найти А потом зачем вообще туда лезть..когда нам нужно в бат добавить всего лишь одну команду...и бат это то что общается с сисконом..а нам и нужно ковырять ту часть которая общается с psp....а не ту что в psp задаёт вопросы батарейке....Батарейке мы и без psp можем кучу вопросов задать..и задаём...
Boryan добавил 18.12.2010 в 21:54
Вот давно собирался ТА93 с разными бат. снять логи....снял...очень много нового и интересного в алгоритме psp появилось и вопросов батарейке задаётся куча ....Судите сами http://zalil.ru/30171041
Последний раз редактировалось Boryan; 18.12.2010 в 21:54.
Причина: добавил, подумав
А какже нет бута? Каким образом тогда прошивку внутрисхемно меняют в чипе если не через бут? Вот с бутом и нужно разобраться досконально..мож там и найдём дыру..
Я думаю, ее не меняют... версия фирмваре просто шьется при изготовлении чипа... маской...
Я думаю, ее не меняют... версия фирмваре просто шьется при изготовлении чипа... маской...
Ты чего то не втюхал. Причём конкретно. О каком фримваре ты говоришь...ты где его нашёл? разговор идёт о той прошивке которую ты написал и засунул в контроллер ...впаял его в девайс и обнаружилась ошибка..для этого есть внутрисхемное программирование...о нём и речь.
ну так для этого предусматривается ВОЗМОЖНОСТЬ менять эту прошивку ВНУТРЕННИМИ командами..т.е. куском кода, который ты сам, как программист предусмотрел... т.е. если твоя прошивка отлажена, а у СОНИ это так - то такого кода просто нет. Ну и главное, даже знай мы - где эта подпрограммка - один хрен мы не влияем на исполняемый чипом код.. нет у нас возможности, перейти по определенному адресу
Alezhek добавил 18.12.2010 в 22:52
так что это, по-моему - тупик
Alezhek добавил 18.12.2010 в 23:04
Ладно, следующая идея: имеем команды работающие с 4-мя байтами.
Командой Cheksum - проверяем их - получаем число - побайтное вычитание
этих 4х ячеек из 0000h. Таким образом значительно сокращается количество вариантов перебора значений для команды Verify. Нам нужно проверять только те a,b,c,d, разность которых равна этому числу
Последний раз редактировалось Alezhek; 18.12.2010 в 23:04.
Причина: добавил, подумав
Alezhek, разговор идёт не про оригинал бат. от сони....в них всё закрыто..а вот в китайках доступ через бутлоадер открыт.
мы путаемся в определениях! я до сих пор не могу понять, что ты имеешь в виду под бутлоадером! в 501 чипе бутом называется просто область первых 1К, где лежат адреса переходов. нет там никакого "лоадера" в понимании программы.
Alezhek добавил 18.12.2010 в 23:38
Сообщение от Alex14435
А разве есть команда Checksum?
есть! код команды B0h описана в мануале U17739EJ3V0AN00.pdf стр. 47
Alezhek добавил 18.12.2010 в 23:41
причем по описанию - в ней операндами служат адрес начала и адрес конца блока, который мы хотим проверить. т.е. ничего вроде не мешает задать проверку одного байта
Последний раз редактировалось Alezhek; 18.12.2010 в 23:41.
Причина: добавил, подумав
на сколько я понял при беглом прочтении доков, область первых 1к в 501 задумывалась как своеобразный буфер для "аварийной" заливки прошивки в контроллер или для апдейта оной в контроллере...
объясняю: прошивку нужно начать заливать с конца, после заливки блока 1к делается команда своп и залитый блок становится вторым. после этого заливают следующий блок 1к, который в конце своей заливки говорит контроллеру, что нужно переместит второй блок в третий, а дальше опять своп. Получается, что теперь имеем 1блок-пустой, 2 и 3 блоки-куски прошивки. И так продолжается пока не заполнятся все блоки. самым последним заливается начало прошивки. Как-то так... Возможно я ошибся...т.к. пока что не вчитывался досконально...
A bootloader lets you update or replace application code without an external programmer, and makes it
possible to update code remotely—over a phone line or Internet connection.
For example, if you have 5,000 MCU-based pay phones and the phones require a firmware update, the
phone company’s service person could manually reprogram the individual telephones—a time-consuming
effort—or use a bootloader to reprogram all 5,000 phones remotely from a central location.
И ты поймёшь что есть бутлоадер и для чего он нужен в NEC
в этом отрывке - разговор идет о возможности написать программу "бутлоадер" которая получит например обновление прошивки - примет его через какой-то порт.. запишет в озу - а потом командами САМОпрошивки - занесет в память. т.е. типа возможность делать обновления для выших девайсов. нас это не интересует - нет у наших батареек такой фичи..не предусмотрена "соневская прошивка для батареек 6.35"))))