|
Защита программы от несанкционированного распространения |
|
|
|
Aug 18 2015, 11:11
|
Местный
  
Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199

|
Привет всем! Мне необходимо написать свою программу для устройства на МК MSP430F249 так, чтобы она работала только в данном конкретном устройстве. Подскажите, как это можно сделать? Получается, что программе надо каким то образом идентифицировать МК, в котором она выполняется, на признак "свой" или "чужой" (если "чужой", то прекратить работу). Припоминается, что где-то я читал информацию о том, что каждый МК указанной марки хранит в ПЗУ для загрузчика BSL некий номер, уникальный для данного МК. Или я это выдумал?.. Есть ли нечто подобное в указанных МК?
P.S. Прожиг фьюза JTAG не предлагать, ибо программирование устройства будет делать другой человек, который заинтересован в использовании программы на нескольких устройствах (а я против этого). И еще: я понимаю, что любую защиту можно взломать, поэтому прошу не указывать на это и не говорить, что все попытки данной защиты бесполезны.
|
|
|
|
|
 |
Ответов
|
Aug 19 2015, 12:42
|

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

|
QUOTE (d7d1cd @ Aug 18 2015, 14:11)  И еще: я понимаю, что любую защиту можно взломать, поэтому прошу не указывать на это и не говорить, что все попытки данной защиты бесполезны. А я тем неменее скажу. То, что Вы пытаетесь сделать, даже если-бы вдруг был серийный номер, вообще ЗАЩИТОЙ НЕ ЯВЛЯЕТСЯ любой, кто отличает бит от байта найдет вашу "защиту" в открытой прошивке и выкинет нафиг. Тем более имея любезно предоставленные Вами НЕСКОЛЬКО прошивок  . Так-что либо Вы сами производите устройство (обычную не электронную почту еще никто не отменял), либо доверяете. Все остальное это создание проблем на свою-же голову.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 19 2015, 12:56
|
Местный
  
Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199

|
Цитата(zltigo @ Aug 19 2015, 15:42)  А я тем неменее скажу. То, что Вы пытаетесь сделать, даже если-бы вдруг был серийный номер, вообще ЗАЩИТОЙ НЕ ЯВЛЯЕТСЯ любой, кто отличает бит от байта найдет вашу "защиту" в открытой прошивке и выкинет нафиг. Тем более имея любезно предоставленные Вами НЕСКОЛЬКО прошивок  . Так-что либо Вы сами производите устройство (обычную не электронную почту еще никто не отменял), либо доверяете. Все остальное это создание проблем на свою-же голову. Ну что я могу сказать... Вы правы. Однако чтобы найти защиту и выкинуть ее надо не просто отличать бит от байта. Надо еще уметь дизассемблировать и знать систему команд МК. Кроме этого, каждая прошивка будет скомпилирована по-разному, то есть, программа будет одна и та же, но функции будут в ней расположены каждый раз в разных местах. Да и в свободное место будет набросан мусор. Конечно, мой заказчик может нанять человека, который все это знает, заплатить ему один раз и не покупать у меня больше прошивок. Но тут надо вычислить экономический эффект. Думаю этот знающий человек возьмет не малую цену за свою работу.
|
|
|
|
|
Aug 19 2015, 14:49
|
Местный
  
Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326

