Защита программ на языке AutoLisp.


1.Шифровка с помощью программ PROTECT.
2.Псефдошифровка с помощью программы KELVINATOR.
Программа PROTECT производит шифровку исходного текста по некоторому алгоритму. Зашифрованный текст программы имеет заголовок:
AutoCAD PROTECTED LISP file
по которому он определяется транслятором как зашифрованный при использовании функции LOAD транслятор сам автоматически расшифровывает текст программы и использует его для дальнейшей работы.
PROTECT <исходный файл> <ключ> <шифрованный файл>.
Для более серьёзной защиты применяют псевдошифрование. Программа KELVINATOR переводит исходный текст программы в удобно читаемый вид:
1)Происходит удаление строчный комментариев.
2)Переменным и функциям присваиваются трудно воспринимаемые имена, делая их похожими друг на друга.
3)Происходит удаление пробелов, символов табуляции и перевода строки.
KELVINATOR реализован в виде набора файлов.
При этом программа трансляции представлена файлом KELV.EXE. файл KELV.DBF содержит библиотеку нетранслированных имен.
Формат использования транслятора следующий:
KELV <исходный файл> <зашифрованный файл> [<опции>]
Текст из исходного файла транслируется в зашифрованный, а аргументы опции задают использование таких параметров, как использование нетранслируемых имен из библиотеки и задание начальных символов имен переменных и функций.
При обработке программы KELVINATOR все имена функций и переменных изменяются. Этот принцип не действует для имен указанных в библиотеке, нетранслируемых имен, а также имен, вторая литера которых – двоеточие.
В стандартной библиотеке KELV.DBF содержатся имена всех внутренних функций, констант и переменных языка AutoLISP. При необходимости этот список может быть дополнен именами собственных функций и переменных. Лучшим вариантом является создание собственной библиотеки, для чего стандартную копируют и добавляют новые имена, после чего файлу присваивают новое имя.
После обработки размер файла уменьшается в 2-4 раза, за счет удаления пробелов и др.