【问题标题】:Protect information in Android保护 Android 中的信息
【发布时间】:2013-05-16 13:57:51
【问题描述】:

问题描述

我正在为 Android 编写应用程序。申请必须做到以下几点:

  1. 使用以下 URL 连接到服务器:

    http://www.example.com/database.xml?username=xxx&password=xxx

    用户名和密码我必须保留在手机中,并且所有用户的用户名和密码都相同。例如,如果 1.000.000 人拥有我的应用程序,他们都使用相同的 url 相同的用户名和密码连接到服务器。

  2. 从 URL 下载 database.xml 文件并将数据保存在 SQLite 数据库中。


问题

  1. 我如何在我的应用程序中使用 URL 以确保有权访问我的代码的用户无法从代码中知道我使用的 URL 并确保我的密码和用户名的安全。 甚至只是为了保证整个 URL 的安全http://www.example.com/database.xml?username=xxx&password=xxx,因为它对所有用户都是一样的。

  2. 如何保护我的 SQLite 数据库。例如,如果某人在手机上具有 root 访问权限,他可以打开数据库并获取我保存在那里的所有信息。

我需要保护我的数据。

【问题讨论】:

  • “我只需要保护我的信息不受大多数​​用户的影响”——那么你不需要做任何事情。但是,“我只需要保护我的信息不受大多数​​用户的影响”与“如果有人在电话上有 root 访问权限”不相符,因为“大多数用户”没有 root 访问权限。您需要决定是否要保护“大多数用户”。
  • @CommonsWare 我可以保护我的数据不受所有人的影响吗?如果可以,我该怎么做?
  • “我可以保护我的数据不受所有人的影响吗?” -- 没有。
  • @CommonsWare 我猜是这样的 :) 以及如何保护 97% 的使用我的应用程序的人?
  • “我该如何保护 97% 的用户免受使用我的应用程序的影响?” - 没做什么。 97% 的用户无法访问 APK 内容或内部存储。 3% 的人可以做他们想做的事,因为这是他们的数据,而不是你的。一旦它在他们的设备上,它就是他们的数据,而不是你的。如果您不希望它成为他们的数据,请不要将其放在他们的设备上。例如,使用未在其中嵌入用户名和密码的不同 URL。

标签: java android security


【解决方案1】:

我认为你应该选择ProGuard。我知道很难防止逆向工程。以下是一些提供有关此知识的帖子。

Protecting Your Android Applications 是一篇介绍 ProGuard 必要信息的文章。

阅读FAQ了解更多信息。

要保护数据库,请使用SQLCipher

【讨论】:

【解决方案2】:
  1. 使用HttpRequest apis 来获取数据,而不是使用浏览器意图。
  2. 在你的情况下,我看不到任何完美的保护工程。任何具有初级逆向工程知识的人都可以从您的代码中获取数据。

【讨论】:

  • 1.我不使用浏览器意图。我使用 HTTPClient 和 HTTPGet。因此,但服务器上的数据受密码保护。 2. 如果不是我的情况,如何进行数据保护?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多