Я работал в одной организации, то написал много программ, на делфи. И все под ключ, т.к. за программы не платили, а жизнь они мне облегчали. Когда увольнялся, то все мои программы заглохли. Ключ- по системному времени, раз в месяц надо менять. Если ключ не совпадет, то старый ключ удаляется.
(1 если есть файл- открыть, если нет - программа блокирована, на экране "отсутствует файл ключа, работа не возможна"
2, открыли файл, сверить запись, если нормальная, то в работу, если нет, то удалить файл ключа и переход к п.1).
Я не думаю, что программы у Вас настолько серьезные, что надо аж в Америке патентовать, но и работать даром не стоит.
А запись в файле связана с годом и месяцем , эти данные подвергаются вычислениям, которые есть в генераторе ключа и программе, и сравнивается.
Получался результат, где то ок 30 символов, можно и гораздо больше.
А декомпилировать, потом разбираться, это та еще морока, легче новую программу написать.