Уважаемое Хабр-сообщество, хотел бы рассказать об одном из продуктов, который мы разрабатываем — Stringer Java Obfuscation Toolkit (https://jfxstore.com/stringer). Думаю многим Android и Java-разработчикам будет интересно, особенно, в свете подобных публикаций: habrahabr.ru/post/141522/.
Сразу скажу, что решение коммерческое, чтобы сэкономить кому-то, из читающих этот пост, время.
За прошлый, почти полный, год, мы сделали довольно много интересных вещей:
- У нас появилась поддержка платформы Android
- Добавили поддержку аннотаций
- Поддержка Java Mobile
- Плагин для Eclipse
- Оптимизирован алгоритм дешифрования строк
- Уменьшен общий размер кода, встраиваемого в защищаемое приложение
- Добавлены примеры проектов Ant и Maven
Как вы наверняка уже поняли, тип обфускации — шифрование строк.
Самая грандиозная новость — это, конечно, поддержка Android. Чтобы все было максимально удобно для разработчика, мы сделали плагин для стандартного IDE Android-проектов — Eclipse: плагин доступен на Eclipse Marketplace — marketplace.eclipse.org/content/stringer-java-obfuscation-toolkit.
Если использовать Stringer на пару с ProGuard — вы получите байт-код, который, во-первых, уронит dex2jar (на тестах было именно так), во-вторых, если все-таки не уронит, сломает голову товарищу, замышляющему злые дела.
В сочетании с возможностью использования аннотаций, защита чувствительных строковых констант (рекламные ID, различные учетные данные, параметры протоколов, непубличные линки, и т.п.) становится делом приятным и не занимает много времени.
В ближайших планах: реализовать один из алгоритмов обфускации, который сделает занятие злоумышленника практически бессмысленным, защиту ресурсов внутри приложения (properties, картинки и т.д.).
Есть идея сделать open source конфигуратор для ProGuard, нужен ваш отклик.
С главной jfxstore.com/stringer можно скачать Trial, только не забывайте, что обфусцированные триальной версией приложения проработают столько, сколько останется до окончания тестовой лицензии.
Автор: receiver