如何保护 Android 应用程序中的字符串?
选项:
ProGuard:它不保护字符串? proguard 是否可以混淆静态字符串常量?
加密字符串:对于加密,我需要在某个地方存储加密密钥(字符串),这也是同样的问题,如何保护加密密钥。
从 Web 服务获取字符串:但是这个解决方案对我不起作用,因为应用程序没有互联网需求/访问,这是需求/业务决策。
NDK:编写包含字符串的 c 文件并使用 JNI 返回,但我发现 Hex-Ray 反编译以反编译 *.so 文件 https://www.hex-rays.com/index.shtml
=================================================
C中的函数
jstring Java_com_abc_xyz_getString(JNIEnv* env, jobject javaThis) {
return (*env)->NewStringUTF(env, "Hello String");
}
=====================================
请建议在 Android SDK/NDK 中保护字符串的最佳选项。