|
lpc2114/2124 Защита программы от считывания, "Сделайте одолжение, войдите в положение..." |
|
|
|
Jul 12 2006, 05:42
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 28-01-06
Пользователь №: 13 706

|
Делаю девайс на lpc2124, прога почти готова макет уже пашет. А фирма заказчик не совсем "чиста на руку". Есть там паренек, который жаждет "слизать" девайс и получать прибыль за мой счет. Суть проблемы: Сколько не рылся в документации не могу найти защиты программы от считывания. Поэтому возникают сл. вопросы: 1. Есть ли штатная защита и как ее включить. 2. Если нет, можно ли организовать программно. 3. Если нет, то аппаратно.
Буду благодарен за любые идеи по этим вопросам.
P.S. Девайс возможно будет дорабатываться после испытаний, поэтому вариант обкусывания ножек, не совсем подходит.
|
|
|
|
|
 |
Ответов
|
Jul 12 2006, 07:00
|
Участник

Группа: Новичок
Сообщений: 22
Регистрация: 28-01-06
Пользователь №: 13 706

|
Цитата(zltigo @ Jul 12 2006, 09:45)  Цитата(electroveni @ Jul 12 2006, 09:40)  а может в той документации которая у меня это не указано(у меня ведь далеко не вся).
У же в user manual (полагаю, что есть :-) )сие упомянуто черным по белому. Код 20.7 Code Read Protection (CRP) Code read protection is enabled by programming the flash address location 0x1FC (User flash sector 0) with value 0x8765 4321 (2271560481 Decimal). Address 0x1FC is used to allow some room for the fiq exception handler. When the code read protection is enabled the JTAG debug port, external memory boot and the following ISP commands are disabled: • Read Memory • Write to RAM • Go • Copy RAM to Flash The ISP commands mentioned above terminate with return code CODE_READ_PROTECTION_ENABLED. The ISP erase command only allows erasure of all user sectors when the code read protection is enabled. This limitation does not exist if the code read protection is not enabled. IAP commands are not affected by the code read protection. Important: CRP is active/inactive once the device has gone through a power cycle. Вы правы, простите проглядел. :-( Как я понял, по адресу 0x1FC во флеш нужно записать число 0x8765 4321. Простите за назойливость, а как это правильно сделать? Например в начале до main написать const unsigned long ... =0x8765 4321. А как указать компилятору что константу записать по адресу 0x1FC?
Сообщение отредактировал electroveni - Jul 12 2006, 07:05
|
|
|
|
|
Jul 12 2006, 07:05
|

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

|
Цитата(electroveni @ Jul 12 2006, 10:00)  Простите за назойливость, а как это правильно сделать? Разместить именно это число именно по этому адресу. Один из вариантов приводился выше. Либо что-то типа: Код ORG 0x1FC dc32 0 // Protect Label place - protect if 0x87654321 в startup.s79
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
electroveni lpc2114/2124 Защита программы от считывания Jul 12 2006, 05:42 zltigo Цитата(electroveni @ Jul 12 2006, 08:42) ... Jul 12 2006, 06:01 Alechek Цитата(zltigo @ Jul 12 2006, 12:01) Конеч... Jul 12 2006, 06:23  zltigo Цитата(Alechek @ Jul 12 2006, 09:23) Цита... Jul 12 2006, 06:30 vesago Если в Кейле
Код#pragma NOINIT
con... Jul 12 2006, 06:29 electroveni "Ну зачем-же обанывать на счет "рылся... Jul 12 2006, 06:40 zltigo Цитата(electroveni @ Jul 12 2006, 09:40) ... Jul 12 2006, 06:45 electroveni Вот спасибо ОГРОМНОЕ всем!!!
Буду пр... Jul 12 2006, 07:09 KRS На самом деле это не аппаратная защита просто бутл... Jul 12 2006, 07:28 electroveni Получилось!!! Получилось!!... Jul 12 2006, 08:44 GetSmart На самом деле есть такой потайной регистр в LPC-шк... Jul 12 2006, 09:56 KRS Цитата(GetSmart @ Jul 12 2006, 13:56) На ... Jul 12 2006, 10:06  zltigo Цитата(KRS @ Jul 12 2006, 13:06) Да нет т... Jul 12 2006, 10:21 GetSmart Даю выдержку из ботлоадера LPC2138:
Код 0x7FFFD000... Jul 12 2006, 20:21 zltigo Цитата(GetSmart @ Jul 12 2006, 23:21) Даю... Jul 12 2006, 21:53 goodwin Круто - недокументированный регистр "SCCSPR... Jul 12 2006, 20:54 GetSmart Оказывается он и в ПДФ-е (LPC213x User Manual(rev.... Jul 12 2006, 21:14 GetSmart Вот спасибо. А то я поиском не нашёл. Очепятки ест... Jul 12 2006, 22:20 zltigo Цитата(GetSmart @ Jul 13 2006, 01:20) А к... Jul 13 2006, 06:01 KRS А я еще нашел в бутлоадере 211x 212x недокументиро... Jul 13 2006, 08:30 KRS Еще при исследовании бутлоадера я нашел уязвимость... Jul 14 2006, 11:24 Harbour для более -менее секьюрных вещей lpc лучше не прим... Jul 14 2006, 11:35 zltigo ЦитатаВ общем сегодня, послыкой определнной строки... Jul 14 2006, 11:54 KRS Цитата(Harbour @ Jul 14 2006, 15:35) для ... Jul 14 2006, 11:59  Harbour Цитата(KRS @ Jul 14 2006, 14:59) Цитата(H... Jul 14 2006, 14:24   KRS Цитата(Harbour @ Jul 14 2006, 18:24) Дык,... Jul 14 2006, 14:33    Harbour Цитата(KRS @ Jul 14 2006, 17:33) Цитата(H... Jul 14 2006, 23:59     KRS Цитата(Harbour @ Jul 15 2006, 03:59) У жт... Jul 17 2006, 08:19 GetSmart Цитата(KRS)В общем сегодня, послыкой определнной с... Jul 14 2006, 13:06 KRS Цитата(GetSmart @ Jul 14 2006, 17:06) Цит... Jul 14 2006, 14:01 GetSmart zltigo правильно сказал - надо писать свои ботлоа... Jul 14 2006, 14:07 KRS Цитата(GetSmart @ Jul 14 2006, 18:07) zlt... Jul 14 2006, 14:13  zltigo Цитата(GetSmart @ Jul 14 2006, 18:07) Хот... Jul 14 2006, 15:27 GetSmart Я слышал, ботлоадер можно перешить через JTAG.
А ... Jul 14 2006, 14:23 GetSmart Да ладно!
Нет ничего невозможного. I think I c... Jul 14 2006, 15:03 KRS Цитата(GetSmart @ Jul 14 2006, 19:03) Да ... Jul 14 2006, 15:21 GetSmart Цитата(zltigo)100% гарантию дает только страховой ... Jul 14 2006, 15:59 KRS Покапался в бутлоадере для 2103
там бага исправлен... Jul 17 2006, 09:23
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|