保护市场应用程序

时间:2010-07-28 15:21:39

标签: android security

我正在制作我的第一款Android应用程序,而且我已经开始考虑将其作为付费应用程序投放市场。

在研究这一步骤的过程中,我发现打破谷歌的版权保护计划基本上是微不足道的。我不知道这究竟有多大问题,或者我们是否需要研究其他形式的保护。

显然像ProGuard这样的混淆器是一个很好的第一步,但你会如何保护你的应用程序不被释放到野外?

其次,除了加密内容(这很难,因为解密密钥也必须存储在程序中),你会如何防止有人只是转储sqlite3数据库的内容?

4 个答案:

答案 0 :(得分:4)

就在今天,Google发布了旨在取代版权保护的新许可服务的详细信息。有关详细信息,请参阅此处:http://developer.android.com/guide/publishing/licensing.html

答案 1 :(得分:2)

听起来你有两个安全问题:

  1. 用户无需付费即可复制和分发您的应用程序
  2. 开发人员针对自己的应用程序反编译源代码并将其窃取
  3. 关注#1:用户完全可以这样做。一种解决方案是免费提供应用程序,但禁用它直到他们在独立网站上注册(他们支付的地方)。但是,这种方式无法将市场作为分发应用程序的便捷方式。

    关注#2:这是开发Java应用程序的一个问题,并不是特定于Android。如你所说,使用混淆器是一个好的开始。但是,您总是能够反编译Java代码,而且我知道并没有任何简单的方法。

    我的观点是,如果罪魁祸首有足够的动力,盗版很难停止。但是,总的来说,我不认为它对Android开发者来说是一个巨大的问题。我知道很多人不会为下载盗版电影或视频游戏而眨眼,而是为所有移动应用付费。

答案 2 :(得分:1)

答案 3 :(得分:0)

  1. 不要使用sqlite。使用您自己的自定义格式。这不是牢不可破的,但肯定会使提取数据变得更加困难
  2. 只是不要将敏感数据保存在客户设备上。将它保存在您自己的服务器上。并将您的应用程序设置为服务器端数据/应用程序的“瘦”客户端。
  3. 目前,90%的设备在90%的运行时间内都具有互联网连接功能。您应该考虑数据的重要性,并选择将其始终保持在服务器端,需要Internet连接,或者将其保留在客户端,从而使其易受攻击。