Безопасные чувствительные Android строки - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть несколько чувствительных строк, которые я бы хотел защитить. Например:

  • Мой идентификатор Admob
  • Мой закрытый ключ Mapbox

Похоже, что идентификатор Admob должен быть в AndroidManifest. xml:

    <!-- AdMob -->
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="@string/admob_app_id"/>

Есть ли способ защитить этот идентификатор, чтобы обратные инженеры не могли получить к нему доступ?

Я загружаю свой закрытый ключ Mapbox в свой фрагмент:

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    val ac = activity?.applicationContext ?: return inflater.inflate(R.layout.fragment_map, container, false)
    Mapbox.getInstance(ac, resources.getString(R.string.mapbox_access_token))
    return inflater.inflate(R.layout.fragment_map, container, false)
}

Есть ли способ обеспечить это? Я реализую облачные функции , у которых есть безопасный node.js сервер - но вышеупомянутые API являются родными Android.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 03 апреля 2020

Возможно, вам следует проверить это, чтобы полностью скрыть все ресурсы (включая строки): AndResGuard

0 голосов
/ 03 апреля 2020

Любая информация, существующая в приложении, может быть декомпилирована. Все, что вы можете сделать, это добавить алгоритмы шифрования и дешифрования, чтобы затруднить взлом приложения. В то же время можно проверить подпись библиотеки so, чтобы усилить безопасность приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...