Страница 1 из 1

Защита прошивки

Добавлено: Вт авг 04, 2009 11:14:38
RVL
Уважаемые, а не подскажете ли как надо выставить галочки в CodeVisionAVR так, чтобы после прошивки мега16 нельзя было эту прошивку считать?

Добавлено: Вт авг 04, 2009 11:15:51
Aiudara
Хорошо бы и JTAG отключить.

Наверно отметить "програмин и верификейшн дисэбл"

Добавлено: Вт авг 04, 2009 12:46:26
VenomXP
Aiudara писал(а):Наверно отметить "програмин и верификейшн дисэбл"
Бред не несите.

Фьюзы: SPIEN, JTAGEN(вроде), а вообще для таких целей есть специальные LockBits.

Добавлено: Вт авг 04, 2009 13:10:26
ibiza11
VenomXP писал(а):
Aiudara писал(а):Наверно отметить "програмин и верификейшн дисэбл"
Бред не несите.

Фьюзы: SPIEN, JTAGEN(вроде), а вообще для таких целей есть специальные LockBits.
:)) :)) :)) :)) что все кидаются на человека? сразу "БРЕД" :evil: сами бред не несите! специальные LOckBits это и есть "programming and verification disabled" :evil: Сами разберитесь сначала толком! и на остальных нефиг газовать, пока сами точно не узнаете! а вы "вроде"!!!

добавлено ibiza11
херово вы свою библию читаете!!!

Добавлено: Вт авг 04, 2009 15:44:51
GP1
VenomXP писал(а): Фьюзы: SPIEN, JTAGEN(вроде), а вообще для таких целей есть специальные LockBits.
для меги16 SPIEN при последовательном программировании недоступен (см. ДШ)

Добавлено: Вт авг 04, 2009 20:24:03
VenomXP
Признаю свою неправоту и прошу прощения за недостоверную информацию и, возможное, оскорбление. :oops:

Добавлено: Вт авг 04, 2009 23:19:27
Aiudara
Вот скриншот установки защиты прошивки в CVAVR ( на фьюзы справа можно не смотреть ).

Изображение

Добавлено: Ср авг 05, 2009 07:49:14
GP1
Вообщето просили на мегу16 :)

Добавлено: Ср авг 05, 2009 20:48:52
RVL
Спасибо за такое внимание к такому вопросу.
А делается все так:
выбирается опция "Programming and Verification disabled" в групбоксе "FLASH Lock Bits".
Как - показано на рисунке, любезно предоставленном товарищем Aiudara и GP1. НО! Я не ставил никакие Boot Lock Bits! Я оставил их в положении по-умолчанию (=1 =1 =1 =1)! Если их поставить в нижние положения - могут возникнуть проблемы с прерываниями. А по другому - вообще смысла нет, т.к. вроде они запрещают ЗАПИСЬ, а не чтение.
JTAG и так по-умолчанию отключен (галочка не стоит).
Устанавливать SPIEN - отключиться SPI интерфейс и программировать получиться только на палаллельном программаторе (собственно, считать прошивку можно на нем же).
После этого я делал так:
1. Стирал чип (Program->Erase Chip);
2. Заливал прошивку (Program->FLASH) (с проверкой);
3. Ставил фьюзы (Program->Fuse Bits);
4. Ставил локи (Program->LockBits).
Можно, конечно, нажать и "Program All", но по мне - так надежнее вручную. Да и не всегда мне надо заливать в EEPROM.

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

Снять защиту с чипа можно только полностью стерев его (Program->Erase Chip).

Все выщесказанное проверенно на ATmega16L.

Добавлено: Ср авг 05, 2009 23:05:42
Lonleystranger
Секрет заключается в станке, который побитово снимает структуру чипа EEPROM, т.е. так и снимается программа. От него уже не защитишься :)))

Добавлено: Пн авг 10, 2009 19:38:45
Aheir
Секрет, млин, заключается в умении пользоваться поиском, 1024 раза про все это уже говорили... :evil:

