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

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

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

Местами Гуру
    
Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323

|
Цитата(KRS @ Jul 14 2006, 14:59)  Цитата(Harbour @ Jul 14 2006, 15:35)  для более -менее секьюрных вещей lpc лучше не применять. Есть инфа что флешка читается в не зависимости от содержимого бутлодера и справедливо это для всех ихних чипов.
А откуда такая инфа? Мне пришол ответ от Philips что изучат проблему и к сентябрю выпутстят новый бутлоадер Дык, причем же тут бутлодырь если он даже выполнятся не успевает, принцип снятия защиты состоит в приостановке в нужный момент главного клока. дальше думаю понятно.
|
|
|
|
|
Jul 14 2006, 14:33
|

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

|
Цитата(Harbour @ Jul 14 2006, 18:24)  Дык, причем же тут бутлодырь если он даже выполнятся не успевает, принцип снятия защиты состоит в приостановке в нужный момент главного клока. дальше думаю понятно. Так если клок остановить клок JTAG тоже остановится. А так не успеть остановить чип!! вот начало бутлоадера, никаих переходов первые команды отключают JTAG надо успеть остановить чип до выполнения 3 команды! насколько я понимаю это невозможно! Ноги DBG_BREAK у филипса нет, а посылка по JTAG займет больше вермени... Код intvect:00000000 LDR R2, =0xE002C014 intvect:00000004 MOV R3, #0 intvect:00000008 SWP R0, R3, [R2]
Сообщение отредактировал KRS - Jul 14 2006, 14:52
|
|
|
|
|
Jul 14 2006, 15:21
|

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

|
Цитата(GetSmart @ Jul 14 2006, 19:03)  Да ладно! Нет ничего невозможного. I think I can do it! Только вот ботлоадер какой-то вымышленный. Не вымышленный это из версии 1.63 для LPC2129 кстати 1.64 так же начинается а вот у LPC2103 начало немного другое Код 00000000 E59F4034 LDR R4, [PC, #+52] 00000004 E3A05002 MOV R5, #0x2 00000008 E5845000 STR R5, [R4, #+0] 0000000C E3A05003 MOV R5, #0x3 00000010 E5845004 STR R5, [R4, #+4] 00000014 E59F201C LDR R2, [PC, #+28] ; [0x38] =0xE002C014 00000018 E3A03000 MOV R3, #0x0 0000001C E1020093 SWP R0, R3, [R2] 00000020 E2822028 ADD R2, R2, #0x28 00000024 E1021093 SWP R1, R3, [R2] JTAG отрубается 10ой командой
|
|
|
|
|
Jul 14 2006, 15:27
|

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

|
Цитата(GetSmart @ Jul 14 2006, 18:07)  Хотя, надёжна ли она будет на 100%? 100% гарантию дает только страховой полис.. Но по крайней мере он будет явно тупее и в его кодах никто копаться не будет. Цитата(KRS @ Jul 14 2006, 17:13)  У LPC работа с FLASH не документирована, только через IAP, а IAP вместе бутлоадером и записывается, причем насколько я знаю через IAP нельзя переписать сектор в котором она же и находится. А достаточно легкого патча для перехода на свой bootloader после первых "правильных" команд. IAP останется. В самой прошивалке ничего страшного нет, но недокументированность работы с FLASH навевает мысли на возможность смены его производителем в любой момент и соответственно возникновению ненужных проблем с очередным чипом или даже партией. Завшивка или через JTAG или просто ручками подправить в штатной boot обновлялке.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 14 2006, 23:59
|

Местами Гуру
    
Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323

|
Цитата(KRS @ Jul 14 2006, 17:33)  Цитата(Harbour @ Jul 14 2006, 18:24)  Дык, причем же тут бутлодырь если он даже выполнятся не успевает, принцип снятия защиты состоит в приостановке в нужный момент главного клока. дальше думаю понятно.
Так если клок остановить клок JTAG тоже остановится. А так не успеть остановить чип!! вот начало бутлоадера, никаих переходов первые команды отключают JTAG надо успеть остановить чип до выполнения 3 команды! насколько я понимаю это невозможно! Ноги DBG_BREAK у филипса нет, а посылка по JTAG займет больше вермени... У жтага свой клок, и он никак не связан с девайсом.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|