Запретить скачивание программы из Arduino

com
Offline
Зарегистрирован: 06.09.2013

cheshire пишет:

читаю я эту тему и появляется вопрос: на сколько я знаю ардуино open source

а что такое open source у микросхемы?

cheshire
cheshire аватар
Offline
Зарегистрирован: 11.07.2014

я не очень понимаю ваш вопрос?

Probelzaelo
Offline
Зарегистрирован: 15.04.2011

kentik пишет:
И все-таки, как же они за 30 000 рублей снимают защиту Atmel. в такой серьезной конторе, как Atmel, явно уж не дурачки сидят. как так дешево их защиту снимают? и если это не так сложно, а по цене чувствуется, что это так, то почему они одни, кто предлагает эту услугу.

Цена вопроса не такая уж и маленькая. А защиту "снимают" не для любого случая. вопервых контроллер при этом - досвиданья, его вскрывают физически, "шлифмашинкой", короче портят, для того чтобы попытаться стереть УФ лампой биты защиты, если получится. Пример такого вскрытия защиты, на коленке статья на хабре. Гарантии, кстати никакой не дают, совсем ни какой. Делаем выводы, просто ли это. и надо учитывать что не все модели контроллеров так же просто "ломаются". Списочек то вскрываемых не так огромен как нуменклатура чипов. ведь для каждой модели нужна собственая технология.

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

leshak
Offline
Зарегистрирован: 29.09.2011

Мне кажется что вы ошибаетесь "чуть больше чем полностью". Видимо, все-таки на русском нужно было вам читать ссылку http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5
Открытость/закрытось исходников и "что можно делать с этим продуктом/исходниками" связанны между собой примерно так же "теплое и мягкое". Мягкое - часто бывает теплым. Но утверждать что все мягкое - теплое, а все теплое - мягкое это "немного отойти от реальности".

cheshire пишет:

 По логике вы обязанны поделится своей программой и не должны удивлятся если кто то ее изменит или модифицирует так как ему удобно. 

По какой такое логике? По моей логике - нет. По моей логике (и закону) я как автор програмы полностью решаю как и на каких условиях использовать, распространять СВОЮ программу, ее исходники и т.п. Точка.
Если я, при этом, использую какие-то инструменты: молоток, текстовый редактор, arduinoIDE и т.п. - я обязан выполнять условия их распространения/использования. Которые никак не связанны с открытостью/закрытостью их исходников. Эти условия зависят только от воли/желания автора этих инструментов.
Вот когда автор инструмента напишет, что "инструмент распространяется на условии что все сделанное с его помощью ДОЛЖНО быть опубликовано в свободном доступе...(и еще кучу пожеланий может написать)", вот тогда "по логике" я буду обязан опубликовать свои исходники (если я уважаю чужие права так же как и свои). Или выбрать другой инструмент, который не накладывает на меня таких ограничений (если я не могу позволить себе публиковать). Или получить у автора инструмента разрешение не публиковать (заплатить ему денежку и т.п.)
Кстати, в данном проекте (разработка прошивки которого очень дорогая) я ArduinoIDE - не пользуюсь :)  Она слишком примитивна для более/менее больших проектов. Так что.... в любом случае "мимо кассы" :)   (и опять,таки, взломщик не может знать чем там я пользовался, так что "это все отмазки". взлом есть взлом).
Под avr камни есть далеко не один компилятор, не одна IDE :)

cheshire пишет:

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

А если писатель написал книгу. Текст ее набирал в OpenOffice. Он не имеет на нее прав?  Не имеет права продавать свою книгу?

Понимаете, тут нет "общих правил". В конечном итоге все решается договоренностями между разными людьми: заказчиком, программистом, авторами инструментов (IDE, компилятора, библиотек и т.д. и т.п.). Договоренности могут быть явными и в виде оферты.... но в каждом случае "комбинация договоренностей" - разная.

