|
Какой Bootloader лучше?, Поделитесь опытом. |
|
|
|
Apr 22 2008, 03:02
|
Частый гость
 
Группа: Свой
Сообщений: 157
Регистрация: 1-03-06
Пользователь №: 14 835

|
Вопросы САМОСТОЯТЕЛЬНОГО написания не раз обсуждались в форуме. Плодить одинаковые темы нехочеться. Я вего лишь спросил о сравненией готовых (отлаженных и оптимизированых). Очень нехочеться спорить о том, что лучше, написанный самим за неделю или человеком, который этой темой занимаеться не один год. Кстати о демогогии: во всё горло кричать "лучший это который написал САМ!!!" и дольше: Цитата Мне загрузчик студент написал ... А на меня никто не работает! (шутка) И еще ответы в стиле: "посмотри в гугле". Хороший ответ, универсальный. Подходит ко всем вопросам, только зачем тогда форум..... А еще посмотреть можно в яндаксе, рамблере и т.д. (шутка) Одно радует есть и результат: http://avrubd.googlepages.com/avrub.htmhttp://progloader.nm.ru/Поэтому во избежание дальнейших споров немного перефразирую вопрос, не какой лучше, а кто какой знает. А сравню сам.
|
|
|
|
|
Apr 22 2008, 17:23
|
Знающий
   
Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984

|
2Igor26Спасибо,стараюсь когда есть настроение. GSKВот еще ссылочка для вашей коллекции http://www.microsyl.com/раздел "megaload" ЗЫ На мой взгляд Вы в самом начале неправильно поставили вопрос , с разнообразием бутов не густо ,что бы было из чего выбирать ,да и выглядело в целом на тип - "подайте-принесите" , вот и имеете разборки на хвосте
|
|
|
|
|
Apr 22 2008, 18:05
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(Igor26 @ Apr 22 2008, 10:02)  Молодец! Хорошая работа!  Думаю насчёт защиты от копирования работа не очень хорошая. Это оттуда: Цитата Шифрование - производится шифрование прошивки по алгоритму Z=255-(X xor Y) исключающее ИЛИ с инверсией, расшифровка производится в программе загрузчика по обратному алгоритму X=(255-Z) xor Y X- байт прошивки Y- байт таблицы Z- зашифрованый байт Прошивка шифруется блоками по 256 байт,тоесть первым байтом с первым байтом таблицы,второй со вторым и т.д. ,начиная с 257-го байта прошивки опять берется первый байт из таблицы ,258-ой со вторым и т.д. Если компилятор генерирует свободную область памяти и заполняет ее значениями $FF или $00 ,и она не используется программой ,ее рекомендуется заполнить случайными значениями для более надежного шифрования. Если компилятор не генерирует свободную область памяти ,при компиляции следует в конце исходника добавить случайных данных чтобы размер прошивки был кратен 256.При соблюдении этих рекомендации прошивка будет зашифрована достаточно надежно. Если во FLASH содержатся к.л. сообщения, или вообще что-либо выдаваемое наружу (в 95% применений это так), то такая защита ломается элементарно. Конечно это справедливо только в том случае, если основная программа не написана специальным "неломаемым" образом, но об этом тут ни слова.
|
|
|
|
|
Apr 24 2008, 11:04
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(defunct @ Apr 23 2008, 00:09)  Ну почему же, если следовать рекомендации и не давать повода получить 256-ти байтный ключ в явном виде, то сломать защиту будет весьма непросто. Надеюсь прошив зашифрованную программу, бутлоадер не выдаст ее потом назад в расшифрованном виде.  Любая защита действует только до тех пор, пока взломщику не удаётся внедрить свой исполняемый код.Часть ключа фактически уже известна т.к. в таблице прерываний естественно поставить команды rjmp (до 8 кБайт FLASH) или jmp ( >8 кБайт FLASH), а их коды известны. Но можно сломать и без использования этой уязвимости. На месте взломщика действуем так: Предположим объём программы 8 кбайт, а объём сообщений, которые она выдаёт из FLASH и которые мы можем прочесть, 100 байт (символов). Тогда, изменяя по 1 байту через 100, мы за 80 раз добьёмся того, что сообщение изменится (кол-во допустимых перепрограммирований 10000). По теории вероятности это произойдёт на 40й раз. Когда это произойдёт мы фактически узнаем 100 байт ключа. Дезасемблировав по 100 байт из других страниц, наверняка найдём исполняемый код, который заменяем на наш.
|
|
|
|
|
Jun 5 2008, 15:24
|
Местный
  
Группа: Свой
Сообщений: 374
Регистрация: 6-09-05
Из: Тирасполь, Приднестровье
Пользователь №: 8 294

|
Цитата(Flasher @ Apr 25 2008, 13:30)  Смотря для чего нужен бутлодырь. Для обновления программ в готовых изделиях у заказчиков- пользуюсь модифицированным AES бутлодырем от атмеля. Изменил прогу для того чтобы бутлодырь запрашивал программирование и 1 секунду ждал ответа от программы апдейта. Дальше идет проверка крк и запуск программы или постоянный перезапуск бутлодыря. Из основной программы сделал команду сброса устройства. Таким образом можно без проблем программировать по радиоканалу. Все делается с помощью двух .bat файлов. Для других изделий применяю выведенный ISP разъем. Совсем недавно выявил проблему в AES бутлодыре- при определенных объемах прошивки бутлодырь не правильно расшифровывает в мк последний блок. Из-за чего CRC вылетает с ошибкой. Ошибка вылазит очень редко- но становится не очень приятно- просто приходится менять размер прошивки.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|