Во-первых, вам действительно нужно помнить, что это никогда невозможно что-то перепроектировать. Все можно взломать. Умный разработчик, использующий умную IDE, уже может зайти достаточно далеко.
Ну, вы можете найти здесь список. ProGuard довольно хорош. Я сам использовал его, но только для «минимизации» Java-кода.
Я думаю, что Proguard лучший. Также возможно интегрировать его с вашей IDE (например, NetBeans). Однако учтите, что если вы запутаете свой код, будет сложно отслеживать проблемы в журналах ..
Прочтите мою статью Защитите свой Java-код - с помощью обфускаторов и не только [Архивировано] , где обсуждается обфускация и три других способа сделайте обратный инжиниринг ваших приложений более дорогим, а также получите набор ссылок на инструменты и дополнительные материалы для чтения.
Я использовал Аллатори , и он очень хорошо справлялся со своей задачей.
Если компьютер может запустить его, достаточно мотивированный человек может перепроектировать его.
Нам больше повезло с шифрованием jar-файлов, а не с запутыванием. Мы используем Classguard .
Как сказано в другом месте здесь, proguard хорош, но что может быть неизвестно, так это то, что есть также сторонний maven плагин для этого здесь http://pyx4me.com/pyx4me-maven-plugins/proguard-maven-plugin/ ... Я использовал их оба вместе, и они очень хороши.
Я работал с Klassmaster в моей предыдущей компании, и он действительно хорошо работает и может интегрироваться с системами сборки (поддержка maven превосходна). Но он не бесплатный.
Это правда, что всегда можно перепроектировать какой-то код, точно так же, как невозможно защитить дом таким образом, чтобы никто не мог украсть из него. Это не мешает мне запереть дверь хотя. На самом деле, я не в мире Java, я использую BitHelmet для .net.