Скажем в другом, текущем моем проекте, заказчик изначально поставил условие:  все исходники будут опубликованы под одной из открытых лицензий (да... это важно. важно "какая лицензия", а не "просто открыли"). Я, как автор, почухал затылок и решил что "я не против". Честно говоря - даже доволен этим :). А был бы против - заказчик искал бы другого исполнителя, только и всего). Просто у этого заказчика "открытость" - конкуретное преимущество, а монетизация у него будет в другом :)

 

 

Probelzaelo
Offline
Зарегистрирован: 15.04.2011

cheshire пишет:
на сколько я знаю ардуино open source, что на сколько я понимаю значит что каждый имеет право смотреть, менять и делать все что ему захочется. То есть, к примеру кто то заказал у вас программу для ардуино и заплатил.

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

cheshire пишет:
Возможно я ошибаюсь,

Очень своевременная оговорочка ;)

cheshire пишет:
но помоему если вы сделали эту программу на ардуино это не значит что имеете на нее права.
Нет, даже если программа сделана не только НА но и ДЛЯ ардуино, она все равно может распространяться отдельно от исходных кодов например в виде готовой прошивки - хекс файла, и это мы не редко наблюдаем. И даже не обязательно даром.

cheshire
cheshire аватар
Offline
Зарегистрирован: 11.07.2014

спасибо за обяснение, теперь стало понятней))

Probelzaelo
Offline
Зарегистрирован: 15.04.2011

cheshire пишет:

спасибо за обяснение, теперь стало понятней))

ога, монападумать ты этого и так не знал. ))

cheshire
cheshire аватар
Offline
Зарегистрирован: 11.07.2014

Probelzaelo пишет:

Очень своевременная оговорочка ;).

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

leshak
Offline
Зарегистрирован: 29.09.2011

Probelzaelo пишет:

cheshire пишет:

спасибо за обяснение, теперь стало понятней))

ога, монападумать ты этого и так не знал. ))

Поверте, по крайней мере "у нас", где привыкли ставить галку "agree" не думая и не читая, OpenSource, в головах является синонимом "халява" (в принципе даже Source - не обязательно. главное что есть ссылка "download").
Некоторые, совестливые :), все-таки чувствуют что пользуются результатами чужого труда. И из "житейского здравого смысла" решают "раз ты взял что-то от общества - должен ему взамен".
До вникания в лицензии - доходят доли процента. Хотя бы поверхностного. И нужно признать, что для основательного вникания, разобратся со всеми их видами/подвидами.... с этим чертовым юридическим языком.. там действительно все очень трудно, мутно и путанно. 

Это "у них", переписывают 90% кода готового продукта только из-за того что какая-то из используемых библиотек поменяла условия лицензирования :)
А у нас только совсем недавно человек покупающий софт к которому можно "найти таблетку" перестал считать "лохом".

Так что я думаю у вас просто иллюзия того что всем очевидно то что очевидно для вас. 
 

Probelzaelo
Offline
Зарегистрирован: 15.04.2011

cheshire пишет:

Probelzaelo пишет:

Очень своевременная оговорочка ;).

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

С этим и так все ясно. Именно поэтому я и говорю своевременная. А слово "оговорка", в данном случае, не обозначает ошибка в тексте, а это как бы языковой оборот. Ты предупреждаешь-оговариваешь заранее, что возможность ошибки не исключается. Короче мы прекрасненько поняли друг друга

cheshire
cheshire аватар
Offline
Зарегистрирован: 11.07.2014

ой, и за это я тогда тоже извеняюсь )))

Probelzaelo
Offline
Зарегистрирован: 15.04.2011

leshak пишет:
по крайней мере "у нас", где привыкли ставить галку "agree" не думая и не читая, OpenSource, в головах является синонимом "халява"
это понятно.

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

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

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

cheshire пишет:

насколько я знаю ардуино open source, что насколько я понимаю значит что каждый имеет право смотреть, менять и делать все что ему захочется.

