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

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> Защита для прошивки
Alex@ndr
сообщение Dec 27 2006, 00:00
Сообщение #46


Участник
*

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



Цитата(ahulap @ Dec 26 2006, 21:30) *
Но ведь прошивка открыта и посмотреть в ней таблицу соответствий или формулу вычисления ответного числа особого труда не составит. ?

Так если поставить защиту кодом + защиту по калибровочной константе + проверку контрольной суммы(чтоб прошивку труднее править было) +ещё чё нибудь придумать, это сколько головной боли будет у того кто захочет такую программу ломать.
Думаю будет проще написать собственную программу, чем с такою разбиратся.
Только надо ещё чтоб реализация всего этого была достаточно простой, ато защита программы получится сложнее самой программы.
Go to the top of the page
 
+Quote Post
bodja74
сообщение Dec 27 2006, 01:12
Сообщение #47


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Цитата(ahulap @ Dec 26 2006, 22:30) *
Но ведь прошивка открыта и посмотреть в ней таблицу соответствий или формулу вычисления ответного числа особого труда не составит. ?

Ну так говорили уже,ответ может давать ПК.Будете рыться там ?
Без дескрипторов ,прошивка -просто набор байтов.
Дескриптор и есть сама формула и таблиц никаких не нужно.
Дескриптор прошивки знает только владелец,так что в любом случае прийдется покупать.
А дескриптор ключа - поможет ограничить количество копирований,при случайном числе,дескриптор всегда разный.
При проверке фузов ,можно вообще застопорить выполнение каждой функции,а при записи прийдется повести долгие и приятные часы на очень хорошем симуляторе.

Цитата
Насколько я ничего не понимаю в английском, это значит что всётаки можно прочитать фьюзы и локи самим контроллером!!!Только как, для меня пока остаётся загадкой...

Мдя,или в старых даташитах ничего не сказано или я опять прохлопал.

Могу обрадовать ,можно не только прочитать но и записать.

Порядок насколько понял такой.
Заносим в R0 следующее значение
7 6 5 4 3 2 1 0
1 1 BLB12 BLB11 BLB02 BLB01 1 1

Записываем в SPMCR “X0001001”
После чего в течении 4 тактов нужно подать команду SPM ,желательно при этом шаманстве отключить все прерывания.
Проверка конца записи идет чтением фузов.
Далее идут рекомендации для совместимости кода с другими камнями,но это не актуально.

Теперь чтение

Загружаем вектор в регистр Z=$0001 ,
потом устанавливаем биты BLBSET и SPMEN регистра SPMCR,
далее в течение трех тактов подать LPM
Проверка конца чтения по сбросу битов BLBSET и SPMEN
Go to the top of the page
 
+Quote Post
fate
сообщение Dec 27 2006, 04:57
Сообщение #48


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 12-01-05
Пользователь №: 1 915



Цитата(ahulap @ Dec 26 2006, 22:30) *
Но ведь прошивка открыта и посмотреть в ней таблицу соответствий или формулу вычисления ответного числа особого труда не составит. ?


Это не правильно, я ведь ранее писал что загрузчик вполне может закрыть прошивку от чтения запрограмировав биты LB1 LB2
Go to the top of the page
 
+Quote Post
arttab
сообщение Dec 27 2006, 05:54
Сообщение #49


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

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



если загрузщик (код) доступен потребителю, то всё.... Защита не поможет. надо именно поставлять мк с закрузщиком и залочеными битами


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
dch
сообщение Dec 27 2006, 06:06
Сообщение #50


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

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



Цитата(prottoss @ Dec 23 2006, 16:28) *
Вы сами то пробовали дизассемблировать win32 приложение?

Почему, недавно видел проект, операционная система бинарно совместимая с Win, в исходных текстах. Драйвера от производителей железа там свободно пускаются. Причем 10 лет ей и разработчики вроде русские. Вопрос цены. Некоторые ничего вообще не умеют делать
Go to the top of the page
 
+Quote Post
dch
сообщение Dec 27 2006, 06:27
Сообщение #51


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

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



