Я лично у вас спрошу, с кем или чем мне оставаться. Но только в том случае, если ваше мнение по этому вопросу мне будет важно. До тех пор держите его при себе.
Stm32 с чего начать изучение...
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18613
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Stm32 с чего начать изучение...
Последний раз редактировалось ARV Пн июн 01, 2026 16:28:17, всего редактировалось 1 раз.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
- linux_rulezz
- Вымогатель припоя
- Сообщения: 629
- Зарегистрирован: Пн сен 15, 2025 08:43:23
- Откуда: Маленький СССР посреди шариатской республики
- Контактная информация:
Re: Stm32 с чего начать изучение...
Что-то я смотрю, кому-то корону пора подправить…
Еще раз напоминаю: для того, чтобы у кого-то появилось желание какую-то твою разработку тиражировать, ты должен сначала достичь необходимого уровня. А на нынешнем уровне "ниже плинтуса", когда код "пишется" при помощи ИИ и калокуба, беспокоиться не о чем: никому эти поделки и даром не нужны!
Еще раз напоминаю: для того, чтобы у кого-то появилось желание какую-то твою разработку тиражировать, ты должен сначала достичь необходимого уровня. А на нынешнем уровне "ниже плинтуса", когда код "пишется" при помощи ИИ и калокуба, беспокоиться не о чем: никому эти поделки и даром не нужны!
Windows must die!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18613
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Stm32 с чего начать изучение...
Это вы говорите, когда в зеркало смотрите?
А вы точно уверены в уровне моего кода? Вы видели результаты его работы? Вы видели установки, работающие под его управлением? И вы точно знаете, что, например, в прошивке смарт-телевизора все написано исключительно на ассемблере и никаких там "сраных кубов" нет и в помине? Откуда у вас вообще уверенность, что ваше мнение единственно верное? Кто вам об этом говорил?linux_rulezz писал(а): Пн июн 01, 2026 16:28:03 А на нынешнем уровне "ниже плинтуса", когда код "пишется" при помощи ИИ и калокуба, беспокоиться не о чем: никому эти поделки и даром не нужны!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- linux_rulezz
- Вымогатель припоя
- Сообщения: 629
- Зарегистрирован: Пн сен 15, 2025 08:43:23
- Откуда: Маленький СССР посреди шариатской республики
- Контактная информация:
Re: Stm32 с чего начать изучение...
Есть единственное верное мнение. И это мнение — мое!ARV писал(а): Пн июн 01, 2026 16:31:42Откуда у вас вообще уверенность, что ваше мнение единственно верное? Кто вам об этом говорил?
А чужой код я похаять люблю. Давайте ссылку на свой гитхаб. Буду хаять.
Windows must die!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18613
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Stm32 с чего начать изучение...
Калокубы больно бьют по самолюбию олдскул-программистов, потому что делают доступным всем и каждому то, над чем они проводили красноглазые ночи... Но это не повод ценить код степенью усталости от его написания.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18613
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Stm32 с чего начать изучение...
нет, моёlinux_rulezz писал(а): Пн июн 01, 2026 16:33:01 Есть единственное верное мнение. И это мнение — мое!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18613
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Stm32 с чего начать изучение...
а без ссылки - слабО? по-моему, у вас отлично получается и так
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Stm32 с чего начать изучение...
Точно так же и ваши потуги защитить вашу поделку могут быть перечеркнуты теми, кто с помощью "Куба и Хала" напишут то, что вы делали. И без всяких защит. Тем более, что сейчас армия ардуинщиков весьма обширная. Так что, палка о двух концах.ARV писал(а): Пн июн 01, 2026 16:34:15 делают доступным всем и каждому то, над чем они проводили красноглазые ночи.
То есть, заказчик, которого не будет устраивать ограничение по защите, он просто закажет у другого ардуинщика, который точно так же с помощью куба-хала и ИИ-генерации напишет ту же самую прошивку, только без защиты. Почему вы думаете, что вы один только программист? Да их сейчас, как вы сами сказали, навалом - куб и хал дает это каждому. По вашим же словам!
Кагбе ничего личного, чистый бизнес.
Последний раз редактировалось Rapra Пн июн 01, 2026 16:50:30, всего редактировалось 1 раз.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18613
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Stm32 с чего начать изучение...
Кто сможет - пусть делает, я не против. Конкуренция - не повод отдавать даром то, за что платят.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Stm32 с чего начать изучение...
Ну так заказчик просто и выберет другого исполнителя, который не будет ставить защиту. Конкуренция!
Вас никто не уговаривает отдавать даром. Просто вы должны понимать, что сейчас так же как и вы, это может сделать каждый. По вашим же словам.
Вас никто не уговаривает отдавать даром. Просто вы должны понимать, что сейчас так же как и вы, это может сделать каждый. По вашим же словам.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18613
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Stm32 с чего начать изучение...
Вы занимаетесь не тем, чтобы помочь мне сделать намеченное, а тем, что отговариваете меня делать вообще.
Этио не то, для чего существует форум.
Оставьте проблемы мне, а сами предоставьте способы, если хотите.
а если не хотите - просто игнорируйте тему.
Этио не то, для чего существует форум.
Оставьте проблемы мне, а сами предоставьте способы, если хотите.
а если не хотите - просто игнорируйте тему.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- linux_rulezz
- Вымогатель припоя
- Сообщения: 629
- Зарегистрирован: Пн сен 15, 2025 08:43:23
- Откуда: Маленький СССР посреди шариатской республики
- Контактная информация:
Re: Stm32 с чего начать изучение...
Ну, если человек пользуется калокубом, то уже можно смело хаять: код он писать не умеет… Но вот таки действительно на код взглянуть было бы любопытно. Правилом хорошего тона является у себя в профиле оставлять ссылочку на свой гитхаб. Ну и на researchgate можно или orcid какой-нибудь.ARV писал(а): Пн июн 01, 2026 16:36:17 а без ссылки - слабО? по-моему, у вас отлично получается и так
Windows must die!
Re: Stm32 с чего начать изучение...
Не совсем так. Если разработка достаточно сложная, можно заложить туда N-ое количество багов. Проявляющихся иногда. А потом периодически получать мзду за их поиск и устранение.КРАМ писал(а): Пн июн 01, 2026 12:25:46Для частного разработчика есть только один путь - получить деньги за саму разработку и забыть про тираж у заказчика.
Способ проверенный многолетним опытом миллионов наёмных программистов.
Re: Stm32 с чего начать изучение...
А чем вам помочь, коль вы, по вашим же словам, ленивый?ARV писал(а): Пн июн 01, 2026 16:56:02 Вы занимаетесь не тем, чтобы помочь мне сделать намеченное, а тем, что отговариваете меня делать вообще.
Когда вы отправляете бинарник, не привязанный ни к какому аппаратно-зависимому ключу, все попытки защиты не имеют смысла. Вот вы настолько ленивый, что даже не можете спросить у ИИ, как именно строится защита по коду.
Ладно, допустим, вы выслали заказчику код. Заказчик вводит код. Но этот же код будет действовать в любой копии вашей поделки, неограниченное число раз! Это всё равно, что вовсе не делать такой защиты
Вот видите, ARV, насколько вы недальновидный
Вот по этому рано вам в "короли программирования", вооружившись только "Кубом и Халом".
Я ж вам сразу написал:
Rapra писал(а): Пн июн 01, 2026 11:48:28 ... устройство поставляется с прошитым в МК программным загрузчиком в защищенных секторах флеша. ... при первом запуске устройства с прошивкой запрашивается лицензионный ключ, который генерится на основе серийного номера устройства или микроконтроллера...
Последний раз редактировалось Rapra Пн июн 01, 2026 18:33:43, всего редактировалось 3 раза.
Re: Stm32 с чего начать изучение...
А как выпишут вам "гарантийный случай" и устранение багов за ваш счет по рекламации - так сразу и перестанете так делать.jcxz писал(а): Пн июн 01, 2026 17:22:32 А потом периодически получать мзду за их поиск и устранение.
Тоже, между прочим, имеющая место быть практика. Да практически везде она так и работает, если только не удалось "намазать лохов".
Не знаю, как в вашей деревне, но в нашей так заведено - устранение багов - за счет изготовителя. Так что специально делать баги у нас не принято - бессмысленно это, потеря репутации. А наемных программистов, специально нагадивших, в лучшем случае внесут в черный список.
Мировая история знает такие примеры - автогиганты типа БМВ, Мерседеса и тп не раз отзывали свои автомобили из-за багов и бесплатно их устраняли. Думаете, они специально их делали от скуки?
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18613
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Stm32 с чего начать изучение...
Сложно поверить, что вы являетесь человеком, знакомым хотя бы отдаленно с каким-либо правилами хорошего тона... А у меня в профиле есть ссылка на gitverse.ru, так что не держите в себе, запоры вредны для здоровья.linux_rulezz писал(а): Пн июн 01, 2026 17:16:40Правилом хорошего тона является у себя в профиле оставлять ссылочку на свой гитхаб. Ну и на researchgate можно или orcid какой-нибудь.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18613
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Stm32 с чего начать изучение...
В общем, вырисовывается такая система защиты.
1. Свободно и беззащитно высылается прошивка бутлоадера. Да хоть с открытым исходным кодом.
2. Клиент прошивает эту прошивку, и она ему выдает некое число, которое представляет собой хэш (да хоть MD5) из уникального номера МК и некоего случайного числа, например, результата шума младшего бита АЦП за некоторое время. Этот хэш - открытый ключ.
3. Получив этот открытый ключ я создаю соответствующую ему вторую часть - закрытый ключ, и шифрую прошивку, которую высылаю. Расшифровать её может загрузчик.
Таким образом, никакому пользователю расшифрованная прошивка недоступна.
Само собой, загрузчик должен генерировать ключ только после того, как память защищена от считывания (я пока не знаю на 100%, как это сделать, но что сделать можно - уверен на 100%), и сохранять соответствующую пару ключей в EEPROM или FLASH (тут тоже пока не знаю, что именно невозможно считать отладчиком после установки защиты).
Что скажут профессионалы? В данном алгоритме главное - это случайная часть хэша. В сущности, уникальный номер МК даже не обязателен, если случайность более-менее настоящая. Шум младшего бита АЦП, как мне кажется, вполне себе "белый", т.е. случайный. Я в курсе, что некоторые ARM имеют специальные крипто-модули, которые генерируют случайные числа, но мне до этого пока далеко.
1. Свободно и беззащитно высылается прошивка бутлоадера. Да хоть с открытым исходным кодом.
2. Клиент прошивает эту прошивку, и она ему выдает некое число, которое представляет собой хэш (да хоть MD5) из уникального номера МК и некоего случайного числа, например, результата шума младшего бита АЦП за некоторое время. Этот хэш - открытый ключ.
3. Получив этот открытый ключ я создаю соответствующую ему вторую часть - закрытый ключ, и шифрую прошивку, которую высылаю. Расшифровать её может загрузчик.
Таким образом, никакому пользователю расшифрованная прошивка недоступна.
Само собой, загрузчик должен генерировать ключ только после того, как память защищена от считывания (я пока не знаю на 100%, как это сделать, но что сделать можно - уверен на 100%), и сохранять соответствующую пару ключей в EEPROM или FLASH (тут тоже пока не знаю, что именно невозможно считать отладчиком после установки защиты).
Что скажут профессионалы? В данном алгоритме главное - это случайная часть хэша. В сущности, уникальный номер МК даже не обязателен, если случайность более-менее настоящая. Шум младшего бита АЦП, как мне кажется, вполне себе "белый", т.е. случайный. Я в курсе, что некоторые ARM имеют специальные крипто-модули, которые генерируют случайные числа, но мне до этого пока далеко.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
-
Zapolyarny
- Встал на лапы
- Сообщения: 93
- Зарегистрирован: Чт май 07, 2026 00:30:38
Re: Stm32 с чего начать изучение...
Вроде норм. Но я бы просто продавал готовые чипы. С точки зрения капиталиста это привлекательнее: купив их оптом по более дешёвой цене и продавая по той же розничной, которая доступна пользователю, можно немного перетянуть крошек с розничных магазинов на себя, а пользователю особой разницы нет (разве что логистика может подвести лишними расходами). Да и эти манипуляции уже не нужны, особенно если пользователь далёк от темы: может просто припаять "чёрный ящик", а что там внутри, как туда чего шить, какие программаторы - тяжко для него. Он тогда начнёт задавать вопросы, а это уже расход времени на поддержку.
А вообще, надо реализовывать все варианты. Купят, какой удобнее.
А вообще, надо реализовывать все варианты. Купят, какой удобнее.
Re: Stm32 с чего начать изучение...
В этот код встраивается спецмодуль вывода информации. И далее создается ключ и высылается автору. Модуль при этом всё знает.1. Свободно и беззащитно высылается прошивка бутлоадера. Да хоть с открытым исходным кодом.
Отлично - загрузчик будет получать и расшифторывать, а вставленный спецмодуль выводить закрытую информацию в, скажем, UART.создаю соответствующую ему вторую часть - закрытый ключ, и шифрую прошивку, которую высылаю. Расшифровать её может загрузчик.
Само собой, загрузчик должен генерировать ключ только после того, как память защищена от считывания
Уровень 1, понятно. Однако код, который уже сидит в flash> имеет право его читать и спецмодуль всё замечательно возьмет. И вынесет: UART/SPI/...
- Just_Fluffy
- Вымогатель припоя
- Сообщения: 538
- Зарегистрирован: Ср июн 29, 2022 16:25:45
Re: Stm32 с чего начать изучение...
Роман, смиритесь с тем, что на каждую хитру. жопу с нарезкой найдется свой болт с резьбой.
Однако вы можете эту резьбу усложнить, сделать разного шага, глубины, толщины, переменного направления. Это не спасет вас от хитрого болта, но усложнит работу токарю.
Единственное, к вопросу нужно подойти более тонко, нежели стирание флеша.
Отдаете заказчику программу-заглушку, которая инициализирует периферию (ну что б ничего там не ушло в нережимные режимы), читает серийник и выдает вам эти байты на экран.
А в своей основной программе вы не генерируете никаких ключей. А размазываете константами по всей программе. Плюс еще явно и открыто сохраняете этот серийник.
В одном месте делаете явное и открытое чтение серийника, сохраняете его в какой то массив. И явно сравниваете с зашитым в программу. Если не совпадают - грозное сообщение на экране - "Не совпадение серийника. Данное сообщение самоуничтожится через 5...4...3...2...1..."
format c: /y
Это затычка для "мамкиного хакера" - намерено лоховская проверка. Что б хакер заменил if на безусловный переход, забрал свою бутылку пива и ушел спать.
А дальше в разных местах программы, вы пробуете прочитать разные байты серийника чипа. Но не простым чтением из памяти, а косвенными методами. Вычисляемыми адресами, например. Или копированием большой области флеша еще куда то. И уже выборки оттуда нужного байтика. И никаких прямых сравнений. А дальше, на основании прочитанного значения и какой то функции от соответствующего байта ранее полученного серийного номера вы делаете вычисление какого то параметра для работы программы. Что б программа работала. Но не совсем так, как нужно. Глючила. И так в разных местах программы, по разному получая фрагменты серийного номера чипа и комбинируя их с ранее сохраненными, вы можете менять ход выполнения программы "не в ту сторону"... Даже не менять ход выполнения, а использовать неверные параметры для вычислений, или подтасовки результатов.... очень условно - есть у вас байт из серийника X и какое то значение переданного вам байта Y. А к результату АЦП вы прибавляете условный RND(X-Y). Т.е. если байты совпали, то рандом вернет всегда ноль. Не совпали - рандом начнет срать в данные.
Более подробно придумать места, где функционал будет работать не совсем так, как надо - вы и сами придумаете.
Можно при записи на флешку писать иногда нули, или пропускать данные. Но опять же, не тупыми условиями, а разного вида математикой.
Ну или, например, какой то таймер "случайной" перезагрузки сделать по тому же принципу рандома... Ну или еще как то испортить удовольствие от пользования программой.
Главное, не делать эти чтения и сравнения однообразными и одним и тем же методом. А размазать их по всей программе, обмазать волатилями и разными оптимизациями, что б даже похожие методы чтения компилировались по разному.
Добавить математики всякой, что б какие то инициализирующие значения были как функция от констант и прочитанного серийника.
Добавить задержку, что б глюки начали проявляться не сразу, а через Х времени работы прибора. Как функцию какую то времени аптайма и вычисленных сравнений.
Против серьезного взлома не поможет, а против мамкиного хакера - "да я тут сейчас, левой ногой, дебагером быренько заменю проверку и не будет сообщения" - скорее всего поможет.
Вобщем, придумывайте. Чем больше мест с разными способами проверки кусочков серийника и больше глюков, тем сложнее будет мамкиному хакеру это все найти.
ПС. Все вышесказанное - суровое ИМХО слегка нетрезвой блондинки. Но мне можно.
Однако вы можете эту резьбу усложнить, сделать разного шага, глубины, толщины, переменного направления. Это не спасет вас от хитрого болта, но усложнит работу токарю.
Единственное, к вопросу нужно подойти более тонко, нежели стирание флеша.
Отдаете заказчику программу-заглушку, которая инициализирует периферию (ну что б ничего там не ушло в нережимные режимы), читает серийник и выдает вам эти байты на экран.
А в своей основной программе вы не генерируете никаких ключей. А размазываете константами по всей программе. Плюс еще явно и открыто сохраняете этот серийник.
В одном месте делаете явное и открытое чтение серийника, сохраняете его в какой то массив. И явно сравниваете с зашитым в программу. Если не совпадают - грозное сообщение на экране - "Не совпадение серийника. Данное сообщение самоуничтожится через 5...4...3...2...1..."
format c: /y
Это затычка для "мамкиного хакера" - намерено лоховская проверка. Что б хакер заменил if на безусловный переход, забрал свою бутылку пива и ушел спать.
А дальше в разных местах программы, вы пробуете прочитать разные байты серийника чипа. Но не простым чтением из памяти, а косвенными методами. Вычисляемыми адресами, например. Или копированием большой области флеша еще куда то. И уже выборки оттуда нужного байтика. И никаких прямых сравнений. А дальше, на основании прочитанного значения и какой то функции от соответствующего байта ранее полученного серийного номера вы делаете вычисление какого то параметра для работы программы. Что б программа работала. Но не совсем так, как нужно. Глючила. И так в разных местах программы, по разному получая фрагменты серийного номера чипа и комбинируя их с ранее сохраненными, вы можете менять ход выполнения программы "не в ту сторону"... Даже не менять ход выполнения, а использовать неверные параметры для вычислений, или подтасовки результатов.... очень условно - есть у вас байт из серийника X и какое то значение переданного вам байта Y. А к результату АЦП вы прибавляете условный RND(X-Y). Т.е. если байты совпали, то рандом вернет всегда ноль. Не совпали - рандом начнет срать в данные.
Более подробно придумать места, где функционал будет работать не совсем так, как надо - вы и сами придумаете.
Можно при записи на флешку писать иногда нули, или пропускать данные. Но опять же, не тупыми условиями, а разного вида математикой.
Ну или, например, какой то таймер "случайной" перезагрузки сделать по тому же принципу рандома... Ну или еще как то испортить удовольствие от пользования программой.
Главное, не делать эти чтения и сравнения однообразными и одним и тем же методом. А размазать их по всей программе, обмазать волатилями и разными оптимизациями, что б даже похожие методы чтения компилировались по разному.
Добавить математики всякой, что б какие то инициализирующие значения были как функция от констант и прочитанного серийника.
Добавить задержку, что б глюки начали проявляться не сразу, а через Х времени работы прибора. Как функцию какую то времени аптайма и вычисленных сравнений.
Против серьезного взлома не поможет, а против мамкиного хакера - "да я тут сейчас, левой ногой, дебагером быренько заменю проверку и не будет сообщения" - скорее всего поможет.
Вобщем, придумывайте. Чем больше мест с разными способами проверки кусочков серийника и больше глюков, тем сложнее будет мамкиному хакеру это все найти.
ПС. Все вышесказанное - суровое ИМХО слегка нетрезвой блондинки. Но мне можно.
Белая и Пушистая


