Защита прошивки
- Сообщения: 43
- Зарегистрирован: Вт окт 14, 2008 23:47:09
Уважаемые, а не подскажете ли как надо выставить галочки в CodeVisionAVR так, чтобы после прошивки мега16 нельзя было эту прошивку считать?
- Реклама
- Сообщения: 170
- Зарегистрирован: Пт июл 31, 2009 21:52:18
- Сообщения: 293
- Зарегистрирован: Пн дек 24, 2007 07:09:09
Бред не несите.Aiudara писал(а):Наверно отметить "програмин и верификейшн дисэбл"
Фьюзы: SPIEN, JTAGEN(вроде), а вообще для таких целей есть специальные LockBits.
Даташит - библия моя...


VenomXP писал(а):Бред не несите.Aiudara писал(а):Наверно отметить "програмин и верификейшн дисэбл"
Фьюзы: SPIEN, JTAGEN(вроде), а вообще для таких целей есть специальные LockBits.
добавлено ibiza11
херово вы свою библию читаете!!!
Последний раз редактировалось ibiza11 Вт авг 04, 2009 17:43:36, всего редактировалось 1 раз.
Ставим плюсы: )
для меги16 SPIEN при последовательном программировании недоступен (см. ДШ)VenomXP писал(а): Фьюзы: SPIEN, JTAGEN(вроде), а вообще для таких целей есть специальные LockBits.
- Реклама
- Сообщения: 293
- Зарегистрирован: Пн дек 24, 2007 07:09:09
Признаю свою неправоту и прошу прощения за недостоверную информацию и, возможное, оскорбление. 
Даташит - библия моя...


- Сообщения: 170
- Зарегистрирован: Пт июл 31, 2009 21:52:18
- Сообщения: 43
- Зарегистрирован: Вт окт 14, 2008 23:47:09
Спасибо за такое внимание к такому вопросу.
А делается все так:
выбирается опция "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.
А делается все так:
выбирается опция "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.
- Сообщения: 361
- Зарегистрирован: Ср янв 21, 2009 00:45:33
Секрет, млин, заключается в умении пользоваться поиском, 1024 раза про все это уже говорили... 
Оптимизм х (Опыт + Знания) = const
А по мне, так тут вообще никаких секретов нет. Если лок-биты установлены (оба), то все читается FF. Естественно, записываться тоже не будет, т.к. сначала надо ERASE CHIP сделать, но это, кстати, при любых лок-битах. Если лок-биты сняты, то все читается и сравнивается ОК!
Я его у вас даже за 500 баксов куплю!
Если установлены локи, никакой станок, и даже прокатный стан не поможет. Производители МК, идиоты, по-вашему?
Да вы шо?! И покажите мне тот станок!Секрет заключается в станке, который побитово снимает структуру чипа EEPROM
Я его у вас даже за 500 баксов куплю!
Если установлены локи, никакой станок, и даже прокатный стан не поможет. Производители МК, идиоты, по-вашему?
Цапу крутить надо!!! Ку или не ку?
RVL писал(а):... Я оставил их в положении по-умолчанию (=1 =1 =1 =1)! Если их поставить в нижние положения - могут возникнуть проблемы с прерываниями.
...
JTAG и так по-умолчанию отключен (галочка не стоит).
Дык кто угодно его за 500 баксов бы купил.. т.к. стоит он намного дорожеIgor_67 писал(а):Я его у вас даже за 500 баксов куплю!
мне кажется, слухи о ценности таких станков и вообще технологии считывания закрытых чипов (а именно МК) сильно преувеличены. в современном мире гораздо проще и дешевле нанять кого-то, кто напишет полный аналог прошивки для конкретного девайса с нуля, без всякого взлома. я еще понимаю - снять топологию ПЛИС или памяти с аппаратным шифрованием, но программу МК?! это не актуально, имхо. особенно МК класса AVR
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Как вариант - МК имеет внутри помимо всего прочего некий криптоалгоритм, неизвестный и ресурсоемкий, и по этой причине - практически неломаемый без вмешательства вовнутрь. И при этом работает в составе дорогого и пользующегося спросом АПК.
- Сообщения: 1148
- Зарегистрирован: Вт июл 08, 2008 12:24:17
Станки такие действительно существуют - сродни тем, с помощью которых производились цельнотянутые "аналоги" i8086, так что ирония эта - мимо кассы абсолютно. Производители м/к не идиоты, просто против лома нет приема - "что одн человек сделал, другой - завсегда сломать может". Да и кроме таких станков, есть другие методы - там уже давно не так примитивно все. А купить такое за 500 баксов не удастся. Полагаю, и за 500 штук баксов - тоже не удалось бы.Igor_67 писал(а):Да вы шо?! И покажите мне тот станок! Я его у вас даже за 500 баксов куплю!
Тема разумеется не ограничивается контроллерами от Атмела.ARV писал(а):...в современном мире гораздо проще и дешевле нанять кого-то, кто напишет полный аналог прошивки ...
Пройдите по ссылке - новый станок для, как я понял, напыления/удаления слоев (вплоть до восстановления чипа) с разрешением 100нм, стоит 500к евро, б/у - 40к евро. Час работы на нем - 200 евро. Станки для подключения к оголенным контактным площадкам чипов с "толстым" техпроцессом - до 5к евро б/у.Yellow Tiger писал(а):Полагаю, и за 500 штук баксов - тоже не удалось бы.




