Перейти к содержанию
    

Простенькая защита бинарника прошивки для STM32

On 8/9/2021 at 3:52 PM, MX_Master said:

....не знаю какой способ защиты от копирования выбрать для открытого бинарника....Вот сижу чешу репу.. Если кто подскажет куда копать и как лучше к этому делу подступиться, буду благодарен :good:

- Я тебе один умный вещь скажу, ты только не обижайся..
- Твоя машина в соседнем дворе стоит..
(из кинухи)

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

НО!!! (куда уж без этого сранного странного но...
Байка из жизни...
Как то довелось мне, в начале века, ужиматься в 51 камень 4051 который... Попутно решая задачу - сделать универсальный пульт на этой штуки (пульты уже штампанули), и хотелось заказчику не возможного - иметь склад готовых таких штук на любой в будущем вариант хостового (сами установки) софта, под все линейки производства. Из всех тех. возможностей - 4 кила, и внешняя энергонезависимая память по I2C. Пошёл следующим путём - в 4 кила ужал транслятор своих псевдо комманд(их не много - около 20-30 штук оказалось. для обслуживания дисплея, клавы, звука, путешествия по менюхам, оперирование со страницами подкачки из локальной энергонезависимой или закачки с установки нужной страницы и т.п. лабудой) которые писались в ввиде макросов прямо в коде, секции данных. Спустя некоторое время захотели со мной расстаться (ну да, имел я с каждого экземпляра бонус) и в параллель наняли другого человечка. И во время аврала - ушла одна прошивка в ввиде бинаря от меня и попала в руки этого человека. Спустя года я с удивлением услышал эту ситуацию (впрочем удивила не сама ситуация, а то заключение что дал данный "специалист"). Вывод данного технаря: прошивка местами закодирована и дезасэмблировать и дальше её довести до ума - не предоставляется возможным... :) Ему бы чуть чуть посмотреть на схемное решение бы, и задаться вопросом - а как это так сделано что под любую версию то...Но его судьба явно тогда показала зубки...

я о чём...да собственно уже мысль изложил :)

с уважением
(круглый)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Над разработкой устроиства трудятся схемотехники, топологи, констукторы, технологи и т.д. И только хитрожопые программисты, даже неспособные защитить прошивку, почему-то хотят "всю жизнь получать гонорар".  Я пониааю, когда голое ПО, которое без защиты больше одного раза не продашь. Но прошивка с каждой железкой продаётся. И програмист имет (или не имет, тут дело труового договора) точно такие же права как остальные разработчики.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

25 minutes ago, VladislavS said:

 трудятся схемотехники, топологи, констукторы, технологи и т.д. И только хитрожопые программисты

Вас сильно удивит, что во времена 4051 было немало "человеков-оркестров"? Они и сейчас есть.

Как минимум разработку схемы, разведение печатной платы и написание ПО мог делать один человек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Меня всегда веселит, когда у кого-то "подгарает" чувство справедливости там, где про справедливость речи нет. Авторы разработали железо и софт, продают всё это по желаемой цене потребителю. Потребитель использует сие как ему угодно. Все сопутствующие товары и софт, выполненные другими авторами, продаются по желаемой цене этих авторов. Потребитель может это покупать или нет. Где тут несправедливость? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 минуты назад, MX_Master сказал:

Меня всегда веселит, когда у кого-то "подгарает" чувство справедливости

Да это как раз бывает у тех, кто либо не разобрался в сути вопроса, или тех, кто делает массуху, от которой ничего не зависит в плане проекта, всегда можно заменить подобного "спеца" на другого без ущерба в целом...

Никто из нормальных людей не продает голое железо без ПО, а потом за ПО просит отдельно деньги, равно, как и за исправления в нем ошибок, а вот за дополнительный функционал в ПО - это вполне нормальная тема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, mantech сказал:

Никто из нормальных людей не продает голое железо без ПО, а потом за ПО просит отдельно деньги, равно, как и за исправления в нем ошибок

Только некоторые мировые бренды об этом не знают, и гребут бабло за каждую гайку и шайбу, например Volvo Penta делает это не стесняясь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если это STM32 то есть же стандартный вариант DFU прошивки с привязкой к аппаратному серийному номеру конкретного экземпляра микроконтроллера. Все необходимое для кастомизации прошивок легко найти на гитхабе. Вплоть до набора софта для автогенерации прошивки на сайте апдейтов если серийник проца есть в белом списке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 часов назад, MDD сказал:

Вас сильно удивит, что во времена 4051 было немало "человеков-оркестров"?

Кто мешает им ещё и прошивать все выпускаемые устройства и никому не давать прошивку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто мешает написать свою простейшую программу, разместить её на сайте и пусть грузят прошивки, кто денег заплатил за легальное устройство.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если подитожить тему, вывод получается простой - защиту в коде надо делать в любом случае, но первоначально чип должен побывать у автора. Юзера к прямой перепрошивке лучше не пущать :) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

50 minutes ago, MX_Master said:

но первоначально чип должен побывать у автора.

Не обязательно. Юзер Вам может сообщить ID-микроконтроллера, а Вы изготовите ему уникальную прошивку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 hours ago, VladislavS said:

Кто мешает им ещё и прошивать все выпускаемые устройства и никому не давать прошивку?

Конкретику того случая пусть kolobok0 расскажет. Я всего лишь хотел сказать, что реалии взаимоотношений могли быть сильно сложнее чем схема: программист-сотрудник, закладывающий "мину" своему работодателю. А вклад в проект "подстелившего соломки" мог быть намного больше, чем вклад тиражирующего устройства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, MX_Master сказал:

первоначально чип должен побывать у автора.

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

3 часа назад, haker_fox сказал:

Юзер Вам может сообщить ID-микроконтроллера,

Как он это сделает без первоначальной прошивки? Контроллер пустой, на корпусе ИД не указан. К тому же вам, как производителю, нужно будет поддерживать базу ИД проданных устройств, или я, например, скопирую вашу железку, позвоню вам и скажу, я тут от ООО пупкин, которое покупало у вас железку, вот мой ИД, вышлите мне прогу)))

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 minutes ago, mantech said:

позвоню вам и скажу

А интернета нет ? Программировать только процессорв умеем только ?

Разъем пользовательно не может воткнуть в устройство ?

Какой то примитивизм в рассуждениях наблюдается.

Пользователь может вообще сам сделать устройство, заплатить денег за софт и пользоваться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, x893 сказал:

А интернета нет ?

А он быть обязан у оператора ЧПУ? Не факт.

3 часа назад, x893 сказал:

Разъем пользовательно не может воткнуть в устройство ?

По своему опыту скажу, что есть такие пользователи, что правильно скопировать файлы на сд карту не могут предлагаете им лезть в устройство, искать какой-то программатор или адаптер и что-то там считывать....

3 часа назад, x893 сказал:

Какой то примитивизм в рассуждениях наблюдается.

Вот представьте, вы разработчик, я разработчик, а дядя Петя, клиент и он этого не знает вообще)))

3 часа назад, x893 сказал:

Пользователь может вообще сам сделать устройство, заплатить денег за софт

Таковых единицы и они и без нас тут разберутся, ИМХО.

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...