Не совсем так: есть несколько разных лицензий "открытого кода" и одна часть предполагает, что исходники программы должны быть доступны и можно делать с ними можно все, кроме смены автора, а другая часть - предполагает возможное коммерческое использование и никаких обязанностей в части открытого кода. Отсюда и все терки между GPL и BSD лицензиями, например.

cheshire
cheshire аватар
Offline
Зарегистрирован: 11.07.2014

спасибо, понял уже что глупость сказал))

kentik
Offline
Зарегистрирован: 28.03.2013

подскажите плиииз с этими лок битами. не понимаю - прописались или нет. реально проверить сейчас не могу. камня на руках нет.

C:\>C:\arduino\hardware\tools\avr\bin\avrdude -CC:\arduino\hardware\tools\avr\et
c\avrdude.conf avrdude -v -U lock:w:0xFC:m -pm328p -cstk500v1 -PCOM4 -b9600

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\arduino\hardware\tools\avr\etc\av
rdude.conf"

         Using Port                    : COM4
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 9600
         AVR Part                      : ATMEGA328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page
      Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
-- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  36
00 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  45
00 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  45
00 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  45
00 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  45
00 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  45
00 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0
 0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0
 0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.11s

avrdude: Device signature = 0x1e950f
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as 7
avrdude: reading input file "0xFC"
avrdude: writing lock (1 bytes):

Writing |                                                    | 0% 0.00s ***faile
d;
Writing | ################################################## | 100% 0.19s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0xFC:
avrdude: load data lock data from input file 0xFC:
avrdude: input file 0xFC contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.03s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0xfc != 0x3c
avrdude: verification error; content mismatch

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as 7
avrdude: safemode: Fuses OK

avrdude done.  Thank you.

 

maksim
Offline
Зарегистрирован: 12.02.2012

Прописались.

0xFC = 0b11111100
0x3C = 0b00111100

Старшие два бита не используются и всегда равны нулю. Если смущает ошибка, то пишите w:0x3C, но суть от этого не изменится.

kentik
Offline
Зарегистрирован: 28.03.2013

maksim пишет:

Если смущает ошибка, то пишите w:0x3C, но суть от этого не изменится.

Не понял. 0x3C - снимает лок камня. 0xFC - залочивает.

kentik
Offline
Зарегистрирован: 28.03.2013

kentik пишет:

maksim пишет:

Если смущает ошибка, то пишите w:0x3C, но суть от этого не изменится.

Не понял. 0x3C - снимает лок камня. 0xFC - залочивает.

а все. туплю. я понял.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

vlkam пишет:

Вообще то нужно уже потихоньку привыкать, что инет теперь доступен и школьникам.
Этому кренделю запросто может быть лет 12-14

 

....почему не - 56.....78 ?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

kentik пишет:

вот интересно -  эти ребята правда за 30 000 рублей могут скопировать прошивку из залоченного avr? http://russiansemiresearch.com/

1000 скетчей разных, 1000 считываний залоченных кодов.... анализ логики считывания известных залоченных кодов... наверное - возможно.... при анализе скетчей > 10000 :) - но это не 30 тыров :(

MacSim
Offline
Зарегистрирован: 28.11.2012

SU-27-16 пишет:

kentik пишет:

вот интересно -  эти ребята правда за 30 000 рублей могут скопировать прошивку из залоченного avr? http://russiansemiresearch.com/

1000 скетчей разных, 1000 считываний залоченных кодов.... анализ логики считывания известных залоченных кодов... наверное - возможно.... при анализе скетчей > 10000 :) - но это не 30 тыров :(

возможно все. к примеру пики разлочивались: потер микруху наждаком, посветил ультрафиолетом места локов, поставив (записав) тем самым в них 1, и все код читается программатором. отчасти поэтому в авр и пиках защита реализована по разному биты ставятся 0 и 1. от пиков ушел, за современные сказать не могу.

с залочиванием понятно. залочили - защитили. перевернем вопрос: как достать прошивку с залоченного.

вопрос чтения защищенных мк интересен. кто какие способы знает?

не спрашивайте зачем, и не надо разводить дискуссий зачем, проще написать... надо. к примеру имею биссспелооотник штатский и необходимо найти способ борьбы с аналогами, для чего надо изучить прошивку. такой ответ подойдет?

 

tipgeroi
Offline
Зарегистрирован: 03.04.2016

А я слышал если микроконтроллер запустить на минимальном напряжении и после выполнить chip eraset и т.к. сначала происходит затирание всего а lock в последнюю очередь то из-за нехватки питания ничего не сотрется и тут когда доходит дело до lock bit питание поднимают.После чего можно читать прошивку.А так же имея ИП можно приобрести азотную кислоту химически чистую и смыть с чипа все лишнее после микроскоп и УФ стиратель.Так же при серийном производстве часть чипов могут глюкнуть и lock не установится.Еще существует высоковольтный параллельный программатор которым можно попытаться "вылечить пациента"))) кто ещё что слышал пишите.Рад буду услышать ваши соображения. ..

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

