Как обезопасить Fabric API Key от APK-декомпиляции? - PullRequest
0 голосов
/ 20 сентября 2018

Пока декомпилирует файл APK моего приложения для Android, я обнаружил ключ ткани ApiKey в файле манифеста.Как обезопасить Fabric API Key от APK-декомпиляции?

Я сделал следующие изменения кода, чтобы скрыть Fabric API Key от файла манифеста.Но он все еще виден после декомпиляции APK.

Я добавил свой ключ API ткани

FabricAPIKey=0123456789ABCDEF012345123456789ABCDEF012 в gradle.properties.

В build.gradle (Модуль)

...........
def FABRIC_API_ID = FabricAPIKey

    .....
    buildTypes {
            debug {
                ..........
                manifestPlaceholders  = [//this is used for defining the variable for manifest file
                    FABRIC_API_KEY:FABRIC_API_ID
                 ]
            }
    release{ ..........
                manifestPlaceholders  = [//this is used for defining the variable for manifest file
                    FABRIC_API_KEY:FABRIC_API_ID
                 ]
            }

А в AndroidManifest.xml

<meta-data
            android:name="io.fabric.ApiKey"
            android:value="${FABRIC_API_KEY}" />

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Майк из ткани здесь.Следует хорошо заметить точку зрения Севы: «Достаточно мотивированный хакер может в конечном итоге добраться до него, если отладчик и достаточно времени».

Если вы хотите, вы можете поместить ключ API и секрет сборки в fabric.propertiesфайл.Скопируйте ваш ключ API из вашего манифеста Android и удалите строку, которая гласит: <meta-data android:name="com.crashlytics.ApiKey" android:value="YOUR_API_KEY_HERE"/>

Затем создайте файл с именем fabric.properties и поместите эту папку в корень модуля, который применяет аварийный отказ в его 'build.gradle В файле fabric.properies add:apiKey=YOUR_API_KEY_HERE

После завершения обновите свои зависимости, чтобы внести изменения: ./gradlew clean --refresh-dependencies

0 голосов
/ 20 сентября 2018

Попытайтесь сохранить это в strings.xml и сослаться на это здесь.

Тогда манифест будет показывать только идентификатор ресурса в формате int.

Но если вы откроете файл strings.xml, он будетбыть найденным.

...