Java-обфускаторы
Я ищу хороший Java-обфускатор.
Я провел начальные исследования в следующих Java-объективах: proguard, yguard, backguard, dasho, allatori, jshrink, smokescreen, jobfuscate, marvin, jbco, jode, javaguard, jarg, joga, cafebabe, donquixote, mwobfu, bbmug, zelix klassmaster, sandmark, jcloak, заросли, blufuscator и защитный код Java.
Я пробовал proguard, и у него действительно хороший графический интерфейс, он кажется действительно стабильным и, по-видимому, самым популярным, но, похоже, это не похоже на перечисление в указанном файле jar (не в коде, который я пытался обфускать) что было странно. Кажется, что Yguard требует некоторого взаимодействия с ant, о котором я не слишком много знал.
Что такое хороший анфускатор java? Он не должен быть бесплатным, он просто должен хорошо работать и быть простым в использовании.
Ответы
Ответ 1
Я использую ProGuard для всех моих выпусков, и я нашел, что это отлично. Я не могу рекомендовать его достаточно!
Я несколько раз сталкивался с неясными ошибками, вызванными его оптимизацией, и теперь отключил оптимизацию по всем направлениям - с тех пор не было проблем, вызванных ProGuard. Хотя, если быть честным, все это были некоторые версии назад - YMMV.
Я использовал GUI только для того, чтобы начать настройку, а затем прибегаю к редактированию самой текстовой конфигурации, что очень просто сделать. В эти дни я делаю конфигурацию вручную.
У меня довольно сложные проекты, все из которых связаны с динамической нагрузкой и отражением. Я также сильно использую отражение для реализации обратного вызова. ProGuard справился с этим очень хорошо.
EDIT: Мы также используем DashO Pro для одного из наших продуктов - я изучил его для упаковки продуктов, за которые я несу ответственность, и пришел к выводу, что конфигурация была слишком запутанной и сложной; также интеграция его в сборку script казалась немного больной. Но, честно говоря, это было примерно в 2001 году... так что в современных версиях это может быть лучше.
Ответ 2
В этой статье приводится хорошая коллекция ссылок на бесплатные и коммерческие инструменты.
"Защитите свой Java-код - через обфускаторы и дальше"
Автор также обсуждает сильные и слабые точки обфускации байткода
Ответ 3
В чем проблема с ProGuard? (который рекомендуется этот вопрос и этот.
В перечислителе есть раздел troubleshooting, но они, похоже, учитываются просто отлично.
Однако Obfuscation нарушает некоторые попытки отражения, хотя современные обфускаторы могут обнаруживать и в некоторой степени корректировать использование отражения в коде, который они запутывают.
Ответ 4
Я использовал Zelix Klassmaster в коммерческом приложении в течение нескольких лет и нашел, что он отличный. Я бросил довольно много ресурсов на запутанный код и не смог "сломать" его. Это дорого, но хорошо.
Я только прекратил использовать его, когда моя версия стала достаточно старой, что стоимость обновления была значительной. Мои потребности изменились, и мне действительно не нужно было запутывать классы больше. Однако, если возникнет такая необходимость, я заплачу за нее и мгновенно воспользуюсь ею.
Приветствия,
-Ричард
Ответ 5
Мы используем Zelix Klassmaster пару лет, и я могу порекомендовать его.
Ответ 6
Я использую и предлагаю Zelix - 100% - очень надежная и надежная защита