Отказ от ответственности: Подобные вопросы задавались несколько раз по SO, однако этот вопрос гораздо более конкретен и до сих пор не получил адекватного ответа.
Мы разрабатываем новое пакетное программное обеспечение, которое из соображений безопасности бизнеса должно запускаться на сервере нашего клиента на PHP. Программное обеспечение продается с конечной лицензией на каждого пользователя; диапазон цен находится в пределах 20-80 долларов за пользователя, целевой рынок - небольшой (и ориентированный на Интернет) консалтинговые компании и ИТ-агентства.
Чтобы воспрепятствовать пиратству (например, отменить принудительное применение пользовательских лицензий), мы хотели бы максимизировать защита кода PHP любыми технологически доступными средствами, которые не доставляют неудобств пользователю.
Давайте разберемся:
не причиняет неудобств пользователю: никаких дополнительных установок на стороне сервера (без zend-декодера или других двоичных файлов) . Должен работать на обычном общем PHP-хосте из коробки.
Максимизируйте защиту: взлом защиты должен перевешивать затраты на покупку дополнительной лицензии. То есть профессиональному хакеру требуется не менее 3-5 рабочих дней, чтобы снять защиту пользовательской лицензии.
Для проактивного решения проблем, получивших наибольшее количество голосов:
НЕ ищу идеального обфускации, просто чрезвычайно трудных (определяется как: необходимо принять не менее 3-5 рабочих дней на расшифровку) ИЛИ другие методы борьбы с пиратством
НЕ ищу программные пакеты «черного ящика», которые я не знаю, как они работают, и не могу определить, подходит ли они нашим цель; ищу алгоритмические и нестандартные идеи.
НЕ ищем лицензионной / правовой защиты, у нас это уже есть.
Мы ДЕЙСТВИТЕЛЬНО знаем, что при наличии достаточного времени и внимания вся обфускация рано или поздно будет взломана; мы просто хотим, чтобы это не было экономичным решением.
Учитывая вышеупомянутые ограничения, какие методы или идеи вы бы использовали, чтобы максимизировать меры по борьбе с пиратством?
Охота за головами: речь идет о самом сложном алгоритмическом методе обращения вспять - разработать код с учетом указанных выше ограничений.
Обновление / охота за головами: я принял ответ Иры Бакстера, в основном потому, что остальные не смогли ответить на основной вопрос и попытались подвергнуть сомнению основные предположения (бизнес, закрытый исходный код , ядда ядда). Всем спасибо!