我正在寻找iOS 7和iOS 8的UDID替代品,查看了MobileGestalt.h,发现了“DieID”。这是可读的,无需越狱,并且在两个iOS版本上均如此。重新安装应用程序后,该号码是相同的。所以我认为它很独特?

我的问题是“DieID”对于所有设备都是唯一的吗? “DieID”到底是什么,我什么也找不到。

谢谢大卫

最佳答案

DieID是基带芯片标识符,在UDID过程和SHSH签名过程(ECID / UniqueChipID)中都使用。

它可能仅对每个芯片制造商都是唯一的,并且显然具有较小的名称空间。 “UDID”实际上是序列号,ECID(DieID),wifi和连接的蓝牙mac地址的SHA1十六进制。

ecid = 17592186044415 #=> 0xFFFFFFFFFFF [DieID/UniqueChipID]
serial = "ZZZZZZZZZZZZ"
bluetooth = "ff:ff:ff:ff:ff:ff"
wifi = "ff:ff:ff:ff:ff:ff"

udid = Digest::SHA1.hexdigest(serial + ecid.to_s + wifi + bluetooth)
#=> 26063df5d4741b7fe668d79e0263a1bc01af3e0a

因此,它对设备标识的用处不大,因为它没有那么大的名称空间并且需要使用 private API。但在某些企业环境中可能很有用,例如,客户在MDM注册过程中处于秘密状态。

09-11 19:54