验证平台签名的系统应用

时间:2018-04-11 18:29:22

标签: android apk android-source signature

使用特定版本的平台密钥签名的Android应用可以获得系统权限according to this documentation. 我想知道这些apks是如何以及在何处被验证的。必须有某种引用,或者是另一个平台签名的apk或公钥的副本。我有两个假设:

  • /system/framework/framework-res.apk
  • 的证书
  • 存储在/system/etc/security/otacerts.zip
  • 中的证书

两者都是包含公钥的自签名证书。在我的情况下,我可以看到它们是不同的(序列号)。

原因是我想将一个具有系统权限的应用程序添加到ROM中,我试图找出我必须在哪里辞职或交换证书。

1 个答案:

答案 0 :(得分:0)

如果您拥有所关注设备的源代码,则可以轻松地使用平台签名重新签名apk。

所以我猜你没有源代码,不知何故你获得root访问权限,然后你想在/ system上推送apk并通过将其重新签名到平台签名来使其获得特权,对吗?

如果我的猜测是正确的,那么这是不可能的。签署一个apk需要一个私钥,它只存在于签名服务器上,你无法得到它。

我会尝试回答第一个问题。如果我错了,请纠正我。虽然我不是100%肯定,但我更喜欢通过将framework-res.apk的签名与目标签名进行比较来进行签名检查。我想/system/etc/security/otacerts.zip用于在ota更新时进行dm-verify。