在iOS 7中获取UDID的3种可能方法

恩,可能是的!有没有妙招破?

妙招就是通过漏洞绕过沙盒

怎么绕?求高人指点啊:biggrin:

lockdown在最新的iOS7.1.2上面都获取到的是空的,libMobileGestalt.dylib下获取UDID也是空的,不过获取到了一个InverseDeviceID,通过dlopen的形式也是获取不到UDID的,即便越狱了也获取不到,感觉不仅仅只是沙盒上做的手脚。

亲测,7.1.2下,写一个CommandLineTools来调用MGCopyAnswer是可以获取到UDID的

我是直接写了一个带界面的app,在app里面去调用MGCopyAnswer,然后获取到的是nil

你这个App是位于还是下?

/var/mobile/Applications 下的

AppStore App对UDID的访问会被沙盒拦下来

已经发现了,thanks。会被拦截的还有WifiAddress和BluetoothAddress

: libMobileGestalt MobileGestalt.c:528: no access to WifiAddress (see rdar://problem/11744455)
: libMobileGestalt MobileGestalt.c:528: no access to UniqueDeviceID (see rdar://problem/11744455)
: libMobileGestalt MobileGestalt.c:528: no access to BluetoothAddress (see rdar://problem/11744455)

http://www.iphonedevwiki.net/index.php/Updating_extensions_for_iOS_7#Accessing_the_device.27s_UDID

For App Store apps, it appears you can still retrieve the UDID from MobileGestalt with a private entitlement:
com.apple.private.MobileGestalt.AllowedProtectedKeys

UniqueDeviceID

亲测通过

但是有这个entitlement的话,好像无法通过AppStore的审核

请问下是在安装在/var/mobile/Application下的app测试的吗?

狗神V5:victory::victory::victory:

获取UDID本身就已经不合规了

按照这种方法,我在模拟器里面可以获取到一串UDID ,但是运行到真机器上就获取不到了。 iPhones4s iOS7.1. 这是怎么回事呢。

请问一下您是怎么发现被拦下来了的。 我新手,对一些东西都不熟。 谢谢啊先。

您好,请问一下这个东西要怎么加进Xcode呢。 我在.entitlements 文件里面加了以后,运行XCode提示我.entitlements 无效。 希望获得您的帮助。谢谢。

同问,越狱不需要这个entitlements也可以获取,是不是加了这个entitlements不越狱的手机也可以获取了呢?

那个已经安装cycript,可是提示这个错误,求大神指点
xiaominde-iPad:/ root# cycript -p Weibo
unable to find process `Weibo’ using ps