Господа, о чём спор :-)
На сегодня хардверный ключ (если он достаточно шустрый) вполне может обеспечить приемлемую защиту проги.
Алгоритм:
- ключ выполняет декриптование по ассиметричному алгоритму
- Всё тело проги кроме лоадера зашифровано
- Лоадер при расшифровке использует закрытый ключ, лежищий в ключе
- Прога написана так, что запуск любой функции сопровоздается заглушкой, которая сквозь ключ выдирает эту функцию из закриптованного блока, выполняет, а после выполнения чистит её из памяти (чтобы по дампу нельзя было восстановить расшифрованное тело программы)
При этом сломать прогу можно будет _только_ выдрав расшифрованный код _ВСЕХ_ функций (ну и main вне зависимости от языка, если это конечно не VB ;-) что может быть ВЕСЬМА геморройно.
|