Как защитить Java-приложение от обратного проектирования или кражи кода? - PullRequest
0 голосов
/ 12 августа 2011

Я хочу открыть свое настольное Java-приложение для общественности, но я не уверен, как защитить его от обратного проектирования или кражи исходного кода?

Возможно ли преобразовать приложение в исполняемый файл? и если это так, разве этого не достаточно, чтобы защитить его?

Ответы [ 3 ]

5 голосов
/ 13 августа 2011

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

5 голосов
/ 13 августа 2011

Вы можете использовать Обфускатор Java, такой как ProGuard .

ProGuard - это бесплатный инструмент для сжатия файлов класса Java, оптимизатор, обфускатор и предварительный верификатор. Он обнаруживает и удаляет неиспользуемые классы, поля, методы и атрибуты. Он оптимизирует байт-код и удаляет неиспользуемые инструкции. Переименовывает остальные классы, поля и методы, используя короткие бессмысленные имена . Наконец, он предварительно проверяет обработанный код для Java 6 или для Java Micro Edition.

3 голосов
/ 12 августа 2011

Исполняемый файл Java и собственный исполняемый файл - это всего лишь набор машинного кода (с дополнительными аннотациями и прочим). Так что, по сути, нет никакой разницы с точки зрения того, насколько легко провести обратный инжиниринг.

Если вы компилируете с помощью javac, вы можете использовать флаг -g:none, чтобы исключить компиляцию всей отладочной информации в исполняемый файл.

...