适用于iOS 8和iOS 7的UDID替换

时间:2014-08-22 11:08:29

标签: ios objective-c uniqueidentifier

我正在为iOS 7和iOS 8搜索UDID替代品,我看了一下MobileGestalt.h并找到了“DieID”。这是可读的,没有越狱和两个iOS版本。重新安装应用程序后,数字是相同的。所以我认为它非常独特?

我的问题是所有设备都有“DieID”吗?究竟什么是“DieID”,我无法找到任何关于它的东西。

谢谢大卫

1 个答案:

答案 0 :(得分:4)

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

它可能只是每个芯片制造商唯一的,显然有一个较小的命名空间。 " UDID"实际上是连接序列号,ECID(DieID),wifi和蓝牙mac地址的SHA1 hexdigest。

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

正因为如此,它对设备识别没有用,因为它不具有大的命名空间并且需要使用私有API;但它在某些企业环境中很有用 - 例如,客户在MDM注册过程中保密。