Даже если вы используете скомпилированный язык, такой как C # или Java, люди могут выполнять обратный инжиниринг, если они мотивированы и технически компетентны. Запутывание не является надежной защитой от этого.
Вы можете добавить запрет на обратный инжиниринг в ваше лицензионное соглашение с конечным пользователем для вашего программного обеспечения. Большинство проприетарных компаний делают это. Но это не предотвращает нарушения, оно только дает вам законную защиту.
Лучшее решение состоит в том, чтобы предлагать продукты и услуги, в которых доступ пользователя для чтения вашего кода не влияет на вашу способность продавать ваш продукт или услугу. Основывайте свой бизнес на предоставляемых услугах или подписке на периодические обновления данных, а не на сам код.
Пример: Slashdot фактически делает доступным свой код для своего сайта. Вредит ли это их способности управлять своим сайтом? Нет.
Еще одним средством защиты является установление цены, чтобы попытка пиратского кода была более дорогостоящей, чем покупка законных лицензий на использование вашего продукта. Джоэл Спольски дал рекомендации по этому поводу в своих статьях и подкастах.