原文地址
https://mp.weixin.qq.com/s/5hGVk6IYVzkDRSb-DGMY-w
v2的核心,分块计算
"首先,说一下 APK 摘要计算规则,对于每个摘要算法,计算结果如下:
将 APK 中文件 ZIP 条目的内容、ZIP 中央目录、ZIP 中央目录结尾按照 1MB 大小分割成一些小块。
计算每个小块的数据摘要,数据内容是 0xa5 + 块字节长度 + 块内容。
计算整体的数据摘要,数据内容是 0x5a + 数据块的数量 + 每个数据块的摘要内容
总之,就是把 APK 按照 1M 大小分割,分别计算这些分段的摘要,最后把这些分段的摘要在进行计算得到最终的摘要也就是 APK 的摘要。然后将 APK 的摘要 + 数字证书 + 其他属性生成签名数据写入到 APK Signing Block 区块。"
v3的核心