Цитата(Леонид Иванович @ Oct 25 2006, 00:32)

Выложить исходник на каком-нибудь популярном ресурсе, тогда никто не станет повторять. Проверено.

А если серьёзно, то думаю, что повторяют один в один, потому что трудоёмко восстанавливать алгоритм, понимать его и вносить модификации, когда можно просто скопировать hex.
Если принцип действия будет подробно разжёван и указаны все подводные камни, (как, например, делаете Вы в своих публикуемых проектах, за что Вам отдельное спасибо), то по сравнению с простым копированием едва ли более трудоёмким будет выпуск модернизированного аналога, имеющего бОльшую привлекательность на рынке сбыта. Скажем, просто перепишут на другой (более дешёвый или более маложрущий) МК, используют недавно появившиеся ЭК, которые чуть лучше или доставабельнее оригинальных, изменят внешний вид и чуть расширят функциональность (скажет, интегрируют туда ещё и калькулятор, термометр или дополнительный интерфейс) - вот и отличия, и новые фичи. И если автор первоначального проекта, публикуя своё творение, не ставил перед собой задачу обучить новичков своему ремеслу, то ему будет, как минимум, обиден (и невыгоден материально) такой пиратский подход конкурентов.
Так что стоит обратить внимание на реальную ценность проекта для потенциальных конкурентов. Если потенциальных конкурентов нет, например, в силу специфики продукции, а есть только любители, желающие сделать себе на коленках максимум одну копию для личного пользования, то волноваться не стоит - пиратство в малых количествах лишь послужит рекламой Вашему изделию.
Цитата(SasaVitebsk @ Oct 24 2006, 22:33)

Одназначно придётся применять бутлоадер. И вот вопрос.
Как я понимаю защиту можно пробить если знать некоторые внутренние блоки. (Если я ошибаюсь, - успокойте меня). Эти внутренние куски проги можно "вычислить" по внешним признакам. Ну например достаточно ли для взлома будет таблицы CRC16 или таблицы знакогенератора?
Вообще какой объём кода необходимо знать для взлома? И кто как с этим борется? Теоритически данные таблицы можно вынести за пределы проги и не включать их в пространство программы. Располагать по фиксированному адресу. Правда проект будет выгладеть несколько не очень.
Вы говорите так, как будто уже выбрали криптосистему и обсуждаете её уязвимость. В таком случае стоит хотя бы назвать её, если она стандартная. Лично я бы поместил в бутлоадер простую самодельную расшифровалку, не прибегая ко всяким DESам, IDEAям и пр. Стандартные криптосистемы обязаны быть стойкими с открытым алгоритмом. В Вашем случае такого требования нет, ибо флеш одновременно хранит и алгоритм, и ключ, так и сделайте алгоритм секретом - этим можно значительно упростить расшифровальщик, т.к. стандартные подходы криптоанализа неприменимы из-за незнания алгоритма. Разница была бы при использовании несимметричных криптоалгоритмов, но такой всё равно не влезет в ресурсы МК. Раз уж Вы хотите сохранить в тайне код Вашей программы, то алгоритм расшифровальщика тоже является его частью и логично хранить в секрете и его. Короче, обычный ADD-XOR-ROL-расшифровальщик с секретными константами вполне подойдёт.
И ещё обратите внимание на то, что разрешённая фузами инструкция SPM резко увеличивает вероятность слёта флеши, об этом встречались высказывания на форумах. Для меня бы это имело бОльшее значение, чем возможность производить удалённые апгрейды без раскрытия части кода.