Некоторые решения, с которыми я сталкивался, использовали ioncube. Там множество настроек, и если все правильно сделать, то дешифровать, а потом еще и попытаться разобрать код - может быть очень проблематично.
Конечно, отлавливать ошибки в таком коде невозможно, все будет ссылаться на первый/нулевой символ в зашифрованном файле, но мы же говорим о защите.
Но где-то на просторах интернета я читал, что "хакеры" могут использовать модифицированное "ПО" и получить исходный код, но сам я с этим не сталкивался, ничего в открытом доступе найти не смог, но мне это и не особо требовалось, просто интерес