реклама на сайте
подробности

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


Участник
*

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



Делаю девайс на lpc2124, прога почти готова макет уже пашет. А фирма заказчик не совсем "чиста на руку". Есть там паренек, который жаждет "слизать" девайс и получать прибыль за мой счет.
Суть проблемы:
Сколько не рылся в документации не могу найти защиты программы от считывания. Поэтому возникают
сл. вопросы:
1. Есть ли штатная защита и как ее включить.
2. Если нет, можно ли организовать программно.
3. Если нет, то аппаратно.

Буду благодарен за любые идеи по этим вопросам.

P.S.
Девайс возможно будет дорабатываться после испытаний, поэтому вариант обкусывания ножек, не совсем подходит.
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3  
Start new topic
Ответов (30 - 39)
GetSmart
сообщение Jul 14 2006, 14:23
Сообщение #31


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Я слышал, ботлоадер можно перешить через JTAG.

А как программить флэш без помощи IAP можно разобраться посмотрев ботлоадер. Я смотрел, всё легко и просто. Документируют или нет - их проблемы.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Harbour
сообщение Jul 14 2006, 14:24
Сообщение #32


Местами Гуру
*****

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



Цитата(KRS @ Jul 14 2006, 14:59) *
Цитата(Harbour @ Jul 14 2006, 15:35) *

для более -менее секьюрных вещей lpc лучше не применять. Есть инфа что флешка читается в не зависимости от содержимого бутлодера и справедливо это для всех ихних чипов.

А откуда такая инфа?

Мне пришол ответ от Philips что изучат проблему и к сентябрю выпутстят новый бутлоадер

Дык, причем же тут бутлодырь если он даже выполнятся не успевает, принцип снятия защиты состоит в приостановке в нужный момент главного клока. дальше думаю понятно.
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 14 2006, 14:33
Сообщение #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
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jul 14 2006, 15:03
Сообщение #34


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Да ладно!
Нет ничего невозможного. I think I can do it!
Только вот ботлоадер какой-то вымышленный.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 14 2006, 15:21
Сообщение #35


Профессионал
*****

Группа: Модераторы
Сообщений: 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ой командой
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 14 2006, 15:27
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jul 14 2006, 15:59
Сообщение #37


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(zltigo)
100% гарантию дает только страховой полис..
Но по крайней мере он будет явно тупее и в его кодах никто копаться не будет.

В страховом полисе? :-D

Сообщение отредактировал GetSmart - Jul 14 2006, 16:09


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Harbour
сообщение Jul 14 2006, 23:59
Сообщение #38


Местами Гуру
*****

Группа: 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 займет больше вермени...


У жтага свой клок, и он никак не связан с девайсом.
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 17 2006, 08:19
Сообщение #39


Профессионал
*****

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



Цитата(Harbour @ Jul 15 2006, 03:59) *
У жтага свой клок, и он никак не связан с девайсом.

Это не так, достаточно посмотреть
ARM7TDMI-S Technical Reference Manual
клоки должны быть синхронизированы.
Go to the top of the page
 
+Quote Post
KRS
сообщение Jul 17 2006, 09:23
Сообщение #40


Профессионал
*****

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



Покапался в бутлоадере для 2103
там бага исправлена! Филипс явно знает про ошибку, бутлоадер один в один практически, только одна функция исправлена, добавлена проверка.
Код конечно жуть, неоптимальный!
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 22:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01456 секунд с 7
ELECTRONIX ©2004-2016