Обфускация Java - ProGuard / yGuard / другое?[закрыто]
-
02-07-2019 - |
Вопрос
Это примерно так же, как и эти недавние вопросы:
Лучшее приложение для Обфускации Java Для Уменьшения размера Создание Java-программ без обратной разработки
Тем не менее, один в конечном итоге рекомендует yGuard, а другой ProGuard, но ни один из них не упоминает оба.Интересно, могли бы мы сравнить каждый из них и услышать опыт людей по обе стороны баррикад.Глядя на это сравнительная диаграмма на веб-сайте ProGuard это явно относится к ProGuard.Но как насчет реального опыта каждого из них - какой из них дает меньшую отдачу?из какого из них сложнее декомпилировать?какие версии Java поддерживаются каждой из них?
Лично мне это особенно интересно с точки зрения J2ME, но, пожалуйста, не ограничивайте обсуждение этим.
Решение
Proguard - лучший продукт;особенно, если вы потратите время на то, чтобы просмотреть настройки для J2ME.
Специально для J2ME существует гораздо лучший (коммерческий) продукт под названием Мбустер
Я добился увеличения размера своего приложения примерно на 25% после это было через Proguard.В основном это связано с улучшенным сжатием Zip-файла в Jar-файле и всесторонней поддержкой слияния классов и предварительной проверки.
Другие советы
Результаты для моего проекта.
- Запутывание - оба в порядке.
- Оптимизация - ProGuard произвел код на 20% быстрее (для измеренного узкого места приложения).
- Компактность - Защитите примерно на 5% меньше.
- Конфигурация / Ant - YGuard намного проще в настройке.
Итак, я бы посоветовал ProGuard, но конфигурация и интеграция ant определенно могут быть улучшены.
Мое мнение таково - ProGuard лучше.Производительность немного меньше.Оптимизация происходит лучше и намного быстрее.
Декомпиляция проста в обоих случаях.Ну, я имею в виду, если вы хорошо и по-настоящему знаете Java знать бизнес-логика того, что вы декомпилируете, заключается в том, что нет проблем вернуть это в исходные коды из запутанных классов.
Итак, мое мнение таково, что ProGuard лучше.