Если вы хотите, чтобы люди могли выполнять ваш код (а если нет, то почему вы написали его в первую очередь?), То их ЦП должен иметь возможность выполнять ваш код. Для того, чтобы выполнить код, ЦП должен уметь понимать его.
Поскольку процессоры тупые, а люди нет, это означает, что люди также могут понимать код.
Есть только один способ убедиться, что ваши пользователи не получают ваш код: не давайте им свой код.
Это может быть достигнуто двумя способами: Программное обеспечение как услуга (SaaS), то есть вы запускаете свое программное обеспечение на своем сервере и разрешаете своим пользователям только удаленный доступ к нему. Это модель, которую использует переполнение стека, например. Я уверен, что Stack Overflow не запутывает их код, но вы не можете его декомпилировать.
Другой способ - модель устройства: вместо того, чтобы предоставлять пользователям свой код, вы предоставляете им компьютер, содержащий код. Это модель, которую используют игровые приставки, большинство мобильных телефонов и TiVo . Обратите внимание, что это работает, только если вы «владеете» всем путем выполнения: вам нужно создать свой собственный ЦП, свой компьютер, написать собственную операционную систему и собственную реализацию CLI . Тогда и только тогда вы сможете защитить свой код. (Но учтите, что даже самая незначительная ошибка 1024 * сделает все ваши средства защиты бесполезными. Microsoft, Apple, Sony, музыкальная индустрия и киноиндустрия могут это подтвердить.)
Или вы можете просто ничего не делать, а это значит, что ваш код будет автоматически защищен законом об авторском праве.