android dex文件头中校验和和签名的用途是什么?

android dex文件头中校验和和签名的用途是什么?,android,dalvik,dex,Android,Dalvik,Dex,正如我们所知,所有android dex文件都有一个位于dex文件开头的dex文件头,可以描述为,但为什么会有校验和签名,它们的用途是什么?如果是为了完整性验证,签名就足够了,不需要存在校验和。它们基本上是不同的 签名用于完整性,校验和用于有效性。因此,如果dex文件校验和与其内容不匹配,则该文件被标记为无效。 此外:您需要了解。如果文件校验和无效,则没有必要检查其签名的完整性(抛出错误)。签名的要点不仅是完整性,而且是唯一标识文件 例如:优化dex文件时,会影响大小并更新校验和值,但签名保持

正如我们所知,所有android dex文件都有一个位于dex文件开头的dex文件头,可以描述为,但为什么会有校验和签名,它们的用途是什么?如果是为了完整性验证,签名就足够了,不需要存在校验和。

它们基本上是不同的

签名用于
完整性
,校验和用于
有效性
。因此,如果dex文件校验和与其内容不匹配,则该文件被标记为无效。

此外:您需要了解。如果文件
校验和
无效,则没有必要检查其签名的完整性(抛出错误)。
签名的要点
不仅是完整性,而且是唯一标识文件


例如:优化dex文件时,会影响大小并更新校验和值,但签名保持不变,因为其中包含的数据仍然相同。正如你所看到的,它们都有不同的用途;使用
签名
可以始终跟踪原始的dex文件,使用
校验和
我们可以知道文件的内容是否与其大小相关,是否优化/未优化

您能给我一个例子或情况吗,一个dex通过校验和检查被标记为无效,但仍然通过签名检查集成?