android-如何保护文件不被用户复制或查看

时间:2014-05-25 05:16:36

标签: android android-sqlite

我正在处理一个应用程序,它花了我大约2个月的时间来收集数据。 我该如何保护我的数据库和文件?由于数据库的大小,我将其压缩(带密码)并将其放在资产文件夹中。我可以解压缩它。

2个问题:

  1. 在哪里我可以提取它,即使他们有一个有根设备也没有人可以访问它?
  2. 从zipfile中提取数据库后,我想将其复制到我的应用程序数据库中。用户是否可以访问数据库?

2 个答案:

答案 0 :(得分:2)

取决于您所期望的攻击者的聪明程度。如果您期望普通用户不要担心 - 只需将其放在您的数据目录中,他们就必须根据手机查看它。您可以从超级用户加密文件。从一个不会工作的坚定的黑客 - 他将反编译apk并找到密钥。您可以从网站传递密钥,但是一个好的黑客会在调试器下运行它并在内存中找到密钥。保护大部分数据的最佳方法是不要在应用程序中使用它,而只需在需要时通过webservice下载所需的内容,但这将花费金钱和时间。

答案 1 :(得分:0)

据我所知,无法将用户视线中的文件隐藏起来。他们有时可以轻松访问您的资源。但你应该加密你的数据。

您可以使用SQLCipher库来保护您的数据。见http://sqlcipher.net/

虽然它有一些开销,但您可以安全地分发数据。 希望它可以帮到你