|
|
  |
lpc2114/2124 Защита программы от считывания, "Сделайте одолжение, войдите в положение..." |
|
|
|
Jul 12 2006, 20:21
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Даю выдержку из ботлоадера LPC2138: Код 0x7FFFD000 E59FF018 LDR PC, [PC, #+24] ; [0x7FFFD020] =0x7FFFD1BC ................. 0x7FFFD1BC E59F0018 LDR R0, [PC, #+24] ; [0x7FFFD1DC] =SCCSPR (0xE01FC184) 0x7FFFD1C0 E51F1014 LDR R1, [PC, #-20] ; [0x7FFFD1B4] =0x1FC 0x7FFFD1C4 E5912000 LDR R2, [R1, #+0] 0x7FFFD1C8 E5802000 STR R2, [R0, #+0] 0x7FFFD1CC E51F2188 LDR R2, [PC, #-392] ; [0x7FFFD04C] =RAMEND (0x40007FFF) 0x7FFFD1D0 E242D01F SUB SP, R2, #0x1F 0x7FFFD1D4 E59FE004 LDR LR, [PC, #+4] ; [0x7FFFD1E0] =0x7FFFD3AB 0x7FFFD1D8 E12FFF1E BX LR Лично я обнаружил недокументированный регистр SCCSPR с адресом 0xE01FC184. Однако, что он делает пока не выяснил.
Сообщение отредактировал GetSmart - Jul 12 2006, 20:28
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Jul 12 2006, 21:14
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Оказывается он и в ПДФ-е (LPC213x User Manual(rev.01-24.06.2005).pdf) есть: Цитата Code Security/Debugging CSPR Code Security Protection Register RO 0 0xE01FC184 А об этой штуке кто-нить знает: Цитата Reset RSID Reset Source Identification Register R/W 0 0xE01FC180 Непонятны описания полей и всё остальное. У себя найти не могу.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Jul 12 2006, 21:53
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(GetSmart @ Jul 12 2006, 23:21)  Даю выдержку из ботлоадера LPC2138: Бутлоадеры у 213x и прочих разные. У прочих даже такой регистр не используется. Цитата А об этой штуке кто-нить знает:
Reset RSID Reset Source Identification Register R/W 0 0xE01FC180 Непонятны описания полей и всё остальное. У себя найти не могу. Ну полагаю RSIR Код RSIR Function Description Reset Value 0 POR Assertion of the POR signal sets this bit, and clears all of the other bits in this register. But if another Reset signal (e.g., External Reset) remains asserted after the POR signal is negated, then its bit is set. This bit is not affected by any of the other sources of Reset. see text 1 EXTR Assertion of the RESET signal sets this bit. Ths bit is cleared by POR, but is not affected by WDT or BOD reset. 2 WDTR This bit is set when the Watchdog Timer times out and the WDTRESET bit in the Watchdog Mode Register () is 1. It is cleared by any of the other sources of Reset. 3 BODR This bit is set when the 3.3V power falls below 2.6V. If the voltage continues to decline o the level at which POR is asserted (nominally 1V), this bit is cleared, but if the voltage comes back up without reaching that level, this bit remains 1. This bit is not affected by External Reset nor Watchdog Reset. 7:4 Reserved Reserved, user software should not write ones to reserved bits. 0 Ну и что здесь непонятного?
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 12 2006, 22:20
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Вот спасибо. А то я поиском не нашёл. Очепятки есть даже у буржуев. А как убедительно звучало: Цитата(zltigo) Подтверждаю - нету... Пока я выдержку не привёл. Есть он или его нету пока не ясно. В других ботлоадерах он может и в другом месте прописываться. У меня вот других процов нет и я сам проверить не могу. А то, что регистр бессмысленный это ну очень маловероятно. Применительно к процессорам с внешней памятью (не к 213х) должны быть ещё некоторые типы защиты. Например, выполнение из внешней флэш, или из внешней рамы, и может что ещё.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Jul 13 2006, 06:01
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(GetSmart @ Jul 13 2006, 01:20)  А как убедительно звучало: 0. А что? Регистр не документирован :-)? 1.Посмотрите на типы процессоров, о которых спрашивал автор. 2.Бутлоадеры для них (в отличие от 2x3x серии, или уже и их выложили? ) лежат на официальном сайте. Таким образом можете их поизучать и не имея чипа.... Я еще думал, а какого черта для 2x3x серии другие боотлоадеры замутили, теперь, видимо, получил ответ - завели регистр с временными воротами для блокировок JTAG и начали им пользоваться. 3.Для большинства "прочих" чипов прошивка "защищенного" боотлоадера вообще появилась много много позже выпуска "железа".
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 14 2006, 11:24
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Еще при исследовании бутлоадера я нашел уязвимость!! Проверил на 2 чипах LPC2129 версия 1.63 и LPC2119 версия 1.64. На LPC2103 версия 2.2 не работает (возможно, другое распределение памяти), я не разбирался. В общем сегодня, послыкой определнной строки мне удалось отключить защиту и считать flash Послал письмо инеженру Филипс, который был на семинаре у нас в прошлом году. Может быть у них есть новые версии бутлоадера. Хотя можно и этот исправить
|
|
|
|
|
Jul 14 2006, 13:06
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(KRS) В общем сегодня, послыкой определнной строки мне удалось отключить защиту и считать flash Круто! Я так и знал, что что-то там не в порядке. Халтурщики же они. Делают очень дешёвые и средне глючные чипы. Но именно дешевизна и прильщает при такой огромной производительности.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Jul 14 2006, 14:01
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(GetSmart @ Jul 14 2006, 17:06)  Цитата(KRS) В общем сегодня, послыкой определнной строки мне удалось отключить защиту и считать flash Круто! Я так и знал, что что-то там не в порядке. Халтурщики же они. Делают очень дешёвые и средне глючные чипы. Но именно дешевизна и прильщает при такой огромной производительности. Да чипы у них действительно быстрые и дешевые, да и появляются часто раньше конкурентов. У меня сейчас в 2 проектах LPC2103 он вообще 3 бакса стоит Кстати вот на следующей неделе попробую покапаться в его бутлоадере. А то у меня возникли сомнения что защита у них лучше, просто в даташите громко названо Code Read Protection, а реализация мне кажется такая же.
|
|
|
|
|
Jul 14 2006, 14:13
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(GetSmart @ Jul 14 2006, 18:07)  zltigo правильно сказал - надо писать свои ботлоадеры для надёжной защиты. Хотя, надёжна ли она будет на 100%? У LPC работа с FLASH не документирована, только через IAP, а IAP вместе бутлоадером и записывается, причем насколько я знаю через IAP нельзя переписать сектор в котором она же и находится. Бутлоадер можно конечно переписать и даже улучшить, написан он кстати кривовато, и явно на С. Но вот записать его во FLASH стандартными средствами не удастся. Кстати сам бутлоадер вызыват IAP причем тем способом который описан в даташите, напрмую функции не дергает.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|