2012-01-12 65 views
0

您好我正在为android定制ROM,我将免费将一些付费市场应用程序放入ROM中。所以我试图想出一种安全的方式来检测ROM是否属于我的内容,这样人们就无法将我的应用程序取出并在其他ROM上使用它们而无需从市场购买。Android源代码更改签名

我知道的build.prop检查是一种很流行的方式,但这并不是很安全,因为您可以反编译应用程序并获取正在检查的字符串,并将其添加到您的build.prop中只读存储器。

因此,我想出了一个随机应用程序在ROM中签名检查的想法。这样他们就需要知道它正在检查什么样的随机应用程序,签名必须是我的。是否可以将源中使用的测试密钥更改为独特的东西?或者是否有人对这个问题有更好的想法?我认为对需要在ROM中的应用程序(如framework-res.apk)进行签名检查就足够了,很难检测到这是我反编译时所需要的。

感谢您的帮助

回答

1

我认为有3种方式,让您的付费应用程序的安全:

  1. 常用的移动电话公司使用的平台签名(可在源代码中找到)签署预先安装的应用程序,以便用户无法以常用方式卸载系统应用程序,除非它们是根设备。

  2. 您可以在系统属性中添加一些值,在您的应用程序的开始,您可以从系统数据库中获取值,并首先对值进行加密(如不能轻易解密的MD5),然后与你的MD5哈希写在你的应用程序中。

  3. Android提供了一个名为ProGuard的工具,它可以混淆您的代码。

希望这能帮到你!

+0

好吧,这是一个ROM,这意味着它是一个根源设备,我使用bcrypt而不是md5哈希,因为它更安全,并始终使用proguard – user577732 2012-01-13 02:22:28