你如何保护APK中包含的信息?

我假设有人建立了一个APK反编译器……保护敏感信息的最佳做法是什么(如后端数据库的auth参数)? 我想某种中间件可以工作,但这对速度无法做好事。 什么是“正确的方式”?

很难对Dalvik字节码进行反向工程; 我的理解是,没有简单的映射回Java字节代码,更不用说Java源代码,特别是如果它通过ProGuard。 但是 ,auth参数通常是数据,而不是代码,并且可以更容易地窥探。 此外,有兴趣破坏您的凭据的人还有许多其他攻击手段,包括数据包嗅探,不需要恢复您的源代码。 Anon的评论是完全正确的 – 不要相信客户。

对于最佳实践,您可以使用公钥加密系统,从服务器获取凭据等,以避免将敏感信息放入.apk文件中。 不要相信混淆或模糊字节代码来保守你的秘密。 他们不会。

如果您正在编写Andoid应用程序并使用AWS,强烈建议您查看:

https://github.com/apetresc/awskeyserver

作者使用AWS IAM(身份和访问管理服务)与Google App Engine成功保护身份validation参数。 我想IAM最终将被包含在AWS的Android SDK中,但在此之前,这是一个很好的选择。