tipgeroi пишет:
А я слышал...

прекрасно - ты назначен модератором форума "Слухи и сенсации".

tipgeroi
Offline
Зарегистрирован: 03.04.2016

Типа это все чушь?

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

tipgeroi пишет:
Типа это все чушь?

типа, ты наелся информационного дерьма.

tipgeroi
Offline
Зарегистрирован: 03.04.2016

Дерьма вы кажется отведали уважаемый. А я любопытствую. Как то ведь читаю эти прошивки. Вот на китайском сайте аж 5 способов применяют к микроконтроллерам от Атмел. К каждому свой подход.И декапсуляция примерно к 1 из 10 применяется .У них прямо списки и указан способ как они его вскрыли.Вот только способ указан типа "декодирован" "декапсулирован" "расшифрован". И называется все это реверс инженеринг или avr cracking. Короче надо учить китайский и рыть на их форумах походу.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

tipgeroi пишет:
Короче надо учить китайский и рыть на их форумах походу.

да - дело за малым и, за ценой не постоим...

valeryich
Offline
Зарегистрирован: 29.02.2020

Вот читаешь всю эту байду, и так и хочется сказать:"Ну и дураки вы тут все!". Шутка.
Ну вот нахрена все эти бит-локи, если их можно сбросить, обратившись в какие-то фирмы? Ну что это за защита, если её можно обойти?
Давайте раскритикуем мой способ - я предлагаю оставить снаружи клеммники для портов ввода-вывода и питания, периферии-датчиков-дисплеев-исполнительных механизмов, а всё остальное залить компаундом. 
Можно ли считать-скопировать программу из залитого компаундом камня?
 

 

b707
Offline
Зарегистрирован: 26.05.2017

valeryich пишет:

Вот читаешь всю эту байду, и так и хочется сказать:"Ну и дураки вы тут все!".

не все, но некоторые точно... Уважаемый. вы на даты постов смотрите? Нафига вы это старье из архива подняли?

Цитата:
Можно ли считать-скопировать программу из залитого компаундом камня?

 

любой компаунд можно счистить. Только зачем? Вы в курсе, что "слить программу из контроллера" в принципе невозможно, потому что ее там нет. там прошивка, что как бы совсем не одно и тоже.

valeryich
Offline
Зарегистрирован: 29.02.2020

b707 пишет:

любой компаунд можно счистить. 

Это не так. Некоторые Вы будете счищать вместе с кожей и костями.

b707 пишет:

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

Возможно, у нас с вами нестыковка в определениях и терминах. 
Прошивка -  она в цифровых машинных кодах. Но это ПРОГРАММА. Хоть и написана на языке машины.
Тема защиты от копирования именно этого и касается.

rkit
Offline
Зарегистрирован: 23.11.2016

valeryich пишет:

Некоторые Вы будете счищать вместе с кожей и костями.

Ты хотел сказать, "с тонким слоем корпуса микросхемы, который и без этого пришлось бы удалять"?