Защита программ для многих является темой актуальной и производители охотно идут на встречу разработчикам. Они же (производители) пытаясь облегчить нам жизнь придумывают всякие ISP, Bootloader-ы и прочее. Но это все программы, а следовательно они потенциально опасны. Конечно Bootloder не Windows - много не наворочаешь, но и в паре килобайт кода могут поджидать неприятные сюрпризы:
1. Недокументированные вызовы
2. Функции без контроля входных параметров
3. Просто ляпы (ну это уже совсем маловероятно)
По работе больше приходится сталкиваться в основном с 51 кристаллами, однако проблема на мой взгляд присуща всем семействам.
К сожалению за примерами далеко ходить не пришлось.
1. Phillips P89LPC922 (Просто предупреждение)
Bootloader содержит недокументированный вызов, позволяющий прочитать содержимое незащищенного кристалла. Фишка в том, что это нельзя сделать с помощью программатора (верификация не поддерживается).
К чести Philips надо сказать, что хорошо документированный исходник выложен у них на сайте, а сам Bootloader можно легко заменить.
2. Atmel AT89C51ED2 (Жалко тех, кто его использует)
Bootloader зашит в ПЗУ и имеет дыру, позволяющую его же средствами обойти защиту любого уровня. Причем, учитывая специфику кода, можно утвеждать что данную дыру имеют все кристаллы семейства AT89C51XX2.
К чему это я все.
Хотелось бы знать насколько серьезно по Вашему мнению следует относиться к теме защиты вообще, и следует ли тратить дополнительные время и средства на изучение устойчивости системы к взлому?