А прошивка как прошивается в target? Может програмку в PC поправить, тогда с легкостью можно получить доступ к lock битам, калибровочным константам и вообще прописать во flash дельту к прошивке. Я например использовал такую схему для прошивки - на targete стоит COM порт, есть jumper-ы которые перекидывают RXD,TXD на линии используемы для последовательной прошивки. При этом для прошивки используется обычный COM портовый кабель, утилита прошивки uisp есть в исходных текстах. Защиту можно наращивать бесредельно :-)
Go to the top of the page
 
+Quote Post
add
сообщение Dec 27 2006, 10:07
Сообщение #52


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Делаем девайсину на контроллере залоченую, которая позволит один раз прошить(ну может два раза) контроллер заказчика и залочит его. При таком подходе стороннему программисту будет предоставлена минимальная возможность "снять" программу с линии spi(сведет к минимуму танцы с бубном и пляски..). т.е. можно конечно эмулировать контроллер и т.д. Можно прошить в контроллер прогу тест, которая ответит девайсу- программатору кодом по тому же спи, и уже в случае "положительного" ответа сразу шить основную прогу (+прошитая прога может проверить Ваш ли программатор ее прошил, иначе сотрет себя нафиг..). Это тоже конечно можно сэмулировать, но уже сложнее.
зы:вообще если уж настолько заказчик пускает слюни на Вашу прогу, ну поставте условие: поднимите цену за свободное распостронение, ограничте время работы прошивки и т. д.


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
ahulap
сообщение Dec 27 2006, 10:56
Сообщение #53


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 22-06-06
Из: Kharkiv, UA
Пользователь №: 18 284



Цитата(Alex@ndr @ Dec 26 2006, 23:00) *
Так если поставить защиту кодом + защиту по калибровочной константе + проверку контрольной суммы(чтоб прошивку труднее править было) +ещё чё нибудь придумать, это сколько головной боли будет у того кто захочет такую программу ломать.
Думаю будет проще написать собственную программу, чем с такою разбиратся.
Только надо ещё чтоб реализация всего этого была достаточно простой, ато защита программы получится сложнее самой программы.

Я понял, идея такова: при первом запуске контроллер себя лочит и генерирует случайный код. Заказчик сообщает этот код автору, тот дает ответный. Заказчик вводит этот код, устройство проверяет его и работает или нет.
Сам код будет закрыт, но ведь в самой прошивке можно найти место, где он проверятся (вычисление "правильного" ответа и сравнение его с введенным), и определить формулу. ничего ломать не надо.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 27 2006, 12:26
Сообщение #54


Гуру
******

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



Цитата(ahulap @ Dec 27 2006, 09:56) *
Я понял, идея такова: при первом запуске контроллер себя лочит и генерирует случайный код.

Не "код" а открытый ключ для шифрования - отличие радикальное. Что правда не мешает ломать загрузчик на предмет НЕ установки защиты sad.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Alex@ndr
сообщение Dec 28 2006, 23:44
Сообщение #55


Участник
*

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



Спасибо за ответы, но мож кто пример программы подкинет, как эти самые локи считать?
И ещё, неохота с загрузчиком связыватся, может можно произвести чтение фьюзов или локов из основной программы?
Go to the top of the page
 
+Quote Post
PWS
сообщение Jan 17 2007, 21:42
Сообщение #56





Группа: Новичок
Сообщений: 1
Регистрация: 17-01-07
Пользователь №: 24 524



Если у Вас и заказчика "выделенка" и у заказчика есть программатор, то попробуйте использовать "Remote Administrator (Radmin) 2.2", правда в этом случае заказчик должен Вам дать права администратора на один из своих компьютеров.
Go to the top of the page
 
+Quote Post
Семён
сообщение Jan 18 2007, 10:49
Сообщение #57


Частый гость
**

Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922



Цитата(Alex@ndr @ Dec 28 2006, 23:44) *
Спасибо за ответы, но мож кто пример программы подкинет, как эти самые локи считать?
И ещё, неохота с загрузчиком связыватся, может можно произвести чтение фьюзов или локов из основной программы?

Могу предложить Вам аппартный программатор на любое количество записей. Когда Вам вернут программатор Вы по новому сможите задать количество записей и использовать его практически неограниченное число раз.


--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 13:34
Рейтинг@Mail.ru


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