Добавлено: Пн авг 10, 2009 21:00:07
Igor_67
А по мне, так тут вообще никаких секретов нет. Если лок-биты установлены (оба), то все читается FF. Естественно, записываться тоже не будет, т.к. сначала надо ERASE CHIP сделать, но это, кстати, при любых лок-битах. Если лок-биты сняты, то все читается и сравнивается ОК!
Секрет заключается в станке, который побитово снимает структуру чипа EEPROM
Да вы шо?! И покажите мне тот станок!
Я его у вас даже за 500 баксов куплю!
Если установлены локи, никакой станок, и даже прокатный стан не поможет. Производители МК, идиоты, по-вашему?

Добавлено: Пн авг 10, 2009 21:13:06
GP1
RVL писал(а):... Я оставил их в положении по-умолчанию (=1 =1 =1 =1)! Если их поставить в нижние положения - могут возникнуть проблемы с прерываниями.
...
JTAG и так по-умолчанию отключен (галочка не стоит).
:shock:

Добавлено: Пн авг 10, 2009 21:43:01
NiTr0
Igor_67 писал(а):Я его у вас даже за 500 баксов куплю!
Дык кто угодно его за 500 баксов бы купил.. т.к. стоит он намного дороже ;) Советую почитать http://www.cl.cam.ac.uk/TechReports/UCAM-CL-TR-630.pdf

Добавлено: Пн авг 10, 2009 21:49:26
ARV
мне кажется, слухи о ценности таких станков и вообще технологии считывания закрытых чипов (а именно МК) сильно преувеличены. в современном мире гораздо проще и дешевле нанять кого-то, кто напишет полный аналог прошивки для конкретного девайса с нуля, без всякого взлома. я еще понимаю - снять топологию ПЛИС или памяти с аппаратным шифрованием, но программу МК?! это не актуально, имхо. особенно МК класса AVR

Добавлено: Пн авг 10, 2009 22:10:24
NiTr0
Как вариант - МК имеет внутри помимо всего прочего некий криптоалгоритм, неизвестный и ресурсоемкий, и по этой причине - практически неломаемый без вмешательства вовнутрь. И при этом работает в составе дорогого и пользующегося спросом АПК.

Добавлено: Пн авг 10, 2009 22:57:20
Yellow Tiger
Igor_67 писал(а):Да вы шо?! И покажите мне тот станок! Я его у вас даже за 500 баксов куплю!
Станки такие действительно существуют - сродни тем, с помощью которых производились цельнотянутые "аналоги" i8086, так что ирония эта - мимо кассы абсолютно. Производители м/к не идиоты, просто против лома нет приема - "что одн человек сделал, другой - завсегда сломать может". Да и кроме таких станков, есть другие методы - там уже давно не так примитивно все. А купить такое за 500 баксов не удастся. Полагаю, и за 500 штук баксов - тоже не удалось бы. ;)
ARV писал(а):...в современном мире гораздо проще и дешевле нанять кого-то, кто напишет полный аналог прошивки ...
Тема разумеется не ограничивается контроллерами от Атмела. :))) А задача эта существует и в современном мире, так как далеко не всегда "проще и дешевле нанять кого-то" - алгоритм сам по себе может быть тем секретом, который скрывают за локбитами, а доход от владения таким секретом м.б. достаточно высок; при одновременном выполнении этих условий может оказаться, что взлом, даже несмотря на чрезвычайно высокие расценки, экономически оправдан - вот тогда-то и зовут на помощь этих умельцев. И приведенные Вами в пример системы шифрования - очень подходящая иллюстрация, так как секреты такого уровня, на котором используется аппаратное шифрование, дешевыми бывают чрезвычайно редко. :)))

Добавлено: Пн авг 10, 2009 23:06:02
NiTr0
Yellow Tiger писал(а):Полагаю, и за 500 штук баксов - тоже не удалось бы. ;)
Пройдите по ссылке - новый станок для, как я понял, напыления/удаления слоев (вплоть до восстановления чипа) с разрешением 100нм, стоит 500к евро, б/у - 40к евро. Час работы на нем - 200 евро. Станки для подключения к оголенным контактным площадкам чипов с "толстым" техпроцессом - до 5к евро б/у.