Должен ли я использовать dexGuard, redEX вместо proGuard, чтобы запутать вещательный приемник?

Поможет ли DexGuard запутать мой BroadcastReceiver? У меня есть важный алгоритм в одном из моих широковещательных приемников, и мне нужен способ его запутать, но DexGuard нужно приобрести лицензию? Proguards бесплатно, есть предложения? и я не могу найти ссылку для загрузки redex через facebook, поэтому я предполагаю, что он все еще находится в разработке. Итак, мой вопрос в том, какой из них будет запутывать мой широковещательный приемник.

мой файл proguard имеет такое содержимое:

    -keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
**-keep public class * extends android.content.BroadcastReceiver**
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService

обратите внимание, что он говорит, чтобы сохранить BroadcastReceiver, как я могу скрыть свои данные? Мне пришлось бы попытаться перенести всю свою логику в другой класс, но Broadreceiver агрессивно собирает мусор. Так что не вариант.


person j2emanue    schedule 25.10.2015    source источник


Ответы (1)


Вы правы, конфигурация ProGuard и DexGuard по умолчанию исключает классы, расширяющие BroadcastReceiver, поэтому просто перейдите к другому классу. Было бы лучше, если бы дизайн ОО имел вашу логику в отдельном классе - это делает ее более проверяемой для одного. Конечно, DexGuard обеспечит более надежную защиту, чем ProGuard, учитывая, что он имеет специальные функции защиты, шифрование классов и API, скрывающие звук, как если бы они были полезны. Обратите внимание, что существуют и другие коммерческие обфускаторы для Android.

Для повышения безопасности одним из вариантов было бы хранить/запускать алгоритм в собственном коде, поскольку его сложнее реконструировать.

Но на самом деле, как вы говорите, important algorithm интересно, должно ли это вообще быть в приложении. Хранение и запуск алгоритма в контролируемой серверной среде и наличие безопасного API было бы лучше IMO - конечно, нет 100% безопасности, так как ваш сервер может быть взломан, но это, вероятно, будет лучше, чем иметь копию алгоритма в каждом .apk скачал.

person scottyab    schedule 26.10.2015