ну "в принципе" есть градации пирамиды по затратам на того, кто будет вскрывать:
* проверка сертификата - любой человек, умеющий программирование или даже хороший админ, умеющий "несколько команд gdb"
* обфусцированный Perl-код - понадобится уже конкретно перловик
* сишный модуль - нужен любой сишник
* скомпилированная хрень, расшифровывающая сырцы - нужен не просто сишник, а умеющий дизассемблирование, их заметно меньше
* скомпилированная хрень, расшифровывающая сырцы с патченным интерпретатором - нужен сишник как выше, не просто с дизасссемблером, но еще и знакомый с исходниками перла, таких вообще мало
Ага, упаковать все зависимости в один пакет утилиткой с срана, обфусцировать, чтобы логику было труднее реверснуть, скомпилить это всё и статически слинковать, удалить все возможные символы, бинарь зашифровать алгоритмом цезаря и написать рядом утилитку на си, которая будет уметь его грузить в память и расшифровывать. И рядом положить библиотеку, которая будет заниматься протоколом клиент-серверного обмена, который каждый день/месяц меняется (протокол передачи шифруется каждый день новым ключом, а ключ можно скачать только при наличии валидной лицензии, причем эту часть проверки можно реализовать легко, штатными средствами ssl client auth) и требует от заказчика выкачивания новой версии.