|
d7d1cd Как обстоят дела с MSP430 не знаю, но старый добрый метод делали такой (основан на том, что состояние не инициализированного ОЗУ у разных МК разное и случайное - "серийник"): - основной функционал программы переписывается таким образом, чтобы исполнялся из ОЗУ (типа объекты с таблицами виртуальных функций); - программа разбивается на две части: постоянная часть (загрузчик, таблицы и т.п.) и переменная (сами функции); - при старте запускается генератор гаммы, где входными параметрами является хеш-функция состояния ОЗУ, которая накладывается на образ переменной части при копировании; Но хотя "ломается" всё это "на раз". Поставляемая отдельно внешняя микросхема-ключ посложнее для взлома, но тоже не сильно. Лучше, IMHO, договорится с заказчиком о "технадзоре". Выгодно обоим.
|
|
|
|
Сообщений в этой теме
d7d1cd Защита программы от несанкционированного распространения Aug 18 2015, 11:11 Obam BSL через УАПП:
Access to the MSP430 flash memory... Aug 19 2015, 06:31 d7d1cd Цитата(Obam @ Aug 19 2015, 09:31) BSL чер... Aug 19 2015, 06:56 Obam "Припоминается, …, что каждый МК указанной ма... Aug 19 2015, 07:42 d7d1cd Цитата(Obam @ Aug 19 2015, 10:42) Я приве... Aug 19 2015, 08:01 k155la3 вместо внешней памяти использовать недорогой микро... Aug 19 2015, 08:46 d7d1cd Цитата(k155la3 @ Aug 19 2015, 11:46) вмес... Aug 19 2015, 08:51 k155la3 Ага, тогда понятно. У меня аналогичная ситуация, к... Aug 19 2015, 09:01 d7d1cd Цитата(k155la3 @ Aug 19 2015, 12:01) Ага,... Aug 19 2015, 11:23  Tanya Цитата(d7d1cd @ Aug 19 2015, 14:23) как м... Aug 19 2015, 11:38   d7d1cd Цитата(Tanya @ Aug 19 2015, 14:38) А я ду... Aug 19 2015, 11:41    Tanya Цитата(d7d1cd @ Aug 19 2015, 14:41) Так т... Aug 19 2015, 12:00     d7d1cd Цитата(Tanya @ Aug 19 2015, 15:00) Только... Aug 19 2015, 12:06      Tanya Цитата(d7d1cd @ Aug 19 2015, 15:06) Хорош... Aug 19 2015, 12:15  Abell Цитата(d7d1cd @ Aug 19 2015, 14:23) Вот к... Aug 19 2015, 11:43   d7d1cd Цитата(Abell @ Aug 19 2015, 14:43) Прошив... Aug 19 2015, 11:52  zltigo QUOTE (d7d1cd @ Aug 19 2015, 15:56) Кроме... Aug 19 2015, 14:26 Abell Может, глупость скажу, но тем не менее - может ест... Aug 19 2015, 13:57 controller_m30 От программиста оснащённого JTAG-отладчиком, защит... Aug 19 2015, 15:47 d7d1cd Цитата(controller_m30 @ Aug 19 2015, 18:4... Aug 20 2015, 05:51  Abell Цитата(d7d1cd @ Aug 20 2015, 08:51) Погод... Aug 20 2015, 06:23   d7d1cd Цитата(Abell @ Aug 20 2015, 09:23) Извиня... Aug 20 2015, 06:47    Abell Цитата(d7d1cd @ Aug 20 2015, 09:47) друго... Aug 20 2015, 08:07  controller_m30 Я бы оставил контроллер покупателю, и не загружал ... Aug 20 2015, 07:16 Obam Тщета это всё…
Пару-тройку раз заказчик сымитирует... Aug 20 2015, 07:11 d7d1cd Спасибо. Прошу прощения, а на кириллице нет сего п... Aug 20 2015, 07:21 Obam Цитата(d7d1cd @ Aug 20 2015, 11:21) Спаси... Aug 20 2015, 07:38 digital Есть открытые библиотеки для работы с программатор... Aug 20 2015, 08:50 d7d1cd Бутлоадер - это программа в МК, которая может обно... Aug 20 2015, 08:57 digital Цитата(d7d1cd @ Aug 20 2015, 11:57) Бутло... Aug 20 2015, 09:06 d7d1cd Сколько работаю с MSP430, никогда нигде не видел, ... Aug 20 2015, 09:16 digital как добавить уникальности
можно измерять частоту ... Aug 20 2015, 09:26 d7d1cd Цитата(digital @ Aug 20 2015, 12:22) все ... Aug 20 2015, 09:26  digital Цитата(d7d1cd @ Aug 20 2015, 12:26) Проши... Aug 20 2015, 09:35
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|