Полная версия этой страницы:
Как "допрошить" Филипс?
SanyaKID
Aug 21 2007, 08:10
Есть прошитый LPC2131. В определенных местах в прошивке оставлены 0xFF. Есть HEX где в этих определенных местах вместо 0xFF нужные данные. Так вот с помощью чего можно "допрошить" второй HEX?
В PSDsoft Express для 51 процов была опция конкатенации. А вот LPC2000 FLASH Utility нету. Он перед прошиванием потирает всю FLASH
Программой hex2bin.exe преобразуешь программу в двоичный файл.
Hex редактором изменяешь в нём содержимое.
Программой bin2hex.exe преобразуешь двоичный файл в hex-файл.
Через Jtag или RS232 зашиваешь hex-файл в процессор и наслаждаешься результатом.
Указанные программы свободно лежат в интернете.
SanyaKID
Aug 21 2007, 11:46
Не, это то все понятно. Надо именно чтобы сначала прошить один HEX а потом поверх него другой.
Alexey Bishletov
Aug 21 2007, 11:59
Так "объедини" их до прошивки, а потом прошивай уже объединенный.
SanyaKID
Aug 21 2007, 12:09
Цитата(Alexey Bishletov @ Aug 21 2007, 15:59)

Так "объедини" их до прошивки, а потом прошивай уже объединенный.

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

Такое сделать нереально из-за аппаратных особенностей флэша LPC-шек. У них флэш разбита на 128 битные блоки, у которых есть общие биты коррекции ошибок. В самом лучшем случае получится допрошивать блок целиком (если ни один его бит ещё не был нулём).
Тоесть бит у меня терялся из-за такой организации памяти ?
А где можно почитать про эти 128 битные блоки ?
GetSmart
Aug 21 2007, 17:29
Еле нашёл. Вобщем читайте файл:
user.manual.lpc2131.lpc2132.lpc2134.lpc2136.lpc2138.pdf (5 435 KB)
Страница 243
И ещё тута где-то тема была с похожей проблемой. Попробуйте поискать вручную в разделе про АРМы.
SanyaKID
Aug 22 2007, 08:37
Почитал, изучил, попробовал... Вообщем буду дописывать блоками по 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 байта сектора записывать точно нельзя...
Кстати, теперь встал вопрос, а можно ли все-таки каким-то образом считать данные при включенной защите от чтения ?
GetSmart
Aug 22 2007, 08:51
Цитата
Я ковырялся с Code Read Protrection и у меня получилось дописывать 4 байта в конец 16 байтового сектора.
Если в остальных 12 байтах (addr=1F0h..1FBh) были 0xff, то без проблем.
Цитата
Кстати, теперь встал вопрос, а можно ли все-таки каким-то образом считать данные при включенной защите от чтения ?
Мне вот тоже интересно...
SanyaKID
Aug 22 2007, 09:11
В том то и дело, что в остальных байтах было чтото типа 0x44,0x55,0x77,0x66,0x99,0x88,0x00,0x11,0x22,0x33,0x44,0x55
Я точно непомню, но такая билеберда. Сам руками туда загонял для проверки.
А насчет защиты чтения наверно надо топик новый создать...
zltigo
Aug 22 2007, 09:30
Цитата(SanyaKID @ Aug 22 2007, 12:11)

А насчет защиты чтения наверно надо топик новый создать...
Незачем. Ответов не будет.
SanyaKID
Aug 22 2007, 09:46
Цитата(zltigo @ Aug 22 2007, 13:30)

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

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

Спасибо. Поискал, почитал... Но чето так и не понял.... Там идет разговор про баг и какието недокументированный регистр, но непонятно исправлен ли щас этот баг и позволяет ли этот регистр считать флешь ?
В новых версиях бутлоадеров исправлен! Через бутлоадер защищенный флешь не считать. Если только в пользовательской программе есть дыра, которая или jtag разрешает или вообще позволяет флешь считать.
SanyaKID
Aug 22 2007, 12:51
Все, теперь уяснил! Спасибо!
GetSmart
Aug 22 2007, 13:00
Ага

Пока неясно что делает пин P0.31 (у LPC213x и др.) и почему он отличается от остальных, пытаться что-то защищать по-моему смешно. Хотя, кто знает... Может у меня паранойя
zltigo
Aug 22 2007, 19:24
Цитата(GetSmart @ Aug 22 2007, 16:00)

Пока неясно что делает пин P0.31 (у LPC213x и др.) и почему он отличается от остальных
Жуть, все еще хуже - там еще куча пинов, которые на первый взгляд вообще не отличаются друг от друга, но возможно делают что-то страшное

.
GetSmart
Aug 22 2007, 19:34
Ну этот-то точно делает!!!
Его потому и запретили использовать входом чтобы на нём сигнал не менялся при сбросе. И ведь подашь на него чуть не то и пол кристалла вырубится

Или как они это называют - непредсказуемое поведение. А я вот чую, всё там предсказуемое, тока это тайна фирмы. Лазейка, так сказать.
SanyaKID
Aug 23 2007, 06:15
А вообще я думаю так: закрывай - не закрывай флешу все-равно те, кому очень нужно, ее прочитают. Либо умельцы в каком-нибуть митино либо умные дядьки в пагонах. Надежний всего чип залить чем-нибуть, да так чтоб потом его достать не повредив нереально было.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.