Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Защита для прошивки
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2
dch
А прошивка как прошивается в target? Может програмку в PC поправить, тогда с легкостью можно получить доступ к lock битам, калибровочным константам и вообще прописать во flash дельту к прошивке. Я например использовал такую схему для прошивки - на targete стоит COM порт, есть jumper-ы которые перекидывают RXD,TXD на линии используемы для последовательной прошивки. При этом для прошивки используется обычный COM портовый кабель, утилита прошивки uisp есть в исходных текстах. Защиту можно наращивать бесредельно :-)
add
Делаем девайсину на контроллере залоченую, которая позволит один раз прошить(ну может два раза) контроллер заказчика и залочит его. При таком подходе стороннему программисту будет предоставлена минимальная возможность "снять" программу с линии spi(сведет к минимуму танцы с бубном и пляски..). т.е. можно конечно эмулировать контроллер и т.д. Можно прошить в контроллер прогу тест, которая ответит девайсу- программатору кодом по тому же спи, и уже в случае "положительного" ответа сразу шить основную прогу (+прошитая прога может проверить Ваш ли программатор ее прошил, иначе сотрет себя нафиг..). Это тоже конечно можно сэмулировать, но уже сложнее.
зы:вообще если уж настолько заказчик пускает слюни на Вашу прогу, ну поставте условие: поднимите цену за свободное распостронение, ограничте время работы прошивки и т. д.
ahulap
Цитата(Alex@ndr @ Dec 26 2006, 23:00) *
Так если поставить защиту кодом + защиту по калибровочной константе + проверку контрольной суммы(чтоб прошивку труднее править было) +ещё чё нибудь придумать, это сколько головной боли будет у того кто захочет такую программу ломать.
Думаю будет проще написать собственную программу, чем с такою разбиратся.
Только надо ещё чтоб реализация всего этого была достаточно простой, ато защита программы получится сложнее самой программы.

Я понял, идея такова: при первом запуске контроллер себя лочит и генерирует случайный код. Заказчик сообщает этот код автору, тот дает ответный. Заказчик вводит этот код, устройство проверяет его и работает или нет.
Сам код будет закрыт, но ведь в самой прошивке можно найти место, где он проверятся (вычисление "правильного" ответа и сравнение его с введенным), и определить формулу. ничего ломать не надо.
zltigo
Цитата(ahulap @ Dec 27 2006, 09:56) *
Я понял, идея такова: при первом запуске контроллер себя лочит и генерирует случайный код.

Не "код" а открытый ключ для шифрования - отличие радикальное. Что правда не мешает ломать загрузчик на предмет НЕ установки защиты sad.gif
Alex@ndr
Спасибо за ответы, но мож кто пример программы подкинет, как эти самые локи считать?
И ещё, неохота с загрузчиком связыватся, может можно произвести чтение фьюзов или локов из основной программы?
PWS
Если у Вас и заказчика "выделенка" и у заказчика есть программатор, то попробуйте использовать "Remote Administrator (Radmin) 2.2", правда в этом случае заказчик должен Вам дать права администратора на один из своих компьютеров.
Семён
Цитата(Alex@ndr @ Dec 28 2006, 23:44) *
Спасибо за ответы, но мож кто пример программы подкинет, как эти самые локи считать?
И ещё, неохота с загрузчиком связыватся, может можно произвести чтение фьюзов или локов из основной программы?

Могу предложить Вам аппартный программатор на любое количество записей. Когда Вам вернут программатор Вы по новому сможите задать количество записей и использовать его практически неограниченное число раз.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.