iOS and WP8 support Unique Identifier per Vendor or Publisher according to this and that. Android unfortunately does not support that feature.

Is there anybody knows the mechanics of that mechanism?

Has Apple/Microsoft revealed the identifier generator algorithm to the public?

Assume there are two apps (a1 and a2) from different vendors. If the app a1 gets its unique identifier by calling the API (for ex. [UIDevice identifierForVendor]) then on a jailbroken device, is it possible for the app a2 to know what the unique identifier for a1 is?

It sounds like the mentioned OS(s) store the Unique Identifier somewhere on the device and therefore it is vulnerable on jail-broken devices.

For instance, on a jail-broken device, a2 may search a1 private directory and find the location where device_unique_identifier for a1 persisted and get it. Is it possible?

I should tell you that I have read the documentation and run enough search. So please do not refer me to the original documentation and instead provide me with technical details if possible.

1 Answer 1


On jailbroken devices this is definitely possible. The simplest way (and not involving any reverse engineering) would be for application a2 simply spoof a1's BundleID.

As for the generation algorithm, I believe that on iOS that identifier is simply a random NSUUID that is generated when first app from given vendor is installed (and removed when last app from this vendor is uninstalled).

Cannot tell anything about WP though.

  • Thanks for the reply, I'll give it a try and provide you with feedback. Thanks again
    – anonim
    Apr 4, 2014 at 11:01

Not the answer you're looking for? Browse other questions tagged .