Android源码更改签名

时间:2012-01-12 20:53:16

标签: java android security open-source digital-signature

您好我正在为Android定制ROM,我将免费将一些付费市场应用程序放入ROM中。因此,我试图找到一种安全的方法来检测ROM是我的,以便人们无法将我的应用程序拉出来并在其他ROM上使用它们而无需从市场上购买。

build.prop检查我知道这是一种流行的方式,但是这显然不是很安全,因为您可以反编译应用程序并获取它检查的字符串,并将其添加到任何ROM上的build.prop中

所以我想出了对ROM中随机应用程序进行签名检查的想法。这样他们就需要知道它正在检查的随机应用程序,签名必须是我的。是否可以将源中使用的测试密钥更改为唯一的?或者有没有人对这个问题有任何更好的想法?我认为对一个需要在ROM中的应用程序进行sig检查,例如framework-res.apk就足够了,很难检测出反编译时我正在寻找的内容。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我认为有三种方法可以确保您的付费应用程序安全:

  1. 通常移动电话公司使用平台签名(可以在源代码中找到)来签署预安装的应用程序,这样用户就无法以常用方式卸载系统应用程序,除非他们将设备作为root用户。

  2. 您可以在系统属性中加入一些值,在应用程序的开头,您可以从系统db获取值并首先加密该值(如MD5,不能轻易解密),然后比较将MD5哈希值写在应用程序中。

  3. Android提供了一个名为ProGuard的工具,可以对代码进行模糊处理。

  4. 希望这会对你有帮助!