保护敏感的Android字符串



我有一些敏感字符串需要保护。例如:

  • 我的Admob ID
  • 我的Mapbox私钥

Admob ID似乎必须在AndroidManifest.xml中:

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

有没有办法保护这个ID,让逆向工程师无法访问它?

我在我的Fragment:中加载我的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。

知道吗?

APP中存在的任何信息都可以反编译。你所能做的就是添加加密和解密算法,使应用程序很难被轻易破解。同时,可以对so库进行签名验证,以加强应用程序的安全性。

也许你应该检查一下是否完全隐藏了所有资源(包括字符串(:AndResGuard

最新更新