Программная защита приложений от копирования.
* Защищаемое приложение – приложение которое свободно запускается до защиты.
* Защищающие приложение (которое предстоит разработать) – изымает часть кода из защищаемого приложения и динамически возвращает его для запуска после проверок на легальность владения. Также генерирует коды активации и прочее (описано ниже).
* Защищенное приложение – результат работы защищающего приложения над защищаемым (изъятие кода, снабжение доп. Интерфейсом, снабжение алгоритмами дешифрации).
Защищающее приложение модифицирует защищаемое приложение, в результате, модифицированная версия (защищенное приложение) лишается части кода и дополняется интерфейсом для ввода и проверки сведений необходимых для запуска приложения. Также в процессе защиты снабжается алгоритмами дешифрации. Действия (математические действия над кодами символов которые используются в буквенно-цифровых записях -серийный номер, код оборудования, код запуска) алгоритмов производятся над кодами символов, путем перевода по таблице юникода символов в цифровые записи и после преобразований перевод обратно в символы). На стадии активации защищенного приложения, если пользователь сообщает (вводит) достаточные для использования приложения сведенья, то изъятый код динамически возвращается в приложение (на время запуска).
Сведения необходимые для запуска защищенного приложения это два ключа: 1. Индивидуальный ключ активации, который получает пользователь от производителя за плату (и который проходит проверку защищающим приложением- оно же генератор ключей и средство проверки ключей, т.е. если ключ еще не был использован, то создается код запуска). 2. “Код запуска” создается защищающим приложением на основе кода оборудования (индивидуальных особенностей пользовательской системы (процессор+мать) и ключа активации.
Код оборудования создается модифицированным приложением (защищенным) по алгоритму заложенному во время создания защищенного приложения и делается доступным пользователю. Для получения кода запуска он пересылает производителю ПО код оборудования и ключ активации.
Претендентам вышлю более подробное описание и эскизы интерфейса с пояснениями.