如何保护XML文件?

时间:2012-10-03 16:57:58

标签: android xml

我有一个解析来自我的网站空间的数据的应用程序。但如果您对我的App进行逆向工程,任何人都可以找到我存储数据的位置。如何防止他人访问我的XML文件。 (我将所有文件路径存储在Strings文件中,因此proguard无法解决它),有没有办法在工作区中保存数据,只有应用程序可以访问它?还是有提供这种功能的服务? (注意:我没有任何网络开发经验)

提前致谢:)

1 个答案:

答案 0 :(得分:2)

没有一种简单的方法可以做到这一点。您可以执行以下几项操作,例如密码保护您的目录(但密码必须存储在apk中)或使用API​​密钥(但同样,您需要将其存储在apk中)。

一种选择是通过某种复杂的算法动态构建字符串路径,从而使proguard混淆有用。但是,在一天结束时,您仍然容易受到数据包检查(假设您没有使用HTTPS)。您还可以在应用程序上运行并在服务器上运行的共享密钥生成器(基本上是一种基于时间生成看似随机密钥的算法)。然后在运行时比较这些值,如果它们匹配,则将提供该文件。再次,proguard混淆将有助于弄清楚算法如何工作。

另一种选择是利用Android的私人空间。如果手机扎根你就会被冲洗,但这会有所帮助。基本上遵循这个算法:

  1. 安装后,应用会生成唯一ID
  2. 将唯一ID发送到记录它的服务器并生成对称密钥
  3. 将对称密钥存储在app-private存储空间
  4. 每次发出请求时,唯一ID都会与请求一起发送
  5. 服务器从数据库中检索以前生成的密钥,并使用它来加密正在服务的文件
  6. 该应用程序然后从app私有存储空间加载密钥并解密文件