|
делается загрузчик. биты защиты выставляются так, что загрузчик не считать не ISP не с помощью юзерской программы.
Берешь HEX файл преобразовываешь его в BIN и каждый байт шифруешь + перемешиваешь например с еще 1 байтом. Шифрование любое, по вкусу.
в итоге получаешь файл. (загрузчик ессно выполняет обратное дейсвтие по известному только тебе алгоритму)
Заказчику поставляешь пик с зашитым загрузчиком.
далее...
в своей программе у тебя есть несколько переходов ну скажем например
A:
.......
goto B
.......B:
но теперь ты делаешь
не goto B
а
MOVLW cJUMP_B_CODE
GOTO DECODER_ADR
где DECODER_ADR = адрес в загрузчике
далее где нибудь в пользовательской
программе объявляешь массив зашифрованных меток
например метка B зашифруется в метку B+0x1234 и т.д.
по адресу DECODER_ADR находится программа декодирования
которая в качесвте арг имеет cJUMP_B_CODE
и в соответствии с ним манимулирует с PC и с PCLATH
и после некоторый пертрубаций прыгает на метку B.
в коде cJUMP_B_CODE зашифрован адрес в массиве меток.
программа расшифровывает его, считывает и загружает шифрованную
метку потом расшифровывает ее и грузит в этим самые PC+PCLATH
таких прыжков можно сделать несколько.
итог:
программу можешь выкладывать хоть на сайте. даже если ее расшифруют
а то восстановить прыжки на метки не получится это уж точно.
такая система работает у меня уже достаточно давно.
E-mail: info@telesys.ru