Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как "допрошить" Филипс?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
SanyaKID
Есть прошитый LPC2131. В определенных местах в прошивке оставлены 0xFF. Есть HEX где в этих определенных местах вместо 0xFF нужные данные. Так вот с помощью чего можно "допрошить" второй HEX?

В PSDsoft Express для 51 процов была опция конкатенации. А вот LPC2000 FLASH Utility нету. Он перед прошиванием потирает всю FLASH sad.gif
etoja
Программой hex2bin.exe преобразуешь программу в двоичный файл.
Hex редактором изменяешь в нём содержимое.
Программой bin2hex.exe преобразуешь двоичный файл в hex-файл.
Через Jtag или RS232 зашиваешь hex-файл в процессор и наслаждаешься результатом.
Указанные программы свободно лежат в интернете.
SanyaKID
Не, это то все понятно. Надо именно чтобы сначала прошить один HEX а потом поверх него другой.
Alexey Bishletov
Так "объедини" их до прошивки, а потом прошивай уже объединенный.
SanyaKID
Цитата(Alexey Bishletov @ Aug 21 2007, 15:59) *
Так "объедини" их до прошивки, а потом прошивай уже объединенный.

smile.gif Да не пойдет так. Смысл в том, что ,допустим, есть прошивка для криптопроцессора. На месте ключей там 0хFF. Прошивка зашивается на производстве, а ключи потом дошиваются в другом месте.


Я вообщемто поискал по форуму и по инету и нашел прогу - Flash Magic. Она прошивает через COM, умеет "допрошивать" однако почемуто при "допрошивке" глотает биты. Пробовал 3 раза, всевремя вместо 0x2B получается 0x0B.
Думаю попробовать H-JTAG, однако для этого надо намутить прошиватель...
GetSmart
Такое сделать нереально из-за аппаратных особенностей флэша LPC-шек. У них флэш разбита на 128 битные блоки, у которых есть общие биты коррекции ошибок. В самом лучшем случае получится допрошивать блок целиком (если ни один его бит ещё не был нулём).
SanyaKID
Цитата(GetSmart @ Aug 21 2007, 16:42) *
Такое сделать нереально из-за аппаратных особенностей флэша LPC-шек. У них флэш разбита на 128 битные блоки, у которых есть общие биты коррекции ошибок. В самом лучшем случае получится допрошивать блок целиком (если ни один его бит ещё не был нулём).


Тоесть бит у меня терялся из-за такой организации памяти ?
А где можно почитать про эти 128 битные блоки ?
GetSmart
Еле нашёл. Вобщем читайте файл:
user.manual.lpc2131.lpc2132.lpc2134.lpc2136.lpc2138.pdf (5 435 KB)
Страница 243

И ещё тута где-то тема была с похожей проблемой. Попробуйте поискать вручную в разделе про АРМы.
SanyaKID
Почитал, изучил, попробовал... Вообщем буду дописывать блоками по 16 байт, а числа не кратные 16 байтам дополнять 0xFF.

Не очень понятна фраза
"Therefore, for the implemented ECC mechanism to perform properly, data must be written
into the Flash memory in groups of 16 bytes (or multiples of 4), aligned as described
above."

А именно or multiples of 4. Я ковырялся с Code Read Protrection и у меня получилось дописывать 4 байта в конец 16 байтового сектора. Но я не уверен что это можно везде, и вообще что это можно делать. Вполне возможно что ECC совпал. В первые 4 байта сектора записывать точно нельзя...

Кстати, теперь встал вопрос, а можно ли все-таки каким-то образом считать данные при включенной защите от чтения ? smile.gif
GetSmart
Цитата
Я ковырялся с Code Read Protrection и у меня получилось дописывать 4 байта в конец 16 байтового сектора.
Если в остальных 12 байтах (addr=1F0h..1FBh) были 0xff, то без проблем.

Цитата
Кстати, теперь встал вопрос, а можно ли все-таки каким-то образом считать данные при включенной защите от чтения ?
Мне вот тоже интересно...
SanyaKID
В том то и дело, что в остальных байтах было чтото типа 0x44,0x55,0x77,0x66,0x99,0x88,0x00,0x11,0x22,0x33,0x44,0x55
Я точно непомню, но такая билеберда. Сам руками туда загонял для проверки.

А насчет защиты чтения наверно надо топик новый создать...
zltigo
Цитата(SanyaKID @ Aug 22 2007, 12:11) *
А насчет защиты чтения наверно надо топик новый создать...

Незачем. Ответов не будет.
SanyaKID
Цитата(zltigo @ Aug 22 2007, 13:30) *
Незачем. Ответов не будет.

Кто незнает не ответит, а кто знает, тот не скажет ? Это уже из разряда секретов хаккеров и спецслужб ? smile.gif
GetSmart
Были уже топики с похожими темами. И с косяками ботлоадеров, приводящих к взлому. Просто поисчите получше.
SanyaKID
Цитата(GetSmart @ Aug 22 2007, 13:54) *
Были уже топики с похожими темами. И с косяками ботлоадеров, приводящих к взлому. Просто поисчите получше.

Спасибо. Поискал, почитал... Но чето так и не понял.... Там идет разговор про баг и какието недокументированный регистр, но непонятно исправлен ли щас этот баг и позволяет ли этот регистр считать флешь ?
KRS
Цитата(SanyaKID @ Aug 22 2007, 15:06) *
Спасибо. Поискал, почитал... Но чето так и не понял.... Там идет разговор про баг и какието недокументированный регистр, но непонятно исправлен ли щас этот баг и позволяет ли этот регистр считать флешь ?

В новых версиях бутлоадеров исправлен! Через бутлоадер защищенный флешь не считать. Если только в пользовательской программе есть дыра, которая или jtag разрешает или вообще позволяет флешь считать.
SanyaKID
Все, теперь уяснил! Спасибо!
GetSmart
Ага smile.gif
Пока неясно что делает пин P0.31 (у LPC213x и др.) и почему он отличается от остальных, пытаться что-то защищать по-моему смешно. Хотя, кто знает... Может у меня паранойя smile.gif
zltigo
Цитата(GetSmart @ Aug 22 2007, 16:00) *
Пока неясно что делает пин P0.31 (у LPC213x и др.) и почему он отличается от остальных

Жуть, все еще хуже - там еще куча пинов, которые на первый взгляд вообще не отличаются друг от друга, но возможно делают что-то страшное smile.gif smile.gif smile.gif smile.gif.
GetSmart
Ну этот-то точно делает!!!
Его потому и запретили использовать входом чтобы на нём сигнал не менялся при сбросе. И ведь подашь на него чуть не то и пол кристалла вырубится smile.gif
Или как они это называют - непредсказуемое поведение. А я вот чую, всё там предсказуемое, тока это тайна фирмы. Лазейка, так сказать.
SanyaKID
А вообще я думаю так: закрывай - не закрывай флешу все-равно те, кому очень нужно, ее прочитают. Либо умельцы в каком-нибуть митино либо умные дядьки в пагонах. Надежний всего чип залить чем-нибуть, да так чтоб потом его достать не повредив нереально было.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.