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

 
 
> Защита программы от несанкционированного распространения
d7d1cd
сообщение Aug 18 2015, 11:11
Сообщение #1


Местный
***

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



Привет всем! Мне необходимо написать свою программу для устройства на МК MSP430F249 так, чтобы она работала только в данном конкретном устройстве. Подскажите, как это можно сделать?
Получается, что программе надо каким то образом идентифицировать МК, в котором она выполняется, на признак "свой" или "чужой" (если "чужой", то прекратить работу). Припоминается, что где-то я читал информацию о том, что каждый МК указанной марки хранит в ПЗУ для загрузчика BSL некий номер, уникальный для данного МК. Или я это выдумал?.. Есть ли нечто подобное в указанных МК?

P.S. Прожиг фьюза JTAG не предлагать, ибо программирование устройства будет делать другой человек, который заинтересован в использовании программы на нескольких устройствах (а я против этого). И еще: я понимаю, что любую защиту можно взломать, поэтому прошу не указывать на это и не говорить, что все попытки данной защиты бесполезны.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Aug 19 2015, 12:42
Сообщение #2


Гуру
******

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



QUOTE (d7d1cd @ Aug 18 2015, 14:11) *
И еще: я понимаю, что любую защиту можно взломать, поэтому прошу не указывать на это и не говорить, что все попытки данной защиты бесполезны.

А я тем неменее скажу. То, что Вы пытаетесь сделать, даже если-бы вдруг был серийный номер, вообще ЗАЩИТОЙ НЕ ЯВЛЯЕТСЯ любой, кто отличает бит от байта найдет вашу "защиту" в открытой прошивке и выкинет нафиг. Тем более имея любезно предоставленные Вами НЕСКОЛЬКО прошивок sm.gif. Так-что либо Вы сами производите устройство (обычную не электронную почту еще никто не отменял), либо доверяете. Все остальное это создание проблем на свою-же голову.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Aug 19 2015, 12:56
Сообщение #3


Местный
***

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



Цитата(zltigo @ Aug 19 2015, 15:42) *
А я тем неменее скажу. То, что Вы пытаетесь сделать, даже если-бы вдруг был серийный номер, вообще ЗАЩИТОЙ НЕ ЯВЛЯЕТСЯ любой, кто отличает бит от байта найдет вашу "защиту" в открытой прошивке и выкинет нафиг. Тем более имея любезно предоставленные Вами НЕСКОЛЬКО прошивок sm.gif . Так-что либо Вы сами производите устройство (обычную не электронную почту еще никто не отменял), либо доверяете. Все остальное это создание проблем на свою-же голову.

Ну что я могу сказать... Вы правы. Однако чтобы найти защиту и выкинуть ее надо не просто отличать бит от байта. Надо еще уметь дизассемблировать и знать систему команд МК. Кроме этого, каждая прошивка будет скомпилирована по-разному, то есть, программа будет одна и та же, но функции будут в ней расположены каждый раз в разных местах. Да и в свободное место будет набросан мусор.
Конечно, мой заказчик может нанять человека, который все это знает, заплатить ему один раз и не покупать у меня больше прошивок. Но тут надо вычислить экономический эффект. Думаю этот знающий человек возьмет не малую цену за свою работу.
Go to the top of the page
 
+Quote Post
ASN
сообщение Aug 19 2015, 14:49
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326



d7d1cd
Как обстоят дела с MSP430 не знаю, но старый добрый метод делали такой (основан на том, что состояние не инициализированного ОЗУ у разных МК разное и случайное - "серийник"):
- основной функционал программы переписывается таким образом, чтобы исполнялся из ОЗУ (типа объекты с таблицами виртуальных функций);
- программа разбивается на две части: постоянная часть (загрузчик, таблицы и т.п.) и переменная (сами функции);
- при старте запускается генератор гаммы, где входными параметрами является хеш-функция состояния ОЗУ, которая накладывается на образ переменной части при копировании;
Но хотя "ломается" всё это "на раз". Поставляемая отдельно внешняя микросхема-ключ посложнее для взлома, но тоже не сильно.
Лучше, IMHO, договорится с заказчиком о "технадзоре". Выгодно обоим.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 17:30
Рейтинг@Mail.ru


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