Просмотр полной версии : Обсуждение взлома батарейки Пандоры PSP-3000...
Страницы :
1
2
3
4
5
6
7
8
9
10
11
12
13
[
14]
15
16
17
18
Вдруг syscon не устойчив к Buffer overflow
Есть практические идеи или это красивый набор слов?
Есть практические идеи или это красивый набор слов?
Для одних это красивые слова а для других один самых популярных методов взлома
Boryan
Глупо с точки зрения безопасности хранить ключи или алгоритм в самой
батарейке. При таком подходе прошивку могут украсть еще на этапе
производства самой батарейки.
Yokel, Xbox 360 slim
Я конечно извеняюсь, но почему не связаться с тем же максимум и не попросить их сделать декап и слив прошивки ? конечно это будет стоит денег, но не в них же трабл? Сливомский привод он же ломанул из максимуса. Декапил микроконтроллер и сливал прошивку с него.
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 :)
Boryan, ну так не зря ж их пихают везде, где не поподя..) в бытовую технику там, в автомобили..)
ждём ребята дамп..осталось ещё чуть чуть..потерпите ..Всё оказалось гораздо сложнее...Я начал уважать котроллеры 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
Wesbam,почитай патенты сони, которые тут выложены. Там подробно описано как работает батарейка и подробно описан алгоритм рукопожатия. Для его реализации сискону от батарейки не нужно ничего, кроме правильного ответа. К тому же, судя по всему, прошивка батарейки-это кусок прошивки сискона...
Короче, никакое переполнение буфера не прокатит. Железки работают совсем не так как программы, поэтому и методы для них свои, железячные. Если хочешь разобраться в методах взлома, разберись сначала в устройстве контроллеров, их архитектуре, наборах комманд и возможностях. Они существенно отличаются от процессора для ПК.
странно немного... слушай, а может это ограничение софта программатора? пользуетесь фирменным программатором? Если свое сваять - типа как вы на к-лайне сделали читалку запросов-ответов от батарейки. Схема-та простая. Вопрос просто в написании своей программы для тех же запросов-ответов от 501.
Alezhek добавил 18.12.2010 в 01:24
Alezhek...но и тут засада..бут открыт на перезапись прошивки или перезапись самого себя? ...как это определить ни где в доках не написано...да и то что не активен бит перезаписи бута или прошивки не означает что в чипе прописан сам бутлоадер...
Boryan добавил 17.12.2010 в 23:49
кто хочет попытать свои мозги вот дока на бутлоадер с примерами http://zalil.ru/30166878
как я понял - как такового там бутлоадера нет. просто область первых 1К (еще есть хитрая функция свапа - командой можно менять их местами со вторым участком памяти размером 1К) используется как таблица адресов переходов при РЕСЕТЕ или прерываниях. т.е. если запись бута разрешена - ты можешь писать в эту область.
Alezhek, программатор давно сделан свой и прога уже давно написана (спасибо за это ANDPSP..полностью его труды) и с чипом делает многое...ковыряет его как может..но толку мало..удалось с помощью проги вытащить все данные о чипе..состояние бит защиты..ид микрухи которое включает все данные про неё..сканит чип на чистые\записанные блоки ..оказалось что в 501 забиты под завязку все 16К!!!ну и ещё много чего она делает...с помощью неё и определили что верефикация мин. 4 байта..Все возможные варианты ковыряния чипа опробованны..осталось только с бутом попробовать...Если есть желающие ( но пока их чота не нашлось) поковырять 501 ..то могу и прогу выложить и схему проггера...чип 501 для экспериментов и отработки методов взлома стоит 120 руб ...программатор что бы далеко не уходить от темы бат. реализован на знакомой многим PL2303 и на базе дата кабеля для сотовых...Кто сделал клайн ..доработать его далее до проггера пара пустяков..Но стоит ли повторять то что мы уже давно прошли и расковыряли? Хотя свежие мозги ни когда не мешают. Но сейчас единственное направление это ковырять бут..
Wesbam, В котроллере бат. копия куска от сискон...
hax0r, тебе правильно сказал..и ковырять сикон вообще нет смысла...
Boryan добавил 18.12.2010 в 13:00
Alezhek, как я понял - как такового там бутлоадера нет. просто область первых 1К (еще есть хитрая функция свапа - командой можно менять их местами со вторым участком памяти размером 1К) используется как таблица адресов переходов при РЕСЕТЕ или прерываниях. т.е. если запись бута разрешена - ты можешь писать в эту область.
А какже нет бута? Каким образом тогда прошивку внутрисхемно меняют в чипе если не через бут? Вот с бутом и нужно разобраться досконально..мож там и найдём дыру..
Boryan, я бы попробовал поковырять, если выложите схему и прогу.
Щас вот доки читаю по буту...
Кстати, 16 января еду к родителям.. и, возможно, нарою азотной кислоты ~60% концентрации примерно 100-200мл. Должна была остаться с тех времен, как я в школе увлекался химией и взрывчатыми веществами)))) , если они ее не выкинули... Если надо-скажите)
hax0r, далать декап в домашних условиях это бред! Либо нужно быть левшой :) Сейчас всё подготовлю и выложу .
Boryan,нужно не левшой быть, а иметь хороший микроскоп) и знать куда ткнуть проводком)) Мое дело предложить.. :)
Спасибо.
DARK-MAN-X
18.12.2010, 14:13
hax0r, я вам могу могу нарыть любой кислоты любой концентраии и не только кислоты.
я на химфаке учусь
забираете тут http://zalil.ru/30168950 ..проги..доки..схемы..архив запаролен...за паролем ко мне в личку
Boryan добавил 18.12.2010 в 15:13
Boryan,нужно не левшой быть, а иметь хороший микроскоп) и знать куда ткнуть проводком)) Мое дело предложить.. :)
Спасибо.
..в том то и дело :) ткнуть проводок...да не один...и как это сделать? ты реально можешь это представить? как ткнутый мизерный проводок (где ещё такой тонюсенький взять)закрепить на мизерной контактной площадке? Я вот это даже не могу представить :)
Boryan добавил 18.12.2010 в 15:28
Alezhek,
hax0r, вам пароль уже скинул..см личку
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
А какже нет бута? Каким образом тогда прошивку внутрисхемно меняют в чипе если не через бут? Вот с бутом и нужно разобраться досконально..мож там и найдём дыру..
Я думаю, ее не меняют... версия фирмваре просто шьется при изготовлении чипа... маской...
Я думаю, ее не меняют... версия фирмваре просто шьется при изготовлении чипа... маской...
Ты чего то не втюхал. Причём конкретно. О каком фримваре ты говоришь...ты где его нашёл? разговор идёт о той прошивке которую ты написал и засунул в контроллер ...впаял его в девайс и обнаружилась ошибка..для этого есть внутрисхемное программирование...о нём и речь.
ну так для этого предусматривается ВОЗМОЖНОСТЬ менять эту прошивку ВНУТРЕННИМИ командами..т.е. куском кода, который ты сам, как программист предусмотрел... т.е. если твоя прошивка отлажена, а у СОНИ это так - то такого кода просто нет. Ну и главное, даже знай мы - где эта подпрограммка - один хрен мы не влияем на исполняемый чипом код.. нет у нас возможности, перейти по определенному адресу
Alezhek добавил 18.12.2010 в 22:52
так что это, по-моему - тупик
Alezhek добавил 18.12.2010 в 23:04
Ладно, следующая идея: имеем команды работающие с 4-мя байтами.
Командой Cheksum - проверяем их - получаем число - побайтное вычитание
этих 4х ячеек из 0000h. Таким образом значительно сокращается количество вариантов перебора значений для команды Verify. Нам нужно проверять только те a,b,c,d, разность которых равна этому числу
Alezhek, разговор идёт не про оригинал бат. от сони....в них всё закрыто..а вот в китайках доступ через бутлоадер открыт.
Alex14435
18.12.2010, 23:29
А разве есть команда Checksum? Насколько я понял, контроллер может лишь ответить да или нет, совпадает посланные 4 байта с данными или нет :)
Alezhek, разговор идёт не про оригинал бат. от сони....в них всё закрыто..а вот в китайках доступ через бутлоадер открыт.
мы путаемся в определениях! я до сих пор не могу понять, что ты имеешь в виду под бутлоадером! в 501 чипе бутом называется просто область первых 1К, где лежат адреса переходов. нет там никакого "лоадера" в понимании программы.
Alezhek добавил 18.12.2010 в 23:38
А разве есть команда Checksum?
есть! код команды B0h описана в мануале U17739EJ3V0AN00.pdf стр. 47
Alezhek добавил 18.12.2010 в 23:41
причем по описанию - в ней операндами служат адрес начала и адрес конца блока, который мы хотим проверить. т.е. ничего вроде не мешает задать проверку одного байта
на сколько я понял при беглом прочтении доков, область первых 1к в 501 задумывалась как своеобразный буфер для "аварийной" заливки прошивки в контроллер или для апдейта оной в контроллере...
объясняю: прошивку нужно начать заливать с конца, после заливки блока 1к делается команда своп и залитый блок становится вторым. после этого заливают следующий блок 1к, который в конце своей заливки говорит контроллеру, что нужно переместит второй блок в третий, а дальше опять своп. Получается, что теперь имеем 1блок-пустой, 2 и 3 блоки-куски прошивки. И так продолжается пока не заполнятся все блоки. самым последним заливается начало прошивки. Как-то так... Возможно я ошибся...т.к. пока что не вчитывался досконально...
просто писать программу нужно самим.. на уровне UART отсылать и принимать байты и смотреть что получилось...
Alezhek добавил 18.12.2010 в 23:49
то что ты прочел - относится к варианту - самопрограммирования!
Alezhek добавил 18.12.2010 в 23:50
свопы применяются - чтобы из-за ошибки питания иди еще какой - не потерять программу
Alezhek, переведи вот это: 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
так что это просто предусмотрительность разработчиков. обычная прошивка внешним программатором , льется как всегда
Alezhek добавил 18.12.2010 в 23:52
Ребята! не путайте возможность самопрограммирования с нашим случаем!
повнимательнее почитай доку U18291EU1V0AN00_BOOT
в этом отрывке - разговор идет о возможности написать программу "бутлоадер" которая получит например обновление прошивки - примет его через какой-то порт.. запишет в озу - а потом командами САМОпрошивки - занесет в память. т.е. типа возможность делать обновления для выших девайсов. нас это не интересует - нет у наших батареек такой фичи..не предусмотрена "соневская прошивка для батареек 6.35"))))
значит чота я притупил...сейчас внимательнее доку гляну
повнимательнее почитай доку U18291EU1V0AN00_BOOT
эта дока отнсится к SELF-Programming - САМОПРОГРАММИРОВАНИЮ!!!!
Alezhek добавил 18.12.2010 в 23:59
все что нам нужно в U17739EJ3V0AN00.pdf
Alezhek, блин ты так и не понял...есть баты китайские на 501 чипе ...там перезапись бута открыта...можно написать свой код туда кторый будет тащить прошивку на какой нибудь порт ....в 501 есть возможность эмуляции внутреннего еепром и все команды внутри чипа доступны..нам и нужно самопрограммирование
Уменя созрело предложение.
Можно воспользоваться методом, о котором говорил Борян пару-тройку страниц назад, только понадобится 2 одинаковых чипа с открытым бутом. В первый чип залить в первый блок 1к небольшую програмулину, которая будет выдавать прошивку в какойнить порт, слить прошивку без первого блока. Во втором чипе сначала делаем своп и получается что 1 и 2 блоки поменялись местами. Льем в него такую же программулину, что и в первый чип. Из дампа второго чипа выковыриваем тот блок 1к, что был в прошивке первым до свопа и соединяем с дампом прошивки первого чипа и получаем целый дамп. Вот)
проблема может быть в том, что не удастся написать такую мелкую программулину, учитывая инициализацию портов...
hax0r, эта мысль у меня уже давно в голове вертиться ..и я её уже описавал несколько страниц назад..но ни кто так и не отреагировал
Boryan,это потому, что ни у кого пока нету двух одинаковых чипов) и программатора тоже не было до сегодняшнего дня)
А еще у меня крутится идея не сервисной батарейки, а эмуляции батарейки. Это на случай, если вы не захотите делиться с непосвященными.. Потому, что не каждый сможет сделать к-лайн, далеко не каждый.
а че тогда спорим?))) озадачиваем программиста нашего) - софт я смотрю есть в архиве.. и даже НЕКовские библиотеки готовые..и вперед...или не получается ужать до 1к программу? а свопить скорее всего и не надо будет.. прерывания вряд ли используются в батарейке - так что нас в принципе интересует только начальный адрес перехода.. первые два байта...
Alezhek добавил 19.12.2010 в 00:21
Потому, что не каждый сможет сделать к-лайн, далеко не каждый.
эти к-лайны на любом радиорынке продаются.. для автолюбителей.. ддаже конструкторы видел сделайсам
Alezhek добавил 19.12.2010 в 00:22
но я, все-таки, за чтение дампа родной соневской батарейки)
Дамп батарейки нам в любом случае нужен) Ибо как сделать эмуляцию того, чего не знаешь? т.е. нужен алгоритм.
После чтения дампа возникнет следующая проблема - чтение флешки батарейки. Ключи, которые использует контроллер скорей всего именно там и хранятся... Во всяком случае, они точно не вычисляются, а хранятся именно в виде таблицы..
флешка и дамп - одно и тоже
Alezhek добавил 19.12.2010 в 00:30
потом просто придется это дело дизасемблировать.. разбирать код
ну вот и договорились :) тока где взять проггера....я последний раз с пиком общался лет 6 назад прогу писал...за давностью событий и не использования в дальнейшем забыл всё нафиг...
Alezhek,мне казалось, что мы говорили о дампе ПЗУ контроллера, а не флешки, которая к этому контроллеру прилеплена в качестве накопителя..
А получить из ассемблера последовательность математических операций не сложно..
Boryan,это потому, что ни у кого пока нету двух одинаковых чипов) и программатора тоже не было до сегодняшнего дня)
А еще у меня крутится идея не сервисной батарейки, а эмуляции батарейки. Это на случай, если вы не захотите делиться с непосвященными.. Потому, что не каждый сможет сделать к-лайн, далеко не каждый.
а что мешает купить штук 10 батареек и будут чипы...а что мешает купить новый 501- за 120 руб и на нём всё откатать и затем купив одну батарейку прочитать её чип? Я так уже и счёт потерял батарейкам..сколько я их купил...просто люди не хотят тратится даже по мелочам...халявы хотят ..чистой халявы..
Boryan добавил 19.12.2010 в 00:37
hax0r, ты видать далёк от понимания что такое контроллер :)
Boryan добавил 19.12.2010 в 00:41
Alezhek, дамп без разницы с соневской или с китайской...алгоритм инициализации везде одинаков ...разница китайки с соневской ..типа разная обработка АЦП котрользаряда\разряба бат. но нам это и нафиг не нужно...и есно самый простой и быстрый вариант после добычи кода баты..это есно эмуляция на компе через клайн
hax0r, ты видать далёк от понимания что такое контроллер :)
Это почему? Я может чего-то упустил..., но что такое контроллер хорошо себе представляю) Я год-полтора назад тоже занимался avrами, а потом забросил..
доки что я выкладывал поизучай :)
мы говорим о дампе eeprom контроллера NEC501, никаких отдельных флешек в батарейках ессно нет...
Доки-то я конечно поизучаю, куда ж без этого)
как нет флешки..? там разве нет что-нибудь типа L56R..?
Alezhek, ну наконец то ты понял :) флешки есть на борту контроллера в соневских батах..туда пишут серийник и процедуру заряда\разряда батарейки...и больше там нет нефига...прочитать эту флеху как два пальца обоссать:) в китайцах уже нету внешнего епрома ...он нафиг не нужен...они его внутри чипа эмулируют..есно базар идёт от вытаскивании кода из контроллера..
Alezhek, ну наконец то ты понял :) флешки есть на борту контроллера в соневских батах..туда пишут серийник и процедуру заряда\разряда батарейки...и больше там нет нефига...прочитать эту флеху как два пальца обоссать:) в китайцах уже нету внешнего епрома ...он нафиг не нужен...они его внутри чипа эмулируют..есно базар идёт от вытаскивании кода из контроллера..
Я так понимаю, это было мне адресовано?)
Я знаю, что в контроллерах есть своя флешка(тобиш ПЗУ)
У меня в наличии просто есть единственная батарейка, родная, от псп). Плат с 501 я не видел, вот и думал, что там тоже есть подобное..) Я же сказал, что что0то упустил наверное)
hax0r добавил 19.12.2010 в 01:07
вот про что я)
http://s52.radikal.ru/i137/1012/4c/abb6a3683b78.jpg
ну да..сорри.. не об этой разговор... в ней же по-мойму всего 128 байт.. это номер батарейки хранится...мы вот о той большой "дуре"))) под номером ic05
ну да..сорри.. не об этой разговор... в ней же по-мойму всего 128 байт.. это номер батарейки хранится...
нет, в ней тоже 16кБ) тоько что посмотрел по даташиту)
hax0r добавил 19.12.2010 в 01:11
мы вот о той большой "дуре"))) под номером ic05
Это и так понятно) контроллер-то на батарейке один всего..)
hax0r, большой с 30 ногами это и есть 501 ..просто сейчас маркировку лепят любую на чип..а мелкий в красном кружке еепром
Boryan добавил 19.12.2010 в 01:15
hax0r, в мелкой Е**РОМ не 16 к а 256 байт всего
Boryan,да... тогда в ней действительно ничего полезного нет..
Boryan,да... тогда в ней действительно ничего полезного нет..
Неужели ты думаешь что еепром я первым делом не поковырял? Есно там ловить не чего....а ловить нужно только в прошивке контроллера..
Методы для обычных программ с железками обычно не работают по одной простой причине...
<...>
Поэтому дырявая программа вполне может перекинуть вас в раздел оперативки, где хранится она сама, а не только переменные.
На это я и намекал, когда спрашивал про наличие практических идей. А туманные ответы - не модно.
Хорошо, убедил этот способ возможно не проканает.
Но я бы все равно его проверил.
Я всего лишь хочу опять сказать что не стоит зацикливаться
на одних только батарейках и на том как растворить свою psp в кислоте, а искать другие способы взлома.
Конкретное я озвучивал еще раньше, выяснить каким образом сам сикон
переводит проц в режим загрузки с карты памяти.
Wesbam, очень просто ...командами по шине...только доступа туда нет...это как в биосе РС ты выбираешь сам откуда будешь грузиться...так и здесь..доступ только с команд батарейки..А потом это бредовая идея для реализации ...в смысле что бы перешить или сделать даун тебе нужно будет всю консоль разобрать
Boryan добавил 20.12.2010 в 01:32
а потом ты думаешь что мы тупые и за полгода не пересмотрели все возможные варианты взлома? Аппаратный вариант со сменой сискона уже описывался много страниц назад..
Okey, я допускаю что мог что то пропустить и совершить ошибку
в своих умозаключениях. С самого начало правильней было бы
самому заняться взломом и проверкой своих идей.
Что касается варианта взлома через прошивку батарейки, то
я по прежнему считаю его не самым лучшим.
Желаю удачи и успехов во взломе.
Wesbam, так попытайся сам сискон поломать...мож у тебя получится...Ты наверное так до конца и не понял всей сути перевода ПСП в сервисный режим:(.....только взлом батарейки и ни чего более
На это я и намекал, когда спрашивал про наличие практических идей. А туманные ответы - не модно.
Что-то я не очень понял.. Если это мне адресовано, то я всего лишь пытался человеку объяснить, что он предложил априори провальный путь...
А насчет практических идей - то, мне кажется, варианта всего 3 на данный момент:
1.декап
2.вариант с двумя чипами
3.вычисление ключей и алгоритма по ответам, но это наиболее нереально.. только если ООООчень сильно повезет... хотя, если у вас есть знакомые криптографы с мировым имене-можно попробовать..)
Ладно, следующая идея: имеем команды работающие с 4-мя байтами.
Командой Cheksum - проверяем их - получаем число - побайтное вычитание
этих 4х ячеек из 0000h. Таким образом значительно сокращается количество вариантов перебора значений для команды Verify. Нам нужно проверять только те a,b,c,d, разность которых равна этому числу
мммм чего то я не догнал, но команду Cheksum и правда почему то не реализовал когда с чипом игрался - но этот момент уже исправлен, новая прога считывает чексум или со всего чипа или с конкретного блока...
Теперь про алгоритм чексума - побайтного вычитания там нет и в помине, что там за алгоритм - хз. можно конечно попробовать просчитать алгом выложенным в доках на 9202 - но там блок 256 байт а у нас 1024...
Если кому интересно то блок из 1024 FF имеет чексум 0400h, причем полностью затертый чип так же имеет этот же чексум, как и любой блок.
Первый блок с данными "8000FFFF....FF" имеет чексум 057Eh, остальные пустые блоки имеют тот же чексум 0400h, а чексум всего чипа равен 417Eh
Мне пока не удалось найти алгоритм расчета чексуммы, попытайтесь - может кому повезет, но всеравно сомневаюсь что будет толк - поскольку мы узнаем лишь чексум всего блока - т.е. 1024 байт, а никак не 4-х байт которых достаточно для верификации...
Тем кто будет играться с моей прогой напоминаю что прошивка для заливки должна быть в виде бинарника а не стандартного хекса, т.е. вид типа ":10016600B7891CD6874197B0B160F204FAF3B1B0F3" не прокатит...
Для перевода нужно загрузить хекс в проге FlashProg и скопировать в бинарник или же заливать в самом FlashProg, но она льет с самого начала, а в моей проге можете записать данные в любой блок и стереть так же любой блок...
ANDPSP добавил 20.12.2010 в 18:01
Что-то я не очень понял.. Если это мне адресовано, то я всего лишь пытался человеку объяснить, что он предложил априори провальный путь...
А насчет практических идей - то, мне кажется, варианта всего 3 на данный момент:
1.декап
2.вариант с двумя чипами
3.вычисление ключей и алгоритма по ответам, но это наиболее нереально.. только если ООООчень сильно повезет... хотя, если у вас есть знакомые криптографы с мировым имене-можно попробовать..)
1. У тебя реально есть навыки декапа и соответствующее оборудование ?
2. Тут Боря немного сам запутался и вас всех запутал, в реале наиболее открытые 501-е чипы с батареек, имеющие возможность перезаписи бута, закрыты от программирования - а это отключает возможность стереть определенный блок и записать в него програмку внутреннего чтения. теоретически есть конечно надежда найти в батарейке полностью открытый чип, но это скорее из области фантастики, как и надежда найти работающий бутлоадер в этих чипах - хотя этот момент так и не проверили...
3. Это не реально, я на 90 % теперь уверен что там реализован XTEA который в асме занимает всего 20-30 строк кода - можете в википедии посмотреть...
ANDPSP, действительно, очень похоже на XTEA.. но не забывайте, что у сони есть свой алгоритм, который так же не требователен к ресурсам и памяти. Название не приведу, но я о нем писал ранее... Или возможно, что сони модифицировали XTEA и стали его применять, т.к. XTEA не был запатентован по инфе из википедии..
Да и в семействе XTEA довольно много разновидностей.. например, XXTEA или RTEA..
RTEA вообще на СИ одну строчку занимает..
Теперь про алгоритм чексума - побайтного вычитания там нет и в помине, что там за алгоритм - хз.
вот что в доке
http://i040.radikal.ru/1012/b0/adc053365e30.jpg
вот что в доке
http://i040.radikal.ru/1012/b0/adc053365e30.jpg
Все правильно в доке, это я ошибся при пересчете чексума - все значения перепроверил и все сходится тютя в тютю, там реально побайтное вычитание из нуля, но что это нам дает ?
Все правильно в доке, это я ошибся при пересчете чексума - все значения перепроверил и все сходится тютя в тютю, там реально побайтное вычитание из нуля, но что это нам дает ?
Это дает уменьшение возможных вариантов при бруте прошивки с помощью поблочной/побайтной верификации.
hax0r, Еси так, хватит ли времени раскурочить прошивку брутом?
lazard, время бесконечно))) его не может не хватить))
Другой вопрос-на сколько сократится время на вытаскивание брутом...
hax0r, ты тоже вечен? или Борян? а сама консоль? Я как раз о чем, на что нам хватит времени. Без обид, но о вечности времени это сомсем другая тема.
З.Ы.реально ли рассчитать, сколько времени нужно для этого?
lazard,рассчитать можно все что хочешь.
А насчет обид... какие вопросы задаешь-такие ответы и получаешь.
Хватит или не хватит времени будет зависеть от тех временных рамок в которые ты хочешь уложиться.
Все правильно в доке
может все-таки еще раз проверить и команду Verify?
http://s59.radikal.ru/i166/1012/2b/e7d8d5cfedd5.jpg
ведь судя по доку.. проверять можно от 1 байта?
Alezhek, по докам , да....а на деле 4 байта..Я же и прогу и доки и схемы всё выложил..можете сами попробовать...Мы тоже губы раскатали на эти доки ...но NEC быстро закатал :)
Boryan добавил 21.12.2010 в 20:23
Alezhek, А уже если у тебя есть желание помочь ..то поизучай доки на 9202 ..мож там дырку можно найти...или на 102 чип посмотри своим свежим взглядом :)
а что в них ищем? кстати, а где на них доки? выложи , пожалуйста
забирай http://zalil.ru/30194382..ну а искать чего? ...дырку :) Способ вытащить прошивку..верефикацией..написанием своего кода для вытаскивания прошивки.. и записью его в контроллер..короче искать уязвимость :)
Boryan, Я тут доку почитал... Есть инфа о том, какие биты защиты установлены в тех 9202,которые в наличии есть?
hax0r, пока такой инфы нет..сложно зацепить 9202...он рассчитан на работу со штатным программатором в отличии от 501...потому пока думаем как его зацепить...а что там нарыл по поводу битов защиты?
Boryan, а разве 9202 есть в батарее на зызе с платой 93?
в 9202 все гораздо хуже - "чексум" даже по документации идет блоками по 256 байт. А программатор придется переделывать под него
по мне - так овчинка выделки не стоит... разве что памяти там всего 4К.. проще разбираться, если все-таки удастся сдампить
Boryan, 9202 еще жесче чем 501... в нем биты защиты даже команду verify не пропустят... еще есть защита на определенную область памяти... регистр защиты от помех... ну и стандартные от стирания чипа, стирания блока и записи... самопрограммирование в нем есть, но оно недоступным становится, если биты защиты установлены... точнее, если оно предусмотрено в той прошивке, которая в нем сейчас и биты защиты установлены, то можно воспользоваться, если его в прошивке нету-то уже ничего не записать...
В общем, 9202 - не вариант, если защита на нем стоит..
hax0r добавил 22.12.2010 в 10:56
lazard,не важно на какой батарее он стоит. Главное что там есть ключи и алгоритм работы. Новые ключи по такой инфе не сложно вычислить.
hax0r добавил 22.12.2010 в 11:36
Boryan,единственное но... там написано, что биты защиты в 9202 можно переустановить, использую команду защиты чипа от записи (стирания чипа в 102).. только пока не понятно что из этого выйдет.. щас читаю доки на 102..
hax0r, давай давай ..напрягай мозги..а то у меня уже все мысли кончились :) ..жесть с этим NECом ..Ни кто с ним походу во всё мире не колупался как авэрками и пиками...вообще инфы ноль. Непонятно как китайцы нарыли алгоритм...ведь суко клепают баты левые на каждом углу...и прошивка есть почти у каждого китайца....а ни как у них её не выпросить...пробовал все варианты ..и за бабки и в обмен на карточку...тупят суки..типа не понимают что я хочу от них...Да и чел который обещал вытащить с 501 прошиву обломался..короче вся надежда на нас..только самим найти уязвимость в чипе и вытащить оттуда прошиву...других вариантов почти нет...
Boryan,китайцы скорей всего тупо декап сделали и все..) и не парились особо..) китайцы, сцуко, такие китайцы..)) они, сцуко, хитрые...
Изучу доки на 102 в ближайшее время, мож наколупаю чего...
может все-таки еще раз проверить и команду Verify?
http://s59.radikal.ru/i166/1012/2b/e7d8d5cfedd5.jpg
ведь судя по доку.. проверять можно от 1 байта?
Что же ты примечание (Note) в вышеприведенный фрагмент не включил ? Сразу бы все понятно стало.... короче вот тебе фрагмент переписки с разработчиком FlashProg, а он побольше всех нас в неках шарит...
Привет,
было бы здорово если бы этот способ сработал, поскольку с нашей
верификацией чипа UPD78F0501 что то не получается, тоже была мысль
что реализована лишь поблочная верификация по 256 байт, но тогда не
понятно для чего реализована передача данных произвольной длины - от
1 байта до 256 и не понятен байт окончания пакета - 03H или 17H -
какой из них оканчивает передачу данных и дает понять чипу что можно выдавать результат верификации.
Верификация только блочная... посылать инфу можно хоть по
байтику и отвечать он будет всегда положительным подтверждением (ACK
= 0х06) на каждый посланный байт...но конечный результат верификации
предоставляется только после передачи последнего 256 байта!
Про это черным по белому написано в каменте на Verify result:
Even if a verify error occurs in the specified address range, ACK is always returned
as the verify result. The status of all verify errors are reflected in the verify result for
the last data. Therefore, the occurrence of verify errors can be checked only when
all the verify processing for the specified address range is completed.
Почему такую возможность сделали...возможно просто алгоритмы
скопировали...То же программирование имеет подобную схему.
А так хрен их знает....зачем они так сделали.
я конечно принял эту инфу к сведению но все же решил сам проверить, так вот методом научного тыка и нашлись эти 4 байта достаточные для верификации...
22.12.2010 13:42:13 49333,39 send: 010120DF03
22.12.2010 13:42:13 49333,56 read status command: 020106F903
22.12.2010 13:42:13 49333,56 Chip erase successful...
22.12.2010 13:42:29 49349,19 Read from file 8 byte...
22.12.2010 13:42:51 49371 send command to write: 010740000000003FFF7B03
22.12.2010 13:42:51 49371,02 read status command: 020106F903
22.12.2010 13:42:51 49371,02 send data frame: 0208019B5E011620FE10B903
22.12.2010 13:42:51 49371,05 get status data frame: 02020606F203
22.12.2010 13:42:51 49371,05 data frame write successful...
22.12.2010 13:42:51 49371,25 get status all data frame: 020106F903
22.12.2010 13:42:51 49371,27 All data write successful...
22.12.2010 13:42:58 49378,05 Read from file 1 byte...
22.12.2010 13:42:58 49378,05 send command to verify: 010713000000003FFFA803
22.12.2010 13:42:58 49378,08 read status command: 020106F903
22.12.2010 13:42:58 49378,08 send data frame: 020101FE03 SentBytes = 5
22.12.2010 13:42:58 49378,16 get status data frame: 0202060FE903
22.12.2010 13:42:58 49378,16 data frame verify error...
22.12.2010 13:43:01 49381,36 Read from file 2 byte...
22.12.2010 13:43:01 49381,36 send command to verify: 010713000000003FFFA803
22.12.2010 13:43:01 49381,38 read status command: 020106F903
22.12.2010 13:43:01 49381,38 send data frame: 0202019B6203 SentBytes = 6
22.12.2010 13:43:01 49381,47 get status data frame: 0202060FE903
22.12.2010 13:43:01 49381,47 data frame verify error...
22.12.2010 13:43:07 49387,52 Read from file 3 byte...
22.12.2010 13:43:07 49387,53 send command to verify: 010713000000003FFFA803
22.12.2010 13:43:07 49387,55 read status command: 020106F903
22.12.2010 13:43:07 49387,55 send data frame: 0203019B5E0303 SentBytes = 7
22.12.2010 13:43:07 49387,63 get status data frame: 0202060FE903
22.12.2010 13:43:07 49387,63 data frame verify error...
22.12.2010 13:43:10 49390,27 Read from file 4 byte...
22.12.2010 13:43:10 49390,27 send command to verify: 010713000000003FFFA803
22.12.2010 13:43:10 49390,3 read status command: 020106F903
22.12.2010 13:43:10 49390,3 send data frame: 0204019B5E010103 SentBytes = 8
22.12.2010 13:43:10 49390,31 get status data frame: 02020606F203
22.12.2010 13:43:10 49390,31 data frame verify successful...
22.12.2010 13:43:13 49393,25 Read from file 5 byte...
22.12.2010 13:43:13 49393,25 send command to verify: 010713000000003FFFA803
22.12.2010 13:43:13 49393,27 read status command: 020106F903
22.12.2010 13:43:13 49393,27 send data frame: 0205019B5E0116EA03 SentBytes = 9
22.12.2010 13:43:13 49393,36 get status data frame: 0202060FE903
22.12.2010 13:43:13 49393,36 data frame verify error...
22.12.2010 13:43:15 49395,95 Read from file 6 byte...
22.12.2010 13:43:15 49395,95 send command to verify: 010713000000003FFFA803
22.12.2010 13:43:15 49395,97 read status command: 020106F903
22.12.2010 13:43:15 49395,97 send data frame: 0206019B5E011620C903 SentBytes = 10
22.12.2010 13:43:16 49396,06 get status data frame: 0202060FE903
22.12.2010 13:43:16 49396,06 data frame verify error...
22.12.2010 13:43:19 49399,33 Read from file 8 byte...
22.12.2010 13:43:19 49399,33 send command to verify: 010713000000003FFFA803
22.12.2010 13:43:19 49399,34 read status command: 020106F903
22.12.2010 13:43:19 49399,34 send data frame: 0208019B5E011620FE10B903 SentBytes = 12
22.12.2010 13:43:19 49399,38 get status data frame: 02020606F203
22.12.2010 13:43:19 49399,38 data frame verify successful...
22.12.2010 13:43:30 49410,86 Read from file 4 byte...
22.12.2010 13:43:32 49412,86 send command to write: 010740000400003FFF7703
22.12.2010 13:43:32 49412,88 read status command: 020106F903
22.12.2010 13:43:32 49412,89 send data frame: 02048000FFFF7E03
22.12.2010 13:43:32 49412,91 get status data frame: 02020606F203
22.12.2010 13:43:32 49412,91 data frame write successful...
22.12.2010 13:43:33 49413,05 get status all data frame: 020106F903
22.12.2010 13:43:33 49413,05 All data write successful...
22.12.2010 13:43:37 49417,63 Read from file 4 byte...
22.12.2010 13:43:37 49417,63 send command to verify: 0107130004000007FFDC03
22.12.2010 13:43:37 49417,64 read status command: 020106F903
22.12.2010 13:43:37 49417,64 send data frame: 02048000FFFF7E03 SentBytes = 8
22.12.2010 13:43:37 49417,67 get status data frame: 02020606F203
22.12.2010 13:43:37 49417,67 data frame verify successful...
22.12.2010 13:43:42 49422,38 Read from file 4 byte...
22.12.2010 13:43:42 49422,39 send command to verify: 0107130004000007FFDC03
22.12.2010 13:43:42 49422,41 read status command: 020106F903
22.12.2010 13:43:42 49422,41 send data frame: 0204019B5E010103 SentBytes = 8
22.12.2010 13:43:42 49422,44 get status data frame: 0202060FE903
22.12.2010 13:43:42 49422,44 data frame verify error...
22.12.2010 13:43:49 49429,22 Read from file 4 byte...
22.12.2010 13:43:49 49429,22 send command to verify: 0107130004000007FFDC03
22.12.2010 13:43:49 49429,25 read status command: 020106F903
22.12.2010 13:43:49 49429,25 send data frame: 02048000FFFF7E03 SentBytes = 8
22.12.2010 13:43:49 49429,27 get status data frame: 02020606F203
22.12.2010 13:43:49 49429,28 data frame verify successful...
22.12.2010 13:43:51 49431,69 send command to verify: 0107130004000007FFDC03
22.12.2010 13:43:51 49431,72 read status command: 020106F903
22.12.2010 13:43:51 49431,72 send data frame: 02048000FFFF7E03 SentBytes = 8
22.12.2010 13:43:51 49431,73 get status data frame: 02020606F203
22.12.2010 13:43:51 49431,73 data frame verify successful...
22.12.2010 13:43:51 49431,73 send command to verify: 0107130004000007FFDC03
22.12.2010 13:43:51 49431,77 read status command: 020106F903
22.12.2010 13:43:51 49431,77 send data frame: 0201807F17 SentBytes = 5
22.12.2010 13:43:51 49431,78 get status data frame: 02020606F203
22.12.2010 13:43:51 49431,78 send data frame: 020100FF17 SentBytes = 5
22.12.2010 13:43:51 49431,81 get status data frame: 02020606F203
22.12.2010 13:43:51 49431,81 send data frame: 0201FF0017 SentBytes = 5
22.12.2010 13:43:51 49431,84 get status data frame: 02020606F203
22.12.2010 13:43:51 49431,84 send data frame: 0201FF0003 SentBytes = 5
22.12.2010 13:43:51 49431,86 get status data frame: 0202060FE903
22.12.2010 13:43:51 49431,86 data frame verify error...
Лень писать комменты в логе, тот кто разбирается прекрасно все поймет - чип вначале полностью стирается, потом во всю память пишется 8 тестовых байт (они пишутся в первый блок), дальше идут попытки верификации заведомо правильными байтами: 1 байт, 2 байта, 3, 4, 5, 6, 8 - где 4 и 8 там успех, потом во второй блок пишутся других 4 байта и так же верифицируются правильными и неправильными значениями ну и напоследок прототип брута - вот тут очень интересный результат - если сразу верифицировать 4 байта - то все нормально , а если посылать побайтно правильные байты то в результате будет провал...
Ну и еще интересное - вспомнил как гонял батарейку по однобайтовым командам и решил так же пробить чип на недокументированные команды, в итоге нашлась пара таких команд A4h и 9Eh
21.12.2010 16:42:31 60151,97 send command: 0101A25D03
21.12.2010 16:42:32 60152,02 read status command: 020104FB03
21.12.2010 16:42:32 60152,02 send command: 0101A35C03
21.12.2010 16:42:32 60152,06 read status command: 020104FB03
21.12.2010 16:42:32 60152,06 send command: 0101A45B03
21.12.2010 16:42:32 60152,11 read status command: 020105FA03
21.12.2010 16:42:32 60152,11 send command: 0101A55A03
21.12.2010 16:42:32 60152,16 read status command: 020104FB03
21.12.2010 16:42:32 60152,16 send command: 0101A65903
21.12.2010 16:42:32 60152,2 read status command: 020104FB03
21.12.2010 16:42:32 60152,2 send command: 0101A75803
21.12.2010 16:42:32 60152,25 read status command: 020104FB03
21.12.2010 16:42:32 60152,25 send command: 0101A85703
21.12.2010 16:42:32 60152,3 read status command: 020104FB03
21.12.2010 16:42:32 60152,3 send command: 0101A95603
21.12.2010 16:42:32 60152,34 read status command: 020104FB03
21.12.2010 16:42:32 60152,34 send command: 0101AA5503
21.12.2010 16:42:32 60152,39 read status command: 020104FB03
21.12.2010 16:42:32 60152,39 send command: 0101AB5403
21.12.2010 16:42:32 60152,44 read status command: 020104FB03
21.12.2010 16:42:32 60152,44 send command: 0101AC5303
21.12.2010 16:42:32 60152,48 read status command: 020104FB03
21.12.2010 16:42:32 60152,48 send command: 0101AD5203
21.12.2010 16:42:32 60152,53 read status command: 020104FB03
21.12.2010 16:42:32 60152,53 send command: 0101AE5103
21.12.2010 16:42:32 60152,58 read status command: 020104FB03
21.12.2010 16:42:32 60152,58 send command: 0101AF5003
21.12.2010 16:42:32 60152,63 read status command: 020104FB03
21.12.2010 16:42:32 60152,63 send command: 0101B04F03
21.12.2010 16:42:32 60152,67 read status command: 020105FA03
21.12.2010 16:42:32 60152,67 send command: 0101B14E03
21.12.2010 16:42:32 60152,72 read status command: 020104FB03
21.12.2010 16:42:32 60152,72 send command: 0101B24D03
21.12.2010 16:42:32 60152,77 read status command: 020104FB03
ответ 020104FB03 говорит о том что команда не поддерживается (стр. 17 доки), а вот ответ 020105FA03 (для A4 и B0) говорит про ошибку передачи параметров, но признает что команда есть...
21.12.2010 16:16:51 58611,52 send command: 0101996603
21.12.2010 16:16:51 58611,55 read status command: 020104FB03
21.12.2010 16:16:51 58611,55 send command: 01019A6503
21.12.2010 16:16:51 58611,58 read status command: 020104FB03
21.12.2010 16:16:51 58611,59 send command: 01019B6403
21.12.2010 16:16:51 58611,61 read status command: 020104FB03
21.12.2010 16:16:51 58611,63 send command: 01019C6303
21.12.2010 16:16:51 58611,64 read status command: 020104FB03
21.12.2010 16:16:51 58611,66 send command: 01019D6203
21.12.2010 16:16:51 58611,69 read status command: 020104FB03
21.12.2010 16:16:51 58611,69 send command: 01019E6103
21.12.2010 16:16:51 58611,72 read status command: 020106F903
21.12.2010 16:16:51 58611,73 send command: 01019F6003
21.12.2010 16:16:53 58613,34 read status command:
но после этой команды чип клинит - дальше не хочет отвечать на посылы команд, скорее всего ждет передачи каких то данных...
Вот такие пироги :-(
ANDPSP, да... интересно было бы выяснить с какого чипа NECовцами система команд сдута была...
hax0r, а толку от этого? Нужно самим ковырять и искать дырку..не верю я в то что в NEC не существует дыры...просто её реально ни кто ещё не искал...
Кому-нибудь из присутствующих случайно не попадались книги по аппаратному взлому..?) Глупость, конечно, спросил, но все же вдруг..)
DARK-MAN-X
22.12.2010, 17:22
Сергей Скоробогатов
Книга по аппаратному взлому
Semi-invasive attacks – A new approach to hardware security analysis
(на английском языке)
144 стр., University of Cambridge, 2005
Книга представляет собой подробный разбор методов взлома микропроцессоров и смарт-карт. Отлично иллюстрирована.
Выложена автором в формате pdf (11.6 MB), распространяется свободно (http://www.cl.cam.ac.uk/TechReports/UCAM-CL-TR-630.pdf)
just google it
может и бесполезна однако это первач-вторая ссылка в гугле
DARK-MAN-X, спасибо, эту книгу тут уже выкладывали) Я думал может еще какие есть.. В Гугле ничего не нашел пока... Изучаю страницу Скоробогатова...
если уж говорить о доках от Скоробогатова, то про NEC в этой описано!
http://www.cl.cam.ac.uk/~sps32/ches2010-bumping.pdf
ну ковырять чип методом Скоробогатова ... дешевле будет поймать китайца ..набить ему морду ..дать денег и сказать что бы притащил прошивку :)
С английским не на ТЫ, но тут чуть ли не ренген чипа. Кстати, о ренгенах: может лучше взять лампу из низкого диапазона, приобрести необходимую оптику и просветить чип. С электрикой тоже не на ТЫ, но такой способ применял при поиске дефекта внутри деталей. Реально ли?
Boryan, тогда будем бить китайцев...
vBulletin® v3.8.7, Copyright ©2000-2025, vBulletin Solutions, Inc. Перевод: zCarot