【问题标题】:Application signing - changes to APK应用程序签名 - 对 APK 的更改
【发布时间】:2013-11-25 08:45:48
【问题描述】:

我一直在玩 android APK 签名,我想再问几个问题。

我知道 MANIFEST.MF 包含 APK 中所有文件的 SHA-1 哈希值。我知道有 CERT.SF 包含清单的散列和所有清单条目的散列。然后是 CERT.RSA,其中包含来自用于签署 APK 的密钥库的 RSA 证书。

我已经能够复制 MANIFEST.MF 和 CERT.SF 的内容,但我找不到 CERT.RSA 是如何“连接”到这些文件的。

我的意思是:如果我更改 APK 内容(例如替换应用程序图标),那么当然,在安装过程中,我会收到异常说 MANIFEST 中的哈希和实际哈希不同。但是当我更新 MANIFEST 和 CERT 中的哈希值以使它们正确时,我仍然在安装过程中收到 Invalid Certificate Exception。但这次是在 apk 中的第一个资源文件上。

那么,即使我更新了哈希值,Android 怎么知道我更改了 apk 中的某些内容?我发现这与 CERT.RSA 有某种关系,但我很难弄清楚它是如何工作的。

编辑,更清楚地说:除了上面提到的之外,所有的东西都必须匹配,Android 才会认为某些 APK 有效?

【问题讨论】:

    标签: android hash certificate apk rsa


    【解决方案1】:

    所以,我做了更多的研究,偶然发现了 BlackHat 会议的这个精彩演讲: http://youtu.be/ExX9_BN9XL8

    这是关于与 APK 签名密切相关的 Andorid Master Key 漏洞利用。尽管我仍然希望对所有这些背后的一些加密过程进行更深入的解释,但这次演讲是一个很好的开始。我绝对推荐给对这个话题感兴趣的人。 (如果您知道任何相关的谈话/文本,请分享它们作为评论或答案)

    如果我发现任何更详尽的内容,我稍后会在此处添加以供后代使用:) 在那之前,真正的答案是:阅读源代码...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-05
      • 2016-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多