Для оценки я хочу зашифровать все строки в файле APK с помощью DexGuard, но без использования функций обфускации, сжатия или оптимизации.
Возможно ли это, или я вынужден зафрахтовать APK для его шифрования?
Я использую следующую команду для шифрования всех классов:
Шифровать APK без обфускации Dexguard
java -jar dexguard.jar @conf.pro -dontwarn -dontobfuscate -dontshrink -dontoptimize -injar in.jar -libraryjars android.jar -outjars out.apk
conf.pro выглядит следующим образом:
-dontpreverify
-repackageclasses ''
-allowaccessmodification
-optimizations !code/simplification/arithmetic
-keepattributes *Annotation*
-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
#...
-encryptstrings class uk.co.senab.actionbarpulltorefresh.library.BuildConfig
-encryptstrings class uk.co.senab.actionbarpulltorefresh.library.PullToRefreshAttacher$ViewDelegate
-encryptstrings class uk.co.senab.actionbarpulltorefresh.library.PullToRefreshAttacher$Options
#...
Я использовал инструмент jar tf ...
, чтобы получить все имена классов и затем добавили все классы с -encryptstrings class ...
после фильтрации, как в файле conf.pro.
Моя проблема в том, что ничего не зашифровано в out.apk.
Что не так с моими настройками?
Заранее благодарим за любую помощь.
UPDATE:
Я пробовал все виды комбинаций шифровать APK без запутывания, но это не представляется возможным. Итак, мое резюме заключается в том, что шифрование возможно только при запутывании с помощью DexGuard.
Единственные изменения, которые я вижу для шифрования с помощью DexGuard без обфускации, это зашифровать с обфускацией и использовать файл сопоставления для восстановления имен.
Но я не пробовал.