简体   繁体   中英

UDID replacement for iOS 8 and iOS 7

I am searching for a UDID replacement for both iOS 7 and iOS 8, I took a look at MobileGestalt.h and I found the "DieID". This is readable without a jailbreak and on both iOS versions. The number is the same after I reinstalled the app. So I think its quite unique?

My question is is the "DieID" unique for all devices? And what exactly is the "DieID", I was not able to find anything about it.

Thanks, David

The DieID is the baseband chip identifier and used in both the UDID process and the SHSH signing process (ECID / UniqueChipID).

It's likely only unique per chip manufacturer and obviously has a smaller namespace. The "UDID" is actually the SHA1 hexdigest of the serial number, ECID (DieID), wifi, and bluetooth mac addresses concatenated.

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

Because of this, it's not as useful for device identification as it doesn't have as large of a namespace and requires use of private APIs; but it can be useful in certain enterprise contexts—eg, a client held secret in an MDM enrollment process.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM