Защита исходного кода от модификации?

Есть ли возможность максимально усложнить (понятно, что на 100% приложение не защитить) получение исходного кода и его модификации для Node.js приложений? На счет обфускации я в курсе, но может есть способы понадежнее?

Суть проблемы - необходимо распространять ПО по лицензии. Заказчик качает приложение, покупает ключ для активации и запускает приложение на своем сервере. Естественно, если исходники будут в обычном текстовом виде, то несложно будет найти механизм проверки лицензии.
  • Вопрос задан
  • 6999 просмотров
Решения вопроса 3
yarkov
@yarkov
Помог ответ? Отметь решением.
Такое вот ещё нагуглил
Ответ написан
Комментировать
MvcBox
@MvcBox
Software Engineer [C/C++/JS(for Node.js)/etc]
Есть некоторые варианты.
Я делал для личных нужд набор утилит для сборки Node.js приложений с основными возможностями:
1) Возможность обфускации кода (с массой разных настроек).
2) Возможность обфускации строковых литералов (становится очень сложно просто взять и подправить блокнотиком строку).
3) Возможность "компиляции" исходников в байткод для V8.
4) Умеет расставлять своеобразные "ловушки" для стандартного дебагера. (при попытке запустить приложение под дебагером - оно просто завершит свою работу).
5) Возможность собрать все Node.js приложение в один единственный исполняемый файл, который просто можно закинуть на сервер и запустить. (здесь есть некоторые ограничения).
6) Ну и разная мелочь типа вырезания всех комментариев, очистка node_modules от лишнего мусора и прочее.

Комбинируя эти механизмы можно получить неплохой результат.

Так как инструмент пока не в открытом доступе (еще не все сделано, что хотел), я могу на безвозмездной основе предложить автору (ну или другим желающим) помочь сделать относительно защищенный билд приложения.
(контакты для связи в профиле).

Если кто-то желает проверить эффективность такой сборки, то могу предоставить тестовый билд Node.js приложения, чтобы проверить, легко ли его модифицировать или достать из него исходники.

UPD:
Добавил билды тестового приложения, которое просто выводит некоторую информацию о системе в консоль:
MacOS - https://vk.com/doc195981398_514491540
Linux - https://vk.com/doc195981398_514491370
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
для пыха есть ионкуб, есть ли что-то подобное для ноды - загадка, можете погуглить в этом направлении.
Ответ написан
profesor08
@profesor08
Часть логики и вычислений перенести на сервер. Активация софта по email и паролю. Все.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы