Обфускация в Android Studio

Есть ли какой-нибудь инструмент обфускации для Android Studio? Плагин IntelliGuard объявлен для поддержки в Studio, но он не работает на самом деле из-за отсутствия плагина AntSupport. Я не смог найти его в репозитории. Любые идеи?

P.S. Процесс сборки Android Studio основан на Gradle, поэтому я не ожидал увидеть там поддержку Ant. Возможно, я ошибаюсь.

Ответы

Ответ 1

  • Основная обфускация

Чтобы запутать код в студии Android, просто перейдите в файл build.gradle в проекте Android Studio:

enter image description here

Измените свойство minifyEnabled с false на true

enter image description here

Это базовое оскорбление.

После генерации apk вы можете увидеть результат обфускации, декомпилирующий apk с любым программным обеспечением, например, эта страница может вам помочь:

http://www.decompileandroid.com/

В результате обфускации вы увидите классы с именем: a, b, c....

enter image description here

И переменные и методы обфускации будут иметь также имена, такие как aa, c, ac...

enter image description here

  • Нормальная обфускация:

Чтобы запутать код в более сложной форме, вы можете перейти в приложение корневого каталога и создать файл .pro, например, на следующем рисунке. Я создал файл: proguard-rules-new.pro, в том же в каталоге вы должны увидеть файл proguard-rules.pro

enter image description here

Теперь добавьте файл, который вы создали, в файл build.gradle

enter image description here

И отредактируйте файл .pro, который вы создали, со своими правилами пользовательских правил proguard

enter image description here

Ответ 2

Сначала включите minifyEnabled в вашем файле build.gradle, например

minifyEnabled true

После этого добавьте строки ниже в файл progurad-rules.txt

-keep class yourpackage.** { *; }
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose

Для проверки его работоспособности перейдите по ссылке:

http://www.javadecompilers.com/apktool  веб-сайт, чтобы вы могли проверить после декомпиляции.

Это сработает, и ваши занятия будут полностью скрыты.

Ответ 3

Android сентябрь 2018 года выпускает новый инструмент R8 инструмент сокращения и запутывания.

R8 - R8 - это инструмент для сокращения и уменьшения java-кода, который преобразует Java-байт-код в оптимизированный код dex

  1. Открыть gradle.properties
  2. Добавить android.enableR8 = true

в

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit

android.enableR8 = true

Минимальные требования:

  • Android-студия версии 3.2, сентябрь 2018 г. или выше
  • Java 8

